Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как показать последние 4 символа в строке, а остальные заменять?

Лучший ответ:
Может, без регулярок?
const mask = (s) => '*'.repeat(s.length - 4) + s.substr(-4);

mask('1234567890123456') // "************3456"

Худший ответ:
str.replace(str.slice(0, -4), 'текст на который хотите заменить');
Вопрос: Как себя направлять в обучении, почему через 4 года опыта работы я все еще плохо программирую?

Лучший ответ:
Нет кода нет мнения. Выложите на гитхаб или попросите отревьювить их. 
Это наиболее правильная практика.

Худший ответ:
Простые вещи помогают взрывному росту: job-hopping и pet-projects. Если вы 4 года на одном месте, с самого начала карьеры, то в этом и вся проблема. Нет драйвера для роста.
Вопрос: Как отключить эту проверку при просмотре паролей?

Лучший ответ:
Никак. Иначе какой-нибудь Васян, подойдя к разблокированному ПК, попробует посмотреть сохранённые пароли к Яндексу и xvideos, а он этого делать не должен. Представляете, что тогда будет? Так что Васян может гулять.

Худший ответ:
https://www.askcybersecurity.com/where-are-my-save...

Находите файл и открываете его в sqlite explorer такие дела.
Вопрос: Как перенаправить запросы статики через nginx?

Лучший ответ:
proxy_pass
Только вы делаете что-то странное. CDN обычно подключают как раз что бы разгрузить свой сервер, что бы клиенты ходили за статикой минуя ваш сервер.

Худший ответ:
Модуль proxy_pass
Вопрос: Как получить доступ к сайту клиента?

Лучший ответ:
Странный вопрос, вы первый раз что ли? Все зависит от инфраструктуры у клиента. Возможно у него есть гит, где лежит сборка, возможно у него тестовый сервер или он вам даст вносить правки прям на продакшене. В первом случае вам нужны доступы к репозиторию, в других доступ по ftp или ssh к серверу. Или доступ в админку хостинга, где вы сами сможете себе настроить доступы.

Худший ответ:
Если правите только контент сайта с админкой, то данные от админки (+ фтп на всякий)
Если правки только в коде, то обычно фтп достаточно
Если нужны какие то работы с доменом, с бд и т.д, то от хостинга (оттуда и фтп создать можно и т.д)
п.с - хостинг домена и самого сайта может быть у разных компаний
Вопрос: Можно ли сделать комп видимым с интернета не имея внешний IP на роутере?

Лучший ответ:
Сервис Ngrok.

Худший ответ:
купить дешёвый vps и подключаться через него
Вопрос: Как сделать из DSL модем-роутера, обычный роутер?

Лучший ответ:
Что-то непонятные движения.
Давайте так: оставим Sagecom, как есть, витую пару с инетом от него воткнём в WAN-порт TP-Link и сделаем его роутером, который будем раздавать WiFi. То есть у него будет свой DHCP, свой WiFi, свои клиенты по кабелю.

Худший ответ:
Интернет приходит по коксиалу.Не верю - сейчас коаксиал практически нигде не используется в сетях. Может вы про витую пару?Как сделать из DSL модем-роутера, обычный роутер?Никак. Разве что прошивку поменять, но это вряд-ли на таком железе.
Вопрос: Как запретить трафик между компьютерами, подключенными к разным роутерам?

Лучший ответ:
Если на втором роутере NAT работает, то из нулевой сети в первую и так нет доступа (проверьте).
Чтобы обрубить доступ из первой в нулевую, нужно добавить в firewall на втором роутере пару правил:
1. разрешить исходящие из первой сети (192.168.1.0/24) на первый роутер (192.168.0.1);
2. запретить исходящие из первой сети (192.168.1.0/24) в нулевую сеть (192.168.0.0/24).
Важен порядок правил, сначала первое, затем второе.
Конкретная реализация зависит от модели роутера (а модель в вопросе не указана). Но большинство роутеров на такие простые действия способны.

Худший ответ:
Создать вырожденную подсеть между двумя роутерами и жёстко прописать внешний шлюз на неё для *.*.1.1 на внутреннем роутере.
Вопрос: Существует ли комплексная умная система управления водяным отоплением?

Лучший ответ:
Имел дело с двумя системами УД. Принцип построения одинаков. Ставим на все радиаторы и на все контуры тёплого пола электроклапан(400р на али или 1000р в крупных строительных). Ставим в помещениях, где хотим поддерживать\регулировать температуру воздуха термодатчики(ds18b20). В ПО выставляем  нужную температуру, контроллер открывая и закрывая клапан на радиаторе поддерживает её. Теплый пол по расписанию(ночью и в рабочее время выключен) с часовым зазором дабы учесть инерцию. Когда радиатор перекрыт теплоноситель идёт через байпас. Поэтому в одной комнате может быть ниже температура, чем в следующей. Когда все контуры закрыты, теплоноситель идёт по маленькому контуру и обратка в котёл возвращается не остывшей. Котёл это видит и перестаёт греть. ПО использовал loxone в одном случае - умеет из коробки поддерживать температуру и расписания. И openhab во втором - сам пишешь сценарии на поддержание температуры(переключать клапаны нужно заранее, чтобы учесть гистерезис) и для расписаний. С голосовыми помощниками все умеют работать нативно или через костыли.

Худший ответ:
Таких решений нет за абсурдностью идеи.
В принципе - это возможно: на каждый узел обогрева (радиатор, теплый пол) ставиться термокран (с блютусом/вайфаем, не знаю есть ли такие; с ручным выставлением температуры есть, не проблема), и из центрального терминала (Алиса, приложенька) наруливается нужная температура. Но так как узлы соеденены последовательно, то не получится нарулить радиатор на 30 градусов, если перед ним будет теплый пол с 20 градусами.
Вопрос: Есть хорошие книги с HTML CSS с нуля до гуру и с правилами вёрстки?

Лучший ответ:
по верстке - актуальных книг нет, только опыт, гугл, доки, ну максимум 'новая большальшая книга css'

По остальному всё верно, по питону ещё многие рекомендуют 'укус питона', я не чи́тал, по джанге, то, что ты привел - ок, другого дельного и не найдешь, js - туда же

Худший ответ:
По питону, тот же "Укус Питона" не даст каких то особо продвинутых знаний, но даст основы, со знанием которых будет намного проще начинать более серьёзную литературу и документацию.
Вопрос: Не устанавливается pip на Kali Linux,что делать?

Лучший ответ:
Репозитории протухли. Последуйте совету и запустите:sudo apt-get update
sudo apt install python3-pip --fix-missing

Худший ответ:
Ip Репозирория был внесен в чёрный список роскомнадзором, используйте  прокси для установки
Вопрос: Как стартануть OpenVPN соединение при старте винды автоматически?

Лучший ответ:
Program Files\OpenVPN\config\#README.txt
This directory or its subdirectories should contain OpenVPN
configuration files each having an extension of .ovpn

When OpenVPN is started as a service, a separate OpenVPN
process will be instantiated for each configuration file.

When OpenVPN GUI is started configs in this directory are added
to the list of available connections
Складываешь туда свои конфиги с ключами и прочими необходимыми файлами.
Выключаешь автозапуск службы "OpenVPNServiceInteractive"
Включаешь автозапуск службы "OpenVPNService"
"OpenVPN GUI" теперь не нужен.
Смотри, чтобы количество свободных tap/tun интерфейсов в системе было достаточно для установки всех соединений.

Худший ответ:
Был опыт - настраивал автостарт через службы, работало нормально.
Проверьте права доступа на файлы, каталоги. Включите логирование. Сервис стартует скорее всего с правами LocalSystem.
На сколько помню, там достаточно одну из служб перевести в автозапуск, остальные она сама запустит при необходимости. Название службы сейчас уже не вспомню.
Если в ручном режиме стартует нормально, то и автоматом то же должно.
Вопрос: Хорошо ли: функция возвращает несколько типов данных?

Лучший ответ:
Пyстой массив -это тоже данные, которые ничем не отличается от массива с элементами. В нем просто 0 элементов.
Если ваш массив использyется как коллекция однотипных элементов, то я бы использовал пyстой массив, даже если записей нет.
Если массив есть некая стрyктyра, то я бы возвращал null если элемент не найден или этот же массив если найден 
 Например полyчение одной строки из базы. $list->getFirst();
Вернет null если не сyществyет элемента

Худший ответ:
Какой интерфейс сделаете такой и будет, null это отсутствие данных, если язык php то вернуть можно и nullable даже со строгой типизацией, да и говорить о проектировании сложно, так как это может быть массив, а на самом деле мапа, которую лучше описать обьектом, и тогда null будет обоснован
Вопрос: Где можно почитать про аутентификацию и авторизацию в web приложениях?

Лучший ответ:
Всё подряд - это очень обширно и всё Вы даже и не прочитаете!
Зависит от решения конкретной задачи: аутентификация - это одно (там очень много!), шифрование - совсем другое, алгоритмы хеширования - это совсем другое направление.
Начните с простых терминов на википедии и дальше, переходите по ссылкам внутри статей.Начните с понимания разницы:АвторизацияАутентификация

Худший ответ:
Www-auth digest и basic. Это для начала
Вопрос: Правильная настройка домашнего веб-сервера?

Лучший ответ:
Продайте статический адрес обратно и арендуйте простецкую VPSку - получится дешевле, производительнее и надёжнее. Например.

Худший ответ:
vestacp
braynicp
ispconfig3
выбирай
Вопрос: На какой ОС практичнее поднять в Squid?

Лучший ответ:
Ту, в которой умеете работать и в которой у вас не возникает вопросов: как сделать "что-то", чтобы работало или как исправить ошибку. Ведь согласитесь, что было бы глупо поднимать сквид на RedHat если вы не знаете, как он работает?

Худший ответ:
Глобальный ответ - ту, которую лучше знаете. Я вот не знаю, какую ось вы знаете лучше, а вы знаете, какую ось вы лучше знаете?

pfSense  - это фряха с веб-мордой, и сквид там есть.
Вопрос: Как защитить от перезаписи данных? Например форму для редактирования открывают два пользователя, и одновременно меняют его?

Лучший ответ:
Как же вы пишете на Ларавеле, если, дав половину ответа на свой вопрос, не можете реализовать вторую половину?
Таблица, в которую пишется, кто и когда открыл данные на редактирование. При сохранении проверяется, тебе ли принадлежит текущая сессия - и удаляется, раз ты сохранил и закончил, либо получаешь отлуп, если сессия не твоя. При открытии - аналогичная проверка и отлуп, если сессия чужая и таймаут по ней не истек.

Худший ответ:
У вас два пути для решения этой проблемы
1. (по моему мнению правильный в большинстве случаев) вы средствами онлайн контроля за сессией (когда точность определения, когда пользователь ушел с формы занимает меньше секунды), обычно это достигается с помощью websocket (раньше использовали http rest longpooling), в интерфейсе определяете понятие - захват (либо по команде либо кто первый, обычно чтобы редактировать, в форму нужно войти в этом режиме, т.е. на странице долджно быть два режима - просмотр и редактирование) и освобождение формы (при сохранении или закрытии) и блокировать кнопки остальным пользователям или давать механизмы отъема прав на правку вплодь до чата или банально высвечивать номер телефона того клиента, который заблокировал форму.
Данные в форме, которые изменены но не сохранены можно сохранять в отдельном хранилище и в интерфейсе показывать другим цветом (если человек ушел с формы не сохранив или у него отобрали блокировку) в идеале чтобы показать - какие данные были, какие стали и какие хочет записать пользователь (выводить в выпадающем окошке при наведении) но такой реализации я не видел, обычно народ не заморачивается и тупо сбрасывает данные, даже не предупредив пользователя.
2. при нажатии сохранить идет проверка, было ли изменение данных с момента открытия формы, и если да - предупредить об этом, загрузить измененные данные и предложить пользователю поправить. Это реализовать проще, но нужно хорошо подумать над интерфейсом пользователя, особенно если такие коллизии подразумевают быть частыми, чтобы разработчиков потом операторы не пришли бить тапками, так как такое поведение будет раздражать. например дать возможность пользователю на форме ввести данные, которые он только что туда вводил, после того как они будут сброшены загруженными данными, в идеале 1 кликом или хотя бы показывать цветом отличающиеся данные.
Оба подхода имеют место быть и выбор зависит от собственно задачи и что и как часто будут вводить пользователи в таком режиме. Если такие коллизии исключительная редкость, то однозначно второй способ самый простой и логичный, если же коллизии - часть рабочего процесса, то лучше реализовать первый способ.
Вопрос: Софт управления учетной записью Windows?

Лучший ответ:
Политики безопасности + залоченный DNS-сервер, резолвящий только нужные сайты.

Худший ответ:
Запрет установки приложений - отобрать права администратора + SRP политики.
Доступ только к определенным сайтам - прокси сервер.
Вопрос: Что учить в IT, куда пойти в будущем?

Лучший ответ:
Как сказали выше, математике учат везде. Как таковой нормально специальности "програмист <чего-то>" ты не найдёшь. Поэтому нужно учить самому.

Самообразование - главный навык программиста.

Поставь себе цель - найти работу. Посмотри, что ждут от джунов на твоих вакансиях, учи это. Читай книги, статьи, документацию. Не забывай про английский, он очень важен, основная информация именно на нём, хотя сейчас очень много информации и на русском. Найди сообщество разработчиков в своём городе и пообщайся с ними там вживую. Они могут и помочь проверить твои знания, и направить в какую-нибудь сторону.

Худший ответ:
Книги пробовал читать?
Вопрос: Как можно проиндексировать локальные html файлы в базу данных?

Лучший ответ:
раз sphinxsearch.com/forum/view.html?id=3867
два https://github.com/Restream/reindexer
ну и так как предлагаешь - три,
в базу вбивай после strip tags  например, хотя думаю ложные срабатывания все равно будут

да, четыре - пять  - поисковики со спайдерами тоже есть, но там огород

Худший ответ:
Откройте питоном и дальше - парсите и сохраняйте куда хотите. Это самое простое.
Вопрос: Как создать текстовую онлайн игру?

Лучший ответ:
1. Обычный сайт. "Мультиплеер" подразумевается по умолчанию. Это голый html/js плюс что-то на сервере (например, php и mysql).
2. Обычный хостинг.
Без программирования, к сожалению, не получится. Даже типа конструкторы предполагают наличие логического мышления. А раз оно есть, то освоить программирование вполне возможно и упирается лишь в наличие времени, желания и терпения.
Кстати, "просто" создать хорошую игру не получится. Геймдев это очень сложная область. Прикиньте, сколько времени у вас это займёт, и смело умножайте на 10. А шанс, что игра-таки будет доведена до конца, не выше 10%.

Худший ответ:
текстовую мморпгЯ думаю это не очень сложные задачиКакой движок\конструктор мне лучше всего выбрать для поставленных задач (обязательно с поддержкой мультиплеера).хочу сделать эту маленькую игру для своих
ТС вообще не рубит фишку. Во первых игры не делают для своих, т.к. время - деньги. Твои друзья согласны купить игру хотя бы рублей за 500? И то, 20 человек это всего 10 тысяч рублей. Стоит ли ради таких денег программировать такую игру полгода? Я серьёзно. С такими вопросами как у ТС означает одно, он вообще далёк от программирования.
Во вторых, сейчас текстовую игру создать сложнее чем на Unity наклепать ещё одно инди. 
В третьих, в это играть не будут, эра текста ушла. Хоть какой-то дизайн, но должен быть. Человек животное такое, что ему приятно созерцать на труды свои в виде красивых пикселей, иначе игра быстро надоест.
Вопрос: Unpermitted parameter: :user?

Лучший ответ:
Вот так передаются permitted_paramsparams.require(:user).permit(:email, :password, :password_confirmation)Вот тут почитать можно

Худший ответ:
Привет! Посмотри в файле config/initializers/wrap_parameters.rb
ActiveSupport.on_load(:action_controller) do
  wrap_parameters format: [] # пустой массив для отключения оборачивания параметров.
endчитать здесь
Вопрос: Где учиться хакерству?

Лучший ответ:
Знаю Js, c#, PHP, python, что такое протоколы, как устроен интернет.

Не-а.

Худший ответ:
поиск в телеге поможет найти что ищешь, кулцхаер!
Вопрос: Играют ли роль ключевые слова в домене?

Лучший ответ:
На поиск нет, на пользователя да

Худший ответ:
Добрый день!
Вообще это уже немного «прошлый век». Раньше подобные домены имели преимущество по запросам, леммы которых входят в название сайта. Сейчас же поисковые системы ориентируются больше на релевантный контент. Но небольшая доля таких сайтов, все же осталась.
Например, возьмем запрос «продвижение сайта в топ 10» по региону Москва в Яндексе. В ТОП-10 есть 2 сайта, частично содержащие в своих доменах слова запроса -  v-top-10.ru и top10-studio.ru.
Т.е. некоторое преимущество в поиске у таких сайтов осталось, но лучше не надеяться сильно, что вам сильно повезет, если вы выберете подобный домен для себя. Лучше развивать сайт, делать его удобным для пользователей и публиковать интересный и полезный контент.
Вопрос: Алгоритм поиска кратчайшего пути через все вершины?

Лучший ответ:
Это NP-полная задача. При достаточном количестве мусорных баков эффективно и быстро решить её просто нельзя.
Важно понимать какое вам нужно решение: достаточно хорошее или оптимальное. Возможно, что для поиска оптимального решения вам просто не хватит ресурсов.
Оптимальный маршрут ищется перебором иногда с разными оптимизациями, которые, впрочем, не сильно помогут в произвольном случае.
Субоптимальные ищутся, к примеру, генетическими алгоритмами.

Эта задача называется задачей коммивояжера:
Задача коммивояжёра относится к числу трансвычислительных: уже при относительно небольшом числе городов (66 и более) она не может быть решена методом перебора вариантов никакими теоретически мыслимыми компьютерами за время, меньшее нескольких миллиардов лет.

Худший ответ:
Решение нашел (приближенное) с помощью двух подходов
1) Муравьиный алгоритм, вполне рабочее решение https://www.baeldungtest.com/java-ant-colony-optim...
2) Использовать Google OR-Tools https://developers.google.com/optimization/routing/tsp

Сначала удалось решить задачу способом 1 но сейчас в рабочем коде используем 2
Вопрос: Как соединить 2 компьютера из разных сетей?

Лучший ответ:
Это настраивается очень легко:
1. Все компы кидаем в общий l2 с общей l3 сетью на компах, и указываем нужным компам нужный шлюз. 
2. Настраиваем маршрутизацию между двумя вашими разными сетями на вашем шлюзе, очевидно что обе ваши сети также должны на него приходить. 
А можно и дальше городить огород и ставить доп сетевушки в компы и соединять их отдельным проводом да ещё и с отдельной сетью.

Худший ответ:
если есть вариант прокинуть ethernet провод, то поставить с двух сторон две сетевухи с статически прописанными адресами, не входящими в диапазоны обоих сетей (ip + mask). и обращаться по этим адресам.
Вопрос: Что вообще происходит с современным софтом?

Лучший ответ:
Вину всему развитие интернета и доступ к любой информации. Раньше все учились по книгам. Писали практически все с нуля, без использования +100500 прослоек. Оптимизировали. Но это занимало время. Сейчас можно вбить в гугл "как сделать * на языке *" и получить ссылку на Stack Overflow. Скопировать без раздумий в свой проект и все. Или найти библиотеку для своего проекта, которая решает вашу задачу и которая дает вам возможность написать программу за 1-5 минут. Только никто не учитывает, что данная библиотека использует зависимости других десятков библиотек, а те в свою очередь тоже используют в своих зависимостях... ну вы поняли. В итоге получается Египетская пирамида. 

Было у меня лет 10 назад приложение facebook на кнопочном телефоне. Занимало оно примерно 100 КБ! Сейчас оно занимает(на android) пол гига. Только ничего нового туда не добавили. (А нет, оказывается добавили, тоесть удалили сообщения).

Также есть сейчас electron, который суют везде где не надо. Мало того, что нужно скачивать и хранить на hdd более 100 МБ, так и ещё тормозит не по-детски.

Также в программы суют "красивый фантастический" интерфейс, которому нужно 32 ГБ оперативной памяти. Но это программы для лохов или дебилов. Действительно полезные программы имеют стандартный интерфейс.

Microsoft тоже по наклонной пошла(начиная с Windows 8). Практически, ничего нового не добавили(с времен Windows 7 или XP) - а размер вырос практически в 10 раз! А нет, добавили - Microsoft Malware и Microsoft Telemetry.

Худший ответ:
> навязыванием подписок
Иначе заработать очень сложно. Особенно, если для разработки нужно много дорогих специалистов, а программа нацелена не на широкого потребителя. Обновления же надо пилить.

> стали тормозными, прожорливыми, неповоротливыми, с лагающими анимациями
Ну тут разные приложения бывают. Может быть новых функций уже гора + ещё для привлечения новых пользователей нужно украшательства добавлять.
Другой вариант - Electron, чисто для того чтобы сэкономить на тех самых дорогих специалистах.
> То же самое касается и сайтов, когда какой-то лендинг тормозит
Украшательства и нехватка ресурсов, чтобы сделать эти украшательства быстрыми (если это вообще возможно)

>  В Cyberpunk 2077 играли?
Играл. Хорошая игра, мне понравилось.

> Я пытался, и иного определения кроме как "лагалище" этому дать невозможно.
Вполне возможно, вашему компьютеру иного определения как "устаревшее ведро" дать невозможно.
Перед покупкой надо смотреть на системные требования (на рекомендованные, а не минимальные)

> Что вообще происходит? С чем связано?
Рыночек)
Ну и накопление функций
Вопрос: Что не так с настройками сети?

Лучший ответ:
У меня такое было из-за кривого ДНС сервера, попробуйте принудительно указать днсы гугла или яндекса, а не использовать дефолтные от провайдера.

Худший ответ:
НО ...
Если в настройках карты выставить ограничение - 100 МБ то эти проблемы уходят все страницы отвечают достаточно быстро... может говорить о плохом контакте или неправильном обжиме патчкорда.
Вопрос: Как hr-ы или кадровики относятся к отсутствию записи работы в трудовой?

Лучший ответ:
Трудовая никого не интересует. Интересуют знания и опыт

Худший ответ:
лично у меня в резюме стоит опыт конторы, который не подтвержден документально. и где-то в тексте ещё упоминается отсутствие документального оформления того самого опыта.
HR ту приписку вряд ли прочитает, а по стандартной форме hh все красиво выглядит. ну и название конторы не соответствует юридическому, так что придраться не получится при всем желании.
а на собеседовании будут скорее слушать, что там в общих чертах был за проект и как вы о нем рассказываете.
Вопрос: Как выполнять бесконечный цикл, чтобы он не блокировал работу всей программы?

Лучший ответ:
Я делал похожего бота для этого сайта(для получения новых вопросов по моим тегам). Алгоритм работы был примерно таким:
1) Создал функцию, которая загружает и парсит главную страницу этого сайта. Вытаскивает из нее все ссылки на новые вопросы. Функция возвращает список ссылок.
2) В цикле for беру каждую ссылку, и проверяю - есть ли она в файле(можно БД прикрутить). Если данной ссылки нет - значит вопрос новый. Добавляю ссылку в файл, и отправляю её себе в телеграм. Если ссылка в файле есть, значит этот вопрос уже отправлялся мне в телеграм, и, следовательно, - ничего не делаю
3) В боте делал цикл с задержкой 5 минут, и в цикле вызывал функцию-парсер.


Худший ответ:
Создай поток
Вопрос: Как грамотнее оформить данные в базе данных?

Лучший ответ:
Только отдельные таблицы, а ответы с вопросами можно получить одним запросом (было бы желание):
create table questions (
  id int primary key auto_increment,
  question varchar(255)
);

create table question_options (
  id int primary key auto_increment,
  question_id int,
  answer varchar(255)
);

select 
	q.question,
	json_arrayagg(answer) answers
from questions q
join question_options qo on qo.question_id = q.id
group by q.id, q.question
;

Результат:
+=============+============================+
| question    | answers                    |
+=============+============================+
| Question 1? | ["Answer 1?", "Answer 2?"] |
+-------------+----------------------------+
| Question 2? | ["Answer 3?", "Answer 4?"] |
+-------------+----------------------------+

Проверить SQL запрос

Худший ответ:
Лучше отдельную таблицу