Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как реализовать такое нижнее подчеркивание?

Лучший ответ:
Градиент в background плюс анимация background-size. Видно же всё прекрасно на сайте:


Худший ответ:
Зачем отключать свойства? Это ведь эффект при hover-е. Так откройте devTools, выберите интересующий вас элемент и посмотрите на его стили, далее нажмите правой кнопкой мыши на него и в контекстном меню выберите Force state -> Hover и снова смотрите стили. 
На сайте из вашего вопроса сделано так:
snippet
Вопрос: Что дает сертификат уровня LPIC-1?

Лучший ответ:
У меня был CCNA, сдавал в 2013, уже протух. Где пригодился? При подачи резюме выделялся из кучи других соискателей. Подумайте сами: руководителю в день на стол ложится 10 резюме, к концу недели их 50. Кто получит приоритет?
Ко мне на собеседование приходил человек с сертификатом CCNP security. Думали - все,  наш пассажир. По факту пшик, не смог даже сеть на подсети побить. Очень разочаровал.
С другой стороны в последнее время в резюме писал «знание сетей на уровне CCNP+», собеседующему достаточно пары вопросов, чтобы понять реальные знания.
Высший в иерархии сертификат нужен при устройстве в 4омпанию, которая занимается тендерами. В квалификационных требованиях часто есть пункты «наличие в штате персонала с таким-то сертификатом».
Итог: сертификат помогает выделиться из толпы, но программе надо соответствовать.

Худший ответ:
Для работы помощником сисадмина - достаточно.
Для работы сисадмином - зависит от инфраструктуры, компании.

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

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

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

Лучший ответ:
В общем смысле эту идею очень часто исполдьзуют. 
https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B7%D...

Кроме того есть рабочие станции как пример
HP Z 640 z840
там процессор и память вынесены на отдельные модули
Кроме того есть JETSON NANO 2 ГБ
и подобные штуки

Худший ответ:
Мммм, не понял , Вы про ризеры? Или про обьединительную пассивку? Задача какова?

Есть ризеры - это такие пассивные переходники. Они нужны, если в мать нужно вставить карту, но корпус не позволяет это сделать или нет нужного разьема или еще чего. У меня в сервак например - корпус 1U, RAID-контроллер не поставить. Стоит ризер, в котором стоит RAID-контроллер параллельно матери.

Есть обьединительная пассивка - типа упрощенной матери, в которой дофига разьемов - в один из которых вставляется полноценная мать в промышленном исполнении - в остальные - разная периферия. Такое исполнение характерно для промышленных компов.

Да и вообще много чего есть...
Вопрос: Как заменить определенные строки?

Лучший ответ:
Для начала - это комментарий, зачем его менять?

Во-вторых воспользуйтесь, например, sed

sed -i 's/чтоменять/на что менять/g' filename

P.S. Чтобы заменить весь блок, можно указать разделитель null и написать регексп, который захватит весь блок, например
sed -zi 's/# secureboot\nservice.*\n.*class core\n.*oneshot\n.*seclabel.*/# secureboot off/g' FILENAME

Худший ответ:
Для начала - это комментарий, зачем его менять?

Во-вторых воспользуйтесь, например, sed

sed -i 's/чтоменять/на что менять/g' filename

P.S. Чтобы заменить весь блок, можно указать разделитель null и написать регексп, который захватит весь блок, например
sed -zi 's/# secureboot\nservice.*\n.*class core\n.*oneshot\n.*seclabel.*/# secureboot off/g' FILENAME
Вопрос: Работа с классами?

Лучший ответ:
Класс является абстракцией над предметной областью. Описанием какой-либо сущности. Ключевое слово - описанием. Или шаблоном, если хотите, трафаретом, спецификацией и т.п. Оператор new по этому описанию создаёт сущность - объект, с которым вы уже можете взаимодействовать.

Это если совсем по-детски объяснять.

Худший ответ:
Оператор new вызывает конструктов класса. Во вторых без new у тебя будет ошибка.
Вопрос: Структура данных в Elasticsearch?

Лучший ответ:
Эластик не хранит файлы, у него есть индексы!  В индексах он хранит поисковые термы. По запросу GET он производит поиск термов в индексах и то, что нашёл, выдаёт в виде json.
Теперь, чтобы что-то положить в эластик, нам нужно это проиндексировать, привязать метаинформацию, а уж сам эластик это разобьёт на термы и положит в индексы.
Другими словами, эластик не хранит исходную информацию (ну или почти не хранит), и для того, чтобы иметь доступ к оригиналу, нужно отдельно эту информацию эластику передать и в ответ на запрос, получить.

Худший ответ:
Эластик не хранит файлы, у него есть индексы!  В индексах он хранит поисковые термы. По запросу GET он производит поиск термов в индексах и то, что нашёл, выдаёт в виде json.
Теперь, чтобы что-то положить в эластик, нам нужно это проиндексировать, привязать метаинформацию, а уж сам эластик это разобьёт на термы и положит в индексы.
Другими словами, эластик не хранит исходную информацию (ну или почти не хранит), и для того, чтобы иметь доступ к оригиналу, нужно отдельно эту информацию эластику передать и в ответ на запрос, получить.
Вопрос: Мне нужна версия python, какая?

Лучший ответ:

Открываете pypi  (сайт с описанием библиотек для python) 
ищите-там необходимые библиотеки
Смотрите версию в колонке "Классификаторы" (в некоторых случаях доступные версии дублируются в специальной плашке в начале "описания")
Выбираете самую высокую из тех, с которой работают все.


Худший ответ:
Зачем угадывать. Зайдите на страницы этих библиотек в интернете и узнайте минимальную версию Питона в описании.
Вопрос: Будет ли видеть Яндекс и Google ключевые поисковые запросы если они скрыты?

Лучший ответ:
Плохая идея https://developers.google.com/search/docs/advanced...
Почитайте все методы черного сео wezom.com.ua/blog/chto-takoe-black-seo, а то может ещё что-то придет в голову )

Худший ответ:
Оно Вам надо?
Вопрос: Пишут ли в компаниях коммиты в git на русском?

Лучший ответ:
ИМХО, в этом случае лучше плохой английский, чем хороший русский.

UPD: вот представь сам - смотришь ты гит соискателя, и там коммент "сдес я делаль пузырек сортировка". Плохо? ну, но фонтан, конечно, но гораздо лучше абсолютно грамотного комментария на монгольском "бзых дащщь бызынг клангмы".

Вот точно так же твоему "потенциальному работодателю" из-за бугра будут смотреться твои комменты на русском :-)

Худший ответ:
По опыту работы со старыми репозиториями могу сказать, что главное это чтобы коммиты были понятными, так как сообщения "обновил код" и "update code" одинаково плохие.

В пет-проекте для потенциального работодателя я бы использовал английский язык - это расширяет круг возможных работодателей и дает им некое минимальное представление об уровне английского соискателя.

P. S. На данный момент мы в команде используем соглашение Conventional Commits и в рамках этого перешли на англоязычные коммиты. Мотивация перехода на английский - развитие команды. Предполагаем, что если разработчики привыкнут писать коммиты на английском, то им будет проще в дальнейшем и они повышают этим свою ценность как разработчика (хоть немного).
Вопрос: Архитектура компьютера для новичков?

Лучший ответ:
Обучение и не должно быть удобным. Если мозг не напрягается, то и не развивается.

Худший ответ:
https://t.me/physics_lib тут поишите
Вопрос: Почему поток не останавливается?

Лучший ответ:
Тут есть две проблемы.

Первая очевидная проблема в том, что main поток на первой же итерации впадает в сон на методе wait(), а в программе больше нет потоков, которые могли бы вызвать notify() и разбудить main. Поэтому main бесконечно ждёт и не может остановить liche и sude.

Вторая совсем неочевидная в том, что синхронизация некорректно используется. У вас синхронизируется только запись в переменную isRun. Чтение этой переменной так же должно быть синхронизировано. Иначе это приведет к странным неуловимым багам.

Худший ответ:
Тут есть две проблемы.

Первая очевидная проблема в том, что main поток на первой же итерации впадает в сон на методе wait(), а в программе больше нет потоков, которые могли бы вызвать notify() и разбудить main. Поэтому main бесконечно ждёт и не может остановить liche и sude.

Вторая совсем неочевидная в том, что синхронизация некорректно используется. У вас синхронизируется только запись в переменную isRun. Чтение этой переменной так же должно быть синхронизировано. Иначе это приведет к странным неуловимым багам.
Вопрос: Существуют ли в opensource-проекты с хорошей архитектурой?

Лучший ответ:
SOLID может на каком-то этапе противоречить например KISS. Например вы, как старший разработчик можете видеть "вперед" и прогнозировать потребность бизнеса в расширении какого-то функционала. И будете закладывать Open/Closed и прочие философии. А разработчик уровня Junior который неделю назад пришел на проект - этого не знает и будет писать "как чукча". Тоесть буквально то что надо сделать - тои напишет. И между вами может возникнуть спор как раз на тему SOLID против KISS. Но вы можете ошибаться в своём прогнозе потребности бизнеса. Или бизнес может передумать. В этом случае правда оказалась на стороне святой простоты (Santa simplicitas).

Как вы понимаете такие антагонизмы не могут быть удовлетворены аж никогда. Поэтому вы никогда не найдете проекты которые удовлетворяют ВСЕМ философиям которые перечислены в списке одновременно.

Худший ответ:
Книга Александра Гранина "Функциональная архитектура"
Вопрос: Насколько хорошая практика передавать в метод имя класса, который его вызывает?

Лучший ответ:
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
С. Макконнелл

Первый вариант понятен. Вы поиском сможете найти откуда каждый метод вызывается. Имя метода четко указывает что он делает.

Второй вариант - непонятен. Во-первых, имя метода ни о чем не говорит. Чтобы понять что он делает - придется читать сам метод. Во-вторых при поиске мест вызова нужно будет постоянно проверять контекст - что за параметр передан в этот метод? А если он будет вызываться из класса-наследника одного из контроллеров? А если будут использовать трейты? А если код будет вынесен в делегат? Очень много сложностей для решения настолько простой задачи.

Худший ответ:
Проблемы которые вы можете получить используя второй вариант описал Михаил 
Предложил бы реализовать второй вариант таким способом:
messages:
to | from | date | is_read
а в модельку добавить метод:
makeARead(): void;
в конструктор модельки можно передать id сообщения. 
тогда если использовать ваш код то можно сделать так:
$message = new Message ($messageID)
$message->makeARead();
а создавать сообщение так:
$messages->addMessage(From, To);
если нужно сделать список сообщений прочитанными сделайте декоратор для $messages, например:
$messages = new MakedARead(
   new Messages(
      $conditionOfMessages
   )
)
return $messages->list(); //Здесь в цикле делаем все сообщения прочитанными.
Плюсы такого подхода: можно добавлять функционал на лету, не изменяя старый код, а также можно соответствовать принципам SOLID
Можно, конечно как предложено в первом ответе,  вполне себе будет работать, и тут нет ничего плохого.
Вопрос: Какие есть соцсети с русским языком?

Лучший ответ:
Их нет.
Разрабатывайте свой.

Если хотите создать конкурента ВК или Фейсбука - лучше подумайте хорошенько ещё раз.
Если делаете корпоративную соцсеть для внутреннего пользования - 99% фич ВК просто не нужны и даже излишни  - зато могут быть полезны другие фичи (например гибкая настройка уведомлений и календари)

Худший ответ:
Никаких.

Бесплатный продукт - это либо adware, либо "бесплатный или платный", либо толстая контора с донатами (типа самбы) либо псих-одиночка-разраб (или небольшая команда спаянная идеей "однажды мы зохаваем мир". Ну то есть на самом деле ничего бесплатного не бывает - только просрочка на помойке.
Вопрос: Как раздать интернет с одного роутера в три подсети?

Лучший ответ:
1. В чем сложность? заведи всех в 1 подсеть
2. либо купи роутер который умеет создавать несколько подсетей, на каждый LAN порт, например микротик или кинетик
3. поставь "основной" роутер, дальше каждый воткни от него в WAN порт - получишь 3 разные подсети

и кстати - vlan, если что)
правильный вариант - 2 )

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

Лучший ответ:
Это попробуйте:



Худший ответ:
Интересно, что на ваш вопрос всë ещë никто не ответил.
Вопрос: На каком CMS лучше делать проекты?

Лучший ответ:
Берите joomla, вышла новая ветка 4.х как для разработчика много "вкусного",  в феврале 4.1 зарелизится появятся ещё новые возможности.
Вот дайджест за пол года https://habr.com/ru/post/592461/
Присоединяйтесь к сообществу в телеграм общее https://t.me/joomlaru
Чат именно для разработчиков https://t.me/projoomla с вопросами возникающими поможем и решениями программными поделимся!)

Худший ответ:
Для крупного интернет магазина - Bitrix.
Для малого и частного бизнеса - Wordpress и Opencart.
Вообще в последнее время мой выбор остается за Wordpress(практический для любого проекта). Так как разработчиков и фрилансеров довольно таки много для этой CMS.  Т.е за доработку вашего сайта к примеру могут взяться больше людей, нежели чем за другие CMS.

По Joomla, Opencart и Bitrix - очень сложный процесс обновления. К примеру если вы захотите обновить версию php, или же ядро CMS, то скорее всего вы получите ошибку. В тоже время как на Wordpress вы можете обновить и сайт и плагины вместе.
Вопрос: Правда ли, что если в витой паре всего 4 провода, то более 100 мбит/с из нее не вытащить?

Лучший ответ:
На стандартном оборудовании это так.

Худший ответ:
Больше 100 не выйдет, надо перетягивать весь провод, если необходимо.
Провайдер может говорить хоть про 1000мб, вам такая скорость зачем? Нехватает 100 ? В любом случае эти 200-300 они гарантируют только от своего оборудования до вас, ну тоесть внутри их сети.  Сколько реально будет при скачивании в того же торрента - зависит от многих факторов
Вопрос: Как часто приходится обновлять знания и насколько широко развитие?

Лучший ответ:
Я трачу на изучение чего-то нового больше, чем 2-3 часа в день после работы, потому что мне все интересно, не только в сфере моей специальности, но и вокруг, это такой стиль жизни. Большинство моих друзей и коллег тоже тратят на самообразование больше 2-3 часов в день. Думаю, тут причина и следствие подменены. Это не для работы программистом нужно постоянно заниматься самообучением, а просто люди, которым нравится изучать новое, часто становятся успешными программистами.

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

Лучший ответ:
1. У тебя есть диск с произвольной структурой.
Ты берёшь ещё 1 такой же диск и копируешь всё 1-в-1 не заботясь о том, что именно там за данные.
В результате получаешь точную копию носителя.

2. У тебя есть диск с произвольной структурой. Ты при помощи софта создаёшь образ этого диска и сохраняешь как файл на другом диске.

В результате получаешь образ носителя, который потом можно записать на новый носитель как в 1м варианте, или обработать потом, как в третьем.

3. У тебя есть диск с файловой системой.
Ты копируешь с него файлы и сохраняешь.
В результате у тебя есть копии файлов, но не структуры диска.

Худший ответ:
1) (+) дубликат носителя можно увезти в другое место и положить в сейф, тогда теоретически спасаем данные от пожара, ограбления, атаки шифровальщика и многих других угроз;

2) (+) по сравнению с (1) удобно хранить (на носителе большого объёма) и передавать по сети, (-) но не обеспечивает физическую изоляцию от угроз;

3) (-) в некоторых случаях сохраняется не вся метаинформация, содержащаяся в файловой системе; при повреждении файловой системы могут быть скопированы не все файлы или файлы могут быть скопированы с повреждениями, не позволяющими дальнейшее восстановление информации с копии; (1) и (2) могут дать больше возможностей восстановления повреждённых данных; если на исходном носителе была скрытая информация (например, скрытый криптораздел\криптоконтейнер), то она не будет скопирована; (+) однако, (3) позволяет в процессе копирования (и верификации) обнаружить факт повреждения файловой системы, чего не позволяют (1) и (2).
Вопрос: Какие есть способы организовать «общение» android-приложения с сервером?

Лучший ответ:
json в теле post, и в ответе get. Не используй HttpUrlConnection, бери Retrofit+OkHttp + какой-нибудь из сериализаторов(Moshi, Gson, Jackson).

Худший ответ:
Отправлять джейсоны через POST - норм. Большая часть, наверное, так и делает.
Еще можно дедовский, проверенный SOAP использовать, или молодежные, стильные вэбсокеты.
Вопрос: Почему 192.168.1.0/23 и 192.168.0.0/23 одно и то же?

Лучший ответ:
Вы просто не понимаете смысл короткой записи маски.
/23 означает, что первые 23 бита маски равны единице, а последние 32-23 = 9 бит равны нулю.
Таким образом маска будет 11111111.11111111.11111110.00000000 = 255.255.254.0
Теперь разложим побитно ваши адреса:
Маска:   11111111.11111111.11111110.00000000 = 255.255.254.0
Адрес 1: 11000000.10101000.00000000.00000000 = 192.168.0.0
Адрес 2: 11000000.10101000.00000001.00000000 = 192.168.1.0Чтобы преобразовать эти адреса в сети надо выполнить побитовый логический AND адреса с маской. Получим
192.168.0.0 & 255.255.254.0 = 192.168.0.0
192.168.1.0 & 255.255.254.0 = 192.168.0.0Таким образом, оба адреса входят в одну сеть размера /23.
Правильное обозначение этой сети 192.168.0.0/23.

Худший ответ:
Вспоминаем двоичную операцию AND, которая выполняется над адресом и маской, чтобы получить базовый адрес сети. Маска /23 это 11111111 11111111 11111110 00000000, для справки. А так как .1.х и .2.х различаются не только в тех битах, где в маске /23 нули, адреса оказываются в разных подсетях с этой маской.
Вопрос: Как сверстать такую форму?

Лучший ответ:
https://codepen.io/Veroni1337/pen/zYNpLrP

Может можно сделать это по изящнее, но я бы так сделал

Худший ответ:
В общем если не хотим такую порнушную вложенность а  красивое отображение то давайте уже жить в 21 веке и использовать grid который позволяет делать ВСЁ и поддерживается на ВСЕХ современных устройствах

snippet
Вопрос: Как можно сжать фингерпринт браузера для хранения в БД?

Лучший ответ:
MD5 же!

Худший ответ:
Загнать строку фингерпринта в base64. Проверить на разных браузерах, влезет ли она туда.
Вопрос: Нормальное ли состояние HDD по показаниям S.M.A.R.T.?

Лучший ответ:
Очень плохо если растет со временем. Если стоит на месте - может прожить достаточно долго. Особенно если причина ремапа - удары. Ну и естественно под критичные данные такой диск использовать не стоит.

Худший ответ:
Ну там же на русском написано плохое
Вопрос: Как упросить это if...else выражение?

Лучший ответ:
Перегрузка - самый оптимальный вариант.

Худший ответ:
Вообще тут напрашивается перегрузка для каждого T:
public void SetStrategy(Action<SomeOne> action) {
  _someOne = action;
}

public void SetStrategy(Action<SomeTwo> action) {
  _someTwo = action;
}
Но можно и так, если прям необходимо один метод (стоит задуматься, а действительно ли необходимо):
switch(executor) {
  case Action<SomeOne> one:
    _someOne = one;
    break;
  case Action<SomeTwo> two:
    _someTwo = b;
    break;
  default:
    throw new NotSupportedException($"{typeof(T).FullName} is not supprted");
}
Вопрос: Возможно ли отменить действие стороннего скрипта при клике?

Лучший ответ:
Если по какой-то причине пересоздать дом будет крайне проблемно (нужны другие эвенты на нём), то на нужный дом добавляешь:
.addEventListener(type, (event) => {
  event.stopPropagation();

  // code
}, true);

Худший ответ:
Пересоздай элементы DOM, удалив старые, но уже без настроек событий
Вопрос: Как лучше сделать анимацию волны?

Лучший ответ:
Можно сделать простой эффект на css
snippet
Можно более сложный на WebGl
snippet

Худший ответ:
Можно на канвасе попробовать
snippet
Вопрос: Отвал smd компонентов на процессоре?

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

Худший ответ:
На CPU практически ВСЕ элементы продублированы, а иногда и несколько раз, именно поэтому у проца столько контактных точек и прочей "мелочевки", так что скорее всего никак не скажется на работе. Вообще всё самое важное в процессорах прикрыто крышкой или залито компаундом.
Вопрос: Как сделать слоты развертывания в IIS?

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

Все эти варианты хорошо автоматизируются.

Худший ответ:
я за вариант реверс-прокси
Вопрос: Как поправить ошибку FATAL: remaining connection slots are reserved for non-replication superuser connections?

Лучший ответ:
То есть, закрытие соединения на уровне кода..
Да? Это вам кто сказал?
Connections can be used as context managers. Note that a context wraps a transaction: if the context exits with success the transaction is committed, if it exits with an exception the transaction is rolled back. Note that the connection is not closed by the context and it can be used for several contexts
https://www.psycopg.org/docs/connection.html
Тем более у вас контекст на курсор.

SET SESSION idle_in_transaction_session_timeout = '2min';
Снова мимо. IDLE и IDLE IN TRANSACTION, очевидно, разные состояния.

Закрывайте соединения как положено.

Худший ответ:
Поставьте PgBouncer для переиспользования пула соединений
Вопрос: Как массово переименовать файлы по порядку?

Лучший ответ:
Переименование файлов в текущем каталоге будет выглядеть так:
setlocal enableextensions enabledelayedexpansion
set /a "num = 0"
for %%I in (*.jpg) do (
	set /a "num += 1"
	ren "%%~I" !num!.ren_jpg
)
ren *.ren_jpg *.jpg
endlocal

Худший ответ:
Целая тема посвящена как раз таким переименованиям: forum.oszone.net/thread-205893.html
Найдена минуты за две...
Вопрос: Можно ли в бесплатном периоде AWS переустановить OS?

Лучший ответ:
Не слетит, он на машиночасы распространяется, а не на конкретные машины.

Худший ответ:
можете даже 2 машины запустить с разными ОС, только машино-часов будет в примерно в 2 раза меньше. Но их можно (авто)выключать, если 100% uptime не нужен. Кроме того <бесплатно> не на все виды ОС распространяется - имей ввиду.