Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: У юзера комп-р включается с перебоями. не могу понять почему?

Лучший ответ:
Если вы хотите получить дельный совет по вопросу то стоит выложить конфиг ПК, какой БП, материнка, проц, память, HDD и пр. 
Если по сути, я бы начал с БП 99% вероятность.

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

Лучший ответ:
https://core.telegram.org/bots#deep-linking
64 символа максимум

https://t.me/_bot?start=my_data в событии бота будет выглядеть как сообщение
/start my_data.
my_data визуально скрыта от пользователя

Худший ответ:
Тут обсуждали
https://qna.habr.com/q/1135496
Вопрос: Как запустить второй таймер из первого и наоборот?

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

Худший ответ:
Вроде получилось. Но, предполагаю. Можно как-то оптимизировать.
https://jsfiddle.net/nLd6mzcu/2/
let firstTimer;
let secondTimer;
function firstTimer_func(){
  console.log('Сработал первый таймер.');
  i = Math.floor(Math.random() * 2);
  console.log(i);
  if(i==0){
    clearInterval(firstTimer);
    startSecondTimer();
  }
}
function secondTimer_func(){
  console.log('Сработал второй таймер.');
  i = Math.floor(Math.random() * 2);
  console.log(i);
  if(i==1){
    clearInterval(secondTimer);
    startFirstTimer();
  }
}
  
function startFirstTimer(){
	firstTimer=setInterval(firstTimer_func,5000); 
}

function startSecondTimer(){ 
	secondTimer=setInterval(secondTimer_func,5000); 
}

startFirstTimer();
Вопрос: Какие размеры данных можно хранить в базе данных?

Лучший ответ:
Дело не в размере данных, а в их структуре.
Если хранить данные в виде json, то запросы действительно начнут тупить очень быстро.
Если создать нормальную структуру и записывать каждый элемент данных в свою ячейку,  а json использовать только в исключительных случаях, для заведомо неструктурируемой информации, то даже при объемах в сто раз больше всё будет летать.

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

Формально поиск данных внутри текстовых полей с json реализован в mysql, индексы строятся, все работает, но запись а точнее обновление индексов будет заметно медленной, и это считается говнокодом...

Проблемы начинаются когда ты хочешь записать данные в базу!

Если сравнивать обслуживание - например полное восстановление базы данных из архивной копии, то работа с файлами на порядок (даже два, есть опыт, это действительно так) быстрее чем запись тех же самых данных в базу данных, даже если отключить все индексы на время восстановления. С другой стороны, когда у тебя миллиарды записей, файловая система тоже становится проблемой, особенно когда сами файлы мелкие.. накладные расходы на файловую систему становятся заметными.

Плюс с файлами можно что то сколхозить.

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

Лучший ответ:
А сказать - нехер лазить в ПК - не вариант? если нет - я бы бежал оттуда... )

RDP используйте. он блокирует сессию при удаленном доступе

Худший ответ:
Никак. Аппаратный доступ решает все.
Вопрос: MySQL как вставить запись если не существует в таблице?

Лучший ответ:
INSERT IGNORE имеет несколько недостатков:

 игнорирует все ошибки, а не только ошибку уникального индекса
 в любом случае увеличивает числовой индекс 


Поэтому следует выполнить проверку и вставку в 2 этапа:
<?php
$operator = "Borat";

// Check if operator exists
$stmt = $pdo->prepare(
    "SELECT id_operator FROM operators WHERE name_operator =:name_operator;"
);

$stmt->execute(["name_operator" => $operator]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);

// If not exists store new record
if (!$result) {
    $sth = $pdo->prepare(
        "INSERT INTO operators (name_operator) VALUES (:name_operator);"
    );

    $sth->execute(["name_operator" => $operator]);
    $id_operator = $pdo->lastInsertId();
} else {
    $id_operator = $result["id_operator"];
}

echo "id_operator: $id_operator";

Test PHP code online

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

Лучший ответ:
Все файлы небезопасны. Можно загрузить картинку, в которой будет исполеяемый код.
Вы должны настроить сервер (nginx/apache) так, чтобы в папке где будут загруженны клиентами файлы, в принципе нельзя было исполнять НИКАКИЕ файлы.

Худший ответ:
Все файлы безопасны. Можно загружать и .php и .apk, главное запретить исполнение и разрешать только скачивание. 
Отдельно конечно вопрос по содержимому, так как зальют вам вирус - за это сайт выкинет гугл или яндекс или попадёте в чёрные списки. Зальют картинку или видео с сомнительным содержимым, уже придёт роскомнадзор или хостер выкинет вас или регистратор заблокирует домен.
Вопрос: Какие недорогие mysql хостинги есть для тестирования проектов?

Лучший ответ:
Тестировать - дома на своей виртуалке.

google: lowendstock
cheap budget vps

Худший ответ:
Добрый день.
вы можете заказать хостинг на бесплатный 14 дневный тест здесь:
https://justhost.ru/thrifty-plan/
есть тариф эконом, с помегабайтной оплатой.
Есть поддержка новой версии mysql.
Вопрос: Как (где) просто сделать говорящую голову?

Лучший ответ:
Как альтернатива тому, что выше - набор инструментариев для vtuber`ов. Вот, например, обзор решений.

Худший ответ:
FaceRig. Кодить не придется, понадобится только вебка. Выбираете голову, зачитываете текст, записываете результат.
Вопрос: Как игнорировать файлы из git репозитория?

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

Худший ответ:
Настрой пути сохранения сгенерированных css файлов на вне git репозитария, например второй, создав его специально для production ready файлов. Т.е. именно он и должен использоваться для переноса итоговых файлов в продакшн. либо заведи специальный подкаталог внутри git, добавив его в .gitignore, а саму инсталляцию в продакшн проводи другими способами.

sass style.scss:../prod/style.css
Вопрос: Как ограничить копирование данных из сетевых папок, локального ПК, на флешки и внешние ресурсы?

Лучший ответ:
Много лет пользовали Стахановца
В нем можно запретить запись на внешние носители, отслеживает все копирования-удаления - даже к себе их копирует перед удалением. Можно запретить прикрепление файлов в вэб почте. Отлична развита система отслеживания подозрительных действий, слова "ловушки".
Правда (не знаю как в новых версиях) в нашей плохо работал "клавиатурный почерк" и распознавание речи
Два раза ловили инсайдеров конкурентов, раз сотрудницу, сливающую данные в налоговую.
Раз помог найти украденный ноутбук
Сколько раз наказывали за безделье на работе - не счесть (соцсети, ютуб)
4 года назад в компании сменился владелец. 
Приказал убрать стахановца, поменял мелкое руководство, изменил отношения в коллективе. 
Запретил штрафы - если сотрудник сделал текущую на сегодня работу - пусть делает что хочет.
Мы вспомнили что такое "премия" за хорошую работу.
Раз собрал сотрудников и сообщил кто конкретно в коллективе на нас "стучит" и предложил вне конфликты разбирать публично
Вот не поверите, но на работу ходим с удовольствием

Худший ответ:
Есть коробочное решение. Работа только на удаленных десктопах. Clean room. Ограниченный десктоп. Там только одно приложение. Это собственно клиент к удалённому. На десктопах демонтированы все usb слоты.
Вопрос: Существует ли конвертер 3,5мм на S/PDIF?

Лучший ответ:
Существует, например вот нашел
https://www.walmart.ca/en/ip/Analog-Digital-Audio-...

Искать по словам "toslink analog to digital"

но зачем? аудиовыход качественным 5.1 от этого не станет. А цифровой выход у вашего ПК и так будет, только через HDMI.

Худший ответ:
у меня есть рессивер Yamaha 559 , до него от ПК проведен оптический S/PDIF .. не хотелось доп провода тянуть! 
Хм, интересно! как я сам не углядел подобной приблуды ;)
Вопрос: С 1 октября вылезла ошибка NET::ERR_CERT_DATE_INVALID, при входе на некоторые сайты. Как исправить?

Лучший ответ:
Обновите корневые сертификаты

Худший ответ:
Возможно это произошло на сайтах, которые используют Let's Encrypt. 

В браузере Firefox аналогичная ситуация?
Вопрос: Какой линукс лучше поставить для фронтенд разработки на слабый ноутбук?

Лучший ответ:
Например зависать на полминуты при сохранении маленького текстового файла. Как это лечить я не понял
скорее всего диск под замену

гадания по скрину - оперативы добавьте так же
а так же swap-on-zram в дополнение к дисковому свопу на худой конец, жизнь облегчет
мысли про zramпо zram есть мнения что он может вызывать фейлы дополнительные, но вы все таки и не в продакшне. да и по опыту скажу - swap-on-zram+дисковый своп вполне стабильно себя ведет на десктопе при дефиците оперативы

посмотрите вывод dmesg, вангую что там ругонь на i/o девайсы, в частности /dev/sda*

UPD: линукс сам по себе - ядро, а дистриб - обвес ядра всякими ништяками.
На 4гб оперативы фронтовому разрабу нынче тяжко на любом дистрибе - это и окружение развернуть, и несколько браузеров разом, да еще и шторм жрет не слабо.
Если вам комфортно работать на федоре - работайте на федоре. с железом разберитесь лучше.

Худший ответ:
Драйвера на видео обнови/смени (кстати проверь без них, со штатным или вообще vesa для чистоты эксперимента) потому что это:
Через некоторое время хром стал падать каждые полчаса. Ну, думаю, наверно хром для линукса нестабильный, поставил хромиум - таже история. Вивальди поставил - тоже падает.выглядит как железная проблема

например проверь оперативную память, проверить температуру процессора, может высохла термопаста и перегрев и т.п.
Вопрос: Зачем так сделано?

Лучший ответ:
Не использовать rgba в css, заменяя цвет картинкой – это только если нужно поддерживать IE8 и ниже. Тут или реально нужна такая поддержка, или верстка очень старая, или верстальщик отстал в развитии.

Текст картинкой – те же причины, плюс еще одна. Экономия на подключении шрифта ради пары слов. Но тут опять же можно пересобрать шрифт, ставив в нем буквально несколько нужных символов. Вывод – картинкой было проще и быстрее, либо некомпетентность верстальщика.

Я бы даже ошибками это не назвал. Либо очень древнее легаси, либо некомпетентность исполнителя.

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

Лучший ответ:
Стоит спросит у тех, кто этот бэк разработал.

Худший ответ:
Виртуальная машина с линукс. Той же ubuntu
Далее несколько команд в консоли)
Вопрос: Почему сервер не доступен через браузер, а через CURL — ок?

Лучший ответ:
Скорее всего сервер висит на локалхосте 127.0.0.1, а нужно повесить на 0.0.0.0
Гляньте:
https://www.swoole.co.uk/

Худший ответ:
localhost:8000

И проверить, что в настройках браузера не указано подключаться через прокси сервер.
Вопрос: Как проверить флешку на «профпригодность»?

Лучший ответ:
Меняй карточку

Худший ответ:
Проверить как и любой диск записью и сравнением данных. 
По своему опыту скажу симптомы абсолютно те же были, мне надоело перезаписывать, купил самсунг специально для видеорегистраторов с повышенным ресурсом, с тех пор о флешке не вспоминаю
Вопрос: Почему не устанавливаются пакеты в Astra Linux 2.12? Не запускается версия 1.7?

Лучший ответ:
Переустановка результатов не дала.
И не могла дать. Бессмысленное совершенно действие.
В чем может бать проблема и что делать?
В том, что в этом дистрибутиве нет многих распространённых в других дистрибутивах пакетов (например, я обнаружил, что там нет bzip2).
Что можно сделать?
Варианты такие:

Обратиться к ним в поддержку и/или на форум или что там у них есть. 
Пользоваться дистрибутивом, по которому куда легче получить ответ тут (Debian, например). 


Худший ответ:
с версией 1.7 Смоленск
А ничего, что это Special Edition? Может почитать сначала, чем редакции астры отличаются друг от друга и что такое Special Edition? Потом подумать - а может подойдет более простой Орел?
через apt install и apt-get install.
Не прописаны репы астровские, если конечно они вообще у нее есть.
Вопрос: Апгрейдить или продать ПК?

Лучший ответ:
У меня тоже тачка 2013-го сборки, но она пойдет под замену, потому что грейдить это - это примерно как пытаться делать утопленнику искуственное дыхание. Это сейчас примерно как ооооочень жиденький офисный комп, прямо бюджетный-разбюджетный.
Для программирования видюха не нужна, брать можно со встройкой. Памяти от 16, ssd под систему.

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

Худший ответ:
За 10k на авито быстро уйдёт. )
Вопрос: Куда делся встроенный видеоредактор в windows 10?

Лучший ответ:
Видеоредактор встроен в программу по просмотру фотографий и видео. Или легко находится в меню Пуск. По строке "видео"


Если его там нет, то поставь обновления, в том числе из MS Store

Худший ответ:
Movie Marker помойму уже в win7 пропал, по сути он только в ХР и был.
Вопрос: Как передать на бекенд требования к API?

Лучший ответ:
Многие фронтендеры относятся к беку, как к некой обертке для работы с базой данной. Когда такие становится лидом команды и начинают диктовать свои требования беку, начинается ад, проект даже с простым беком превращается в нечто монструозное, разваливающиеся на ходу. Но, так как снаружи бек не виден, руководство считает, что дело в отдельных тупых бек-разработчиках, которые артачатся, не хотят работать и увольняются. 
Судя по вашим фразам, вы скорее всего один из них. Так как уверены, что приложение - это то, что на фронте, что api - это хрень, которая завязана на отображении информации на фронте, что разработчики бека не нужны при разработке архитектуры и вообще пофиг, что они там делают, главное чтобы давали то, что хочет фронт.
Но, раз вопрос задан, значит сомнения вас посещают. Поэтому: приложение это не только фронт, а зачастую фронт это не самая сложная его часть. Бек - это не обертка над базой данных, и если вы поменяете значение в базе, это не значит, что к примеру, в потоковом вещании сменится кодек (вот, кому-то может и смешно, а мне в такой ситуации ни фига не было весело). С помощью API получают данные, поэтому не важно, что там у вас напроектировали дизайнеры, или как эти данные выводит фронт, API должен быть универсальным и не зависить от того как вы отображаете данные, поэтому, к примеру, бек может вам дать для получения данных несколько универсальных запросов, а не один специальный. В общем, все гораздо сложнее, и ваш вопрос как состыковать фронт и бек перерастает в вопрос как формировать архитектуру проекта, и как управлять командой.

Худший ответ:
Мне удобна такая схема:
- Смотрю дизайн приложения или прототипы, вникаю как будет работать 
- Делаю api, это не так сложно, т.к. понятно какие кнопки что делают, где и как нужно подгружать данные.
- Фронт параллельно делает свою часть и потом подключается к api, обычно в этот момент бывают небольшие правки, добавляются новые параметры запросов.
Вопрос: Не правильно работает цикл have_post()?

Лучший ответ:
Потому что у вас ссылка <a class="project-link" href="">Подробнее</a> внутри ссылки. Либо кнопку подробнее сделайте ссылкой, либо целиком карточку.

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

Лучший ответ:
Самое очевидный, остаться разработчиком, можно переключаться по стэку, освоить смежные вещи( full stack ). На данный момент потолок по ЗП у разработчика практически отсутствует, если вам это нравится и это у вас идёт, вы сохраняете способность к обучению, оставайтесь разработчиком.

Худший ответ:
Как по мне, если вы хотите оставаться именно разработчиком, то наверное вы можете кодить тимлидом(по разному может называться в зависимости от конторы, м.б. главный программист и тд), но насколько бы должность не была технической, вам все равно придется заниматься административными задачами вроде согласования/утверждения решений/планов, и рост в должности обычно подразумевает управление людьми и ответственность за их действия(большинство не очень любит, когда их наказывают за ошибки других людей). 
Но в то же время, не дело же это вечность сидеть на одной должности, это же какой-то застой?По сути, если работаешь программистом то ты все время на одной должности, отличается компетенция и за какую часть проекта отвечаешь.
Не совсем рост, но как вариант можете попробовать создать свой продукт, но опять же в одиночку довольно тяжело это реализовать. Тут суть такая, что программист это конечный исполнитель и по сути его рост может быть только в техническом плане. Грубо говоря даже вы создали свою продукт, но остаетесь программистом(можно конечно придумать красивое название должности и тд, но сути не поменяет). 
Еще как вариант, можете придумать/совершенствовать подходы к разработке, оптимизировать алгоритмы, но опять же не сказать, что это рост в должности.
Вопрос: Компьютер живет своей жизнью. Что делать?

Лучший ответ:
Первым делом - отключите Интернет.
Можно по-жёсткому: отсоединить сетевой кабель (для интернета). А если это ноут, то переключить wifi-переключатель (физический), скорее всего где-то на боковой панели ноута.

Так вы нейтрализуете злоумышленника, который удалённо управляет вашим компьютером через сеть. Дальше контроль перейдёт в ваши руки.

Далее подойдут советы про антивиурс и переустановку винды. Антивирус (типа Dr.Web CureIt) поможет понять, что за вирус, чем опасен и т.д. Переустановка винды - гарантированно удалит любой вирус.

Худший ответ:
Скорее вирусняк, тупой антивирус ставили. Попробуйте переустановить винду с удалением программ
Вопрос: Как убрать «т» и «к» призвуки в записи?

Лучший ответ:
Перед записью:
1. Натянуть на телефон "мохнатку" (поп-фильтр);
2. Купить отдельный микрофон с поп-фильтром и подключать к телефону;
Если уже записали:
3. Использовать софтварный поп-фильтр в любом аудиоредакторе. Геморройно, но куда деваться. В Audiacity точно есть: https://blog.accusonus.com/audio-clean-up/click-re...

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

Лучший ответ:
А если бы, допустим, в у нас был отдельный интерфейс IMove, то мы смогли бы реализовать его в каком угодно модуле/компоненте, например в условном File, ведь мы можем переместить файл. Так же и с ISleep, мало ли что может уснуть, начиная от операционной системы или потока выполнения, заканчивая персонажем в тамагочи.

Неверно. IMove (точнее будет назвать Movable) имеет смысл в контексте какой-то предметной области. И перемещение файла, перемещение спрайта, перемещение трехмерного объекта, перемещение руки робота - все это разные перемещения. Соответственно и интерфейсы будут разные (расположенные в разных модулях, даже если будут называться одинаково), например:
filesystem.Movable
graphics.2d.Movable
graphics.3d.Movable
servo.Movable

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

Вообще главный принцип тут такой: интерфейс должен иметь смысл, описывать некоторую единицу функциональности именно с точки зрения предметной области. Скажем, если в вашей предметной области операция move имеет смысл без операций eat и sleep - её можно выделить в отдельный интерфейс (а можно и не выделять, это зависит от других факторов). Если же операции eat и sleep всегда должны ходить парой и каждый потребитель этого интерфейса нуждается в обеих операциях - они должны быть в одном интерфейсе.

Худший ответ:
4 принцип SOLID предписывает создавать настолько маленькие, насколько возможно. При этом реализация может имплементировать несколько интерфейсов.

Но смущает одно, IMove::move() для персонажа игры, скорее всего, будет принимать x,y координаты, а для файла - конечный путь.
да. Это совершенно разные интерфейсы. Всё правильно.
Person заимплементит IMove с координатами, а File - с путем.
Вопрос: Лучшая страна для VPN?

Лучший ответ:
Швейцария, Финляндия, Румыния, Словакия, страны Прибалтики тоже должны хорошо отрабатывать.

Худший ответ:
Лучше всего выбирать страну, ближе всего расположенную к России (или конкретно к вам, т.к. страна у нас большая). Исключение – Украина, Латвия. В этих странах заблокированы многие российские сервисы (тот же Яндекс, Вконтакте и пр.). В целом, можно посмотреть в сторону Нидерландов, Казахстана, Германии и некоторых стран Восточной Европы. Локации с других континентов нет смысла рассматривать. А вообще, вряд ли удастся найти страну, в которой будут одновременно доступны все российские и зарубежные сервисы (причем с хорошим пингом).

Если вы планируете использовать какой-то VPN-сервис, то смотрите по загруженности серверов и удаленности страны от России. В случае чего, переключиться между локациями не составляет особых трудностей.
Вопрос: А нужен ли Windows домен?

Лучший ответ:
на рабочие ПК - ВПН, внутри ВПНа уже доступ к контроллеру домена

либо на RDP можно всех пересадить

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

Лучший ответ:
А двавайте велосипед не выдумывать. Есть такой раздел вычислительной науки.  "Теория алгоритмов" называется.  Он-то как раз и занимается тем, что объясняет, как оценить вычислительную сложность алгоритмов, в том числе ОЦЕНИВАЕТ, сколько циклов, операций сравнения и пр. требуется для того или иного алгоритма. 
Просто после вопроса " единственный вариант -  сравнивать список "до" итерации и "после". Но в таком случае, не будет ли затраты на подобные сравнения "затратнее" холостых циклов?"  становиться понятным, что тут не на конкретный вопрос отвечать надо, а с азов начинать.  Ведь и то что это "единственный способ", и про то что сравнение можно сравнивать с холостым циклом -  про все это говориться в Теории алгоритмов. Причем как правило - с самого начала.

Худший ответ:
Можно завести флаг "менялись ли элементы в цикле". Перед циклом его сбросить, при перестановке двух элементов - установить. А сам внешний цикл можно сделать while.

Заранее определить, сколько будет итераций - очень сложно.