pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как принимать данные по Bluetooth?

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

Худший ответ: Жалко. Поэтому словами. 
Есть фоновая служба. В ней сиглетон тред  сервера. 
В сервере 
// создаём серверный сокет, он будет прослушивать порт на наличие запросов
serverSocket = bluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord("RAWBT", SPP_UUID);

// запускаем бесконечный цикл, внутри которого сокет будет слушать соединения и обрабатывать их
// создаем клиентский сокет, метод accept() создаёт экземпляр Socket при новом подключении

Далее в бесконечном цикле, пока верен флаг что работаем

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

public abstract class Connection extends Thread {
    BluetoothSocket socket; // сокет, созданный при подключении пользователя
    final OnDocumentReceived mDelegate;
}

В конкретной реализации этого класса  потребуются
    final ExecutorService executor = Executors.newSingleThreadExecutor();
    private DataOutputStream stream;
    private DataInputStream dataInputStream;

Экзекутор для рассылки сообщений с прочитанными данными 
так как чтение идет из еще одного паралейного треда. 

В общем врядли ваши примеры были настолько сложными
Я еще про часть самого окна терминала ничего не написал. А там тоже накрутить кода пришлось
Вопрос: Как сделать проверку if на тип переменной?

Лучший ответ: Ну во-первых, оператор is проверяет идентичность объектов. Учи язык.
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)  # True - списки имеют одинаковое содержимое
print(a is b)  # False - a и b ссылаются на разные объекты-списки, а не на один и тот же.

Если тебе нужно узнать, содержит ли переменная ссылку на объект указанного типа, используй isinstance().
a = 1
b = 1.0
print(isinstance(a, int), isinstance(a, float))  # True False - a это int, но не float
print(isinstance(b, int), isinstance(b, float))  # False True - b это не int, это float
print(isinstance(a, (int, float)))  # True - a является чем-то из двух: или int, или float
Но это работает только для значений корректного типа - это НЕ позволит проверить, содержит ли строка корректное представление числа, к примеру. Для этого либо используй try-except, либо регулярные выражения. Только вот в except не стоит писать pass - нужно подумать, что программа должна делать, если введено не число.

Худший ответ: Во-первых, вы неправильно проверяете на тип, надо делать так if type(a1) is float 
Во-вторых, конечно, если у неё значения могут быть только "lknfmv", "1", "1.05", то она всегда будет строкой, а не float
Вопрос: Как собирать данные с медицинской аппаратуры?

Лучший ответ: Если от аппаратуры есть родной софт, подсмотреть, как он получает данные.

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

Худший ответ: Технически это реально. Вопрос только в финансах. 
Я за то чтобы начинать с тех приьоров у которых есть LAN порт. Они скорее всего уже имеют всё необходимое, для того чтобы можно было считать с них данные, включая документацию. Надо только её найти. Документация просто обязаны быть на сайте производителя или предоставляться по запросу в их Тех ПО. 
Дайте пару моделей приборов, для погуглить
Вопрос: Почему выбрасывает Segmentation fault при объявлении простой переменной?

Лучший ответ: Потому что вы даже вывод не освоили. Должно быть printf("%d\n", a);

Худший ответ: Потому что написана чушь.

man printf()
Вопрос: Как настроить windows в облаке?

Лучший ответ: Разверните на любом VPS, купите белый IP и подрубайтесь по RDP.
Ну а бесплатно - никак.

Худший ответ: Берете любой VPS
Ставите винду
Подключаетесь по RDP

Винда платная. Бесплатно будет только линух :)
Вопрос: Это эффект параллакса из одной фотографии? Как это сделано?

Лучший ответ: Это canvas.


Худший ответ: Подробнее об этом можно узнать здесь
Вопрос: Кабели HDMI могут передавать только до 60 Гц?

Лучший ответ: HDMI 2.1 поддерживает 4к разрешение при 120hz.
Спецификации можно уточнить здесь:
https://ru.m.wikipedia.org/wiki/HDMI

Худший ответ: От версии HDMI зависит
Вам нужен кабель с поддержкой стандарта HDMI 2.1 
Вот такой кабель на 120 Гц, например.
Вопрос: Как стать специалистом по кибербезопасности?

Лучший ответ: Раньше занимался с# но со временем надоело и не видел перспектив.

С таким подходом рекомендую выбрать другое направление.
Кибербезопасность еще более унылая и сложная, чем разработка.

Худший ответ: привет,
начни с Питона

https://www.amazon.com/Black-Hat-Python-Programmin...
первая задача - найди ее на русском
она есть , как минимум на спец форумах

а вообще романтики мало )), как и на любой другой работе
Вопрос: Как правильно защитить форму от спама?

Лучший ответ: Hidden-инпуты для защиты от спама - это фигня. Больше половины ботов раскусят.
Я на многих сайтах ставлю довольно простую защиту, которая отлично работает.
Добавь в форму какой-нибудь текстовый инпут и скрой его стилями, но НЕ ЮЗАЙ display: none;, visibility:hidden;, opacity:0;, так как многие боты и это раскусят.

Например input с name="copyemail":
<form action="">
	<input type="text" name="copyemail" placeholder="Email для копии">
	<input type="text" name="name" placeholder="Имя">
	<input type="email" name="email">
	<button type="submit">Отправить</button>
</form>
и стили для него:
input[name="copyemail"] {
    display: block;
    width: 2px;
    height: 2px;
    margin-bottom: -2px;
    border: none;
    padding: 0;
    opacity: 0.01;
}

И дальше уже на сервере проверяешь:
if ($_POST['copyemail']) {    
    //Это спам! Делаем вид, что сообщение отправлено.
    die('Ваше сообщение отправлено');
} else {
     //Все норм. Метро Люблино, работаем
}

Худший ответ: Вне зависимости от капч и прочих технических средств определения живого пользователя - стоит подумать головой, чем отличается то, что вам реально может написать клиент, от того, что пришлет спам-бот.
Например, если в тексте клиента крайне маловероятен фрагмент "http" - можно обойтись и вовсе без капчи... а боты пусть радостно шлют свой шлак в /dev/null.
Вопрос: Спустя 4 года стал тормозить сайт на мобильных. Как разобраться?

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

Худший ответ: инструменты разработчика, вкладка перформанс.
Вопрос: Какие ЯП являются (почти) «мертвыми» и бесперспективными?

Лучший ответ: Мне лично на ум приходит такие как VBA
Несколько лет назад общался с одним чудиком который возмущался тем что он "крутой программист" знает туеву хучу "крутых ЯП", но не может найти работу, а его "тупой" одноклассник в буржуйской фирме зашибает бабло на "сраном VBA"

Не существует "бесперспективных" ЯП, существуют бесперспективные программисты

Худший ответ: Все, которые вы перечислили КРОМЕ PHP и Ruby. Вообще непонятно, как эти 2 языка вы отнесли к "умирающим". Их в принципе нельзя сравнивать с тем же VBA или perl.
Вопрос: Python в образе на базе alpine — все плохо?

Лучший ответ: Официальный репо содержит два разных образа, один основан на alpine, второй на дебиане вроде.  
https://hub.docker.com/_/jenkins
Возьмете обычный - там внутри apt , там уже все привычно будет. 

dmitryg@dg-linux:~$ docker run -d -p 8080:8080 -p 50000:50000 jenkins:2.60.3
ed9e4a15dbeb9aafa175de1fba726ab385af80824873ee1314f96449a99d800f

dmitryg@dg-linux:~$ docker exec -it ed9e /bin/bash

jenkins@ed9e4a15dbeb:/$ apt
apt         apt-cache   apt-cdrom   apt-config  apt-get     apt-key     apt-mark    

jenkins@ed9e4a15dbeb:/$ cat /etc/debian_version 
9.5
jenkins@ed9e4a15dbeb:/$

Худший ответ: сделайте образ ubuntu и всё. зачем парится с alpine
Вопрос: Можно ли скопировать сайт с PHP скриптами?

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

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

Лучший ответ: С такой формулировкой вопроса - только отдать специалисту. Я конечно могу написать 100500 вариантов, что может быть и что делать в этом случае. Но это займёт у меня несколько часов, которые мне никто не оплатит. А глядя на то, что человек даже не может первичную диагностику провести и гуглить не умеет (а уж по таким вопросам материала  - миллионы страниц), мне совсем не хочется ничего делать. Когда мне с такими вопросами звонят - я говорю "приносите, посмотрю". Ибо мне самому сделать будет быстрее в несколько раз, чем кому-то объяснять и ждать пока сделает, потом ждать пока исправит ошибки свои, потом опять отвечать на очередную сотню вопросов...

Худший ответ: смотреть с liveCD что там с диском. вообще читается ли он, есть ли там винда.
Судя по тому что f8 работает - винда там есть.
А что собственно говорит автовосстановление? Какая винда? не включен ли случайно режим IDE вместо SATA в БИОС?
Вопрос: Где применяют python помимо веба и data science?

Лучший ответ: Почти везде, это язык общего назначения. Понятно, что на нём не пишут операционные системы, драйвера и прошивки, так как он интерпретируемый.

Худший ответ: Вот моя статья на эту тему - https://habr.com/ru/post/340894/?ysclid=l67rqtlmqf...

С того момента, как написал статью, ничего в общем-то не поменялось.
Вопрос: Как создать портативную версию приложения?

Лучший ответ: 1. Найти в сети.
2. Установить не на C?

Худший ответ: Для запуска программы, в любом случае потребуется скопировать на диск exe и зависимости.
Вопрос: Есть ли такой браузер, который позволит смотреть код в iframe?

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

Худший ответ: смотреть с помощью JavaScriptМожно, отключив эти проверки безопасности в браузере.

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

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

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

то nginx отвалится
Соглашусь с  Сергей Паньков: nginx просто так не отваливается.

то в php количество активных процессов границы достигнет (на ожидании внешних ресурсов повисли).
Если вынести обращения к внешним ресурсам в фон невозможно, то создать отдельный пул php-fpm(возможно несколько: для каждого сервиса свой), который будет отвечать только за обращение к этим внешним ресурсам. Даже если внешний сервис упадёт, то у вас отвалятся только обращения к нему, а сайт продолжит работать.
Вопрос: Востребован ли Python за рубежом?

Лучший ответ: вменяемые не требуют Х лет на каком-то языке, они требуют мозги. 

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

Худший ответ: Да, востребован.
Вопрос: Актуально ли конвертировать иконки в шрифты?

Лучший ответ: Я конвертированием не занимаюсь. Если используется готовый пак, типа FontAwesome - подключаю. А так символьные SVG спрайты намного удобнее, для меня.

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

Лучший ответ: Микроыон с джеком купи и всё

Худший ответ: самое простое - взять Nanopi NEO

там есть USB и LineOut.
Общение с USB достаточно сложное чтобы реализовывать его самому на каком то микроконтроллере, проще отдать это на операционную систему.
Вопрос: Почему ток идет только по замкнутой цепи?

Лучший ответ: Почему ток идет только по замкнутой цепи?
Потому что электроны могут двигаться только по проводнику. И для движения им нужна электродвижущая сила (ЭДС, напряжение)

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

А если ток пойдет, то почему при соеденении плюса одной батарейки с минусом другой, ток не идет
вы здесь немного путаете с электростатикой. помните из школьного курса опыты с эбонитовой палочкой и большими металлическими сферами? Вот там как раз эта ситуация, на сфере скапливаются электроны и прикосновением, или соединением с другой сферой эти электроны перебегают. в случае с батарейкой и конденсатором ситуация немного другая. 
Допустим, есть конденсатор. В нём очень тонкой пластинкой разделены два проводника - пластины. При зарядке конденсатора, электроны с одной пластины перебегают на другую. Получается, на одной стороне электрончиков много, на другой - недостаток. Электроны хотят вернуться назад, чтобы уравновесить баланс назад и вернуться к нейтральности, но цепь разорвали и они не могут этого сделать. К тому же, пластины совсем близко друг к другу, и электроны и "дырки" через слой диэлектрика тянутся друг к другу, но не могут соединиться, мешает барьер. Кстати, чем сильнее они "тянутся", тем больше энергии может накопить конденсатор, за счет этого заряд и удерживается. Так вот. Если электрон попытается убежать из этой "ловушки", если вы соедините его ножку с каким-нибудь другим конденсатором, у него не получится! Потому что конденсатор потеряет нейтральность. "дырки" с другой стороны диэлектрика тянут электроны обратно.
А вот если замкнуть цепь, то другое дело! Электрон побежит на обратную сторону пластины через всю цепь, нейтральность сохранится, а заряды взаимоуничтожатся.

В батарейке и аккумуляторе немного похоже, но с привкусом химии и реакций

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

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

Поэтому нет ответа 'почему так', но можно найти ответ 'что будет если сделать так'.
Вопрос: Как можно попрактиковать «интеграцию с API»?

Лучший ответ: На самом деле интересный вопрос. Я вот, за всё время свой работы, интегрировал сайты со множеством сторонних систем по REST API. Потом, как-то на собеседовании, на вопрос типа "что вы знаете о REST API", на серьёзных щах, ответил, "да практически всё" и начинал перечислять всякие банки, платёжки, сервисы доставки и т.п. с которыми делал интеграцию. Как вам и написал キム ファイブプラス выше, у некоторых из них были весьма "хитровыдуманные" алгоритмы, одна только интеграция с ЕСИА чего стоила... Однако потом меня спросили: "а как бы вы сами осуществили API в каком-либо сервисе?"... И тут весь мой опыт предыдущих интеграций мне не особенно то и помог, т.к. осуществлять приём ответов откуда-то там -- это одно, а их отдавать и грамотно обрабатывать -- это совсем другое. Поэтому мой совет такой: для опыта интеграции ищите "openapi" у различных сервисов, интегрируйте себе на сайт, если он у вас есть, платёжку от QIWI, например (там есть работа от физ лица). А так же напишите собственное API. Скачайте программу postman, посмотрите какие бывают методы авторизации. Попробуйте реализовать парочку из них, и сделайте грамотную обработку входящих данных, а так же ответ на них, в стандартном json-e.

Худший ответ: Сразу спрашивать какой их интересует. Application Programming Interface
Это практически все внешние продукты.

Впрочем читайте 
https://aws.amazon.com/ru/what-is/api/#:~:text=API...

https://en.wikipedia.org/wiki/API.
Вопрос: Как вставить переменную в текст без соединения точками, если в тексте уже есть двойные ковычки?

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

Худший ответ: да просто вставить - кавычки в переменной никак не роялят.
Вопрос: Где есть новости о веб-разработке?

Лучший ответ: На хабре еженедельный(?) обзор новостей по фронтенду и вроде такой же по мобильной разработке, и вроде по бэку тоже что-то такое есть.

Худший ответ: Отличные подкасты + ссылки на оригиналы статьи.  https://web-standards.ru
Вопрос: Как обеспечить консистентность данных между БД и поисковым движком?

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

Ну тут несколько вариантов:
1. Пытаться одновременно записать в обе базы.
2. Сначала писать в Postgres, как в единственный источник истины, а параллельно копировать в эластик (по расписанию или ещё как)
3. Писать в какую-нибудь брокер сообщений типа кафки, а в Postgres и ES записывать из него.

По соотношению сложность/надёжность второй вариант лучше всего
Если нужно, чтобы в Pg и ES данные попадали гарантированно и при этом как можно быстрее - вариант с брокером сообщений.
Если нужна максимальная скорость и минимальные гарантии - первый вариант.

Худший ответ: В любой информационной системе я-бы выделял single-source-of-truth (типа главный источник правды) и этот главный источник должен быть согласован сам с собой всегда. Будет ли это дисковый файл. Kafka, или база PG - неважно. Важно что он будет арбитром в спорных ситуациях.

В ситуации с потерей электричества что вы описали - совершенно невозможно правильно восстановить обе системы. Одна из ник полюбому будет опережать другую. В high-load системах она будет опережать не на 1 на на сотню транзакций например. Честно я даже не могу придумать алгоритм восстановления. Особенно если часы где-то разошлись на милисекунду и одна из систем сделала update на уже вставленные данные.

Мне нравится вариант когда мы сразу пишем информацию в Postgres и делаем commit (по правилам которые нужны бизнесу) и дальше уже индексируем содержимое базы эластиком. После аварийного ребута я будут знать что PG содержит именно то что было закоммичено. То что нужно тоесть. Эластик будет просто догонять.
Вопрос: Как пeредать const char* в c++ фунцию из c#?

Лучший ответ: Взаимодействие C# и C++ кроссплатформенно (статья на хабре)

Худший ответ: www.pinvoke.net/default.aspx/kernel32.GetShortPathName
Можно использовать MarshalAs
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError=true)]
static extern uint GetShortPathName(
   [MarshalAs(UnmanagedType.LPTStr)]
   string lpszLongPath,
   [MarshalAs(UnmanagedType.LPTStr)]
   StringBuilder lpszShortPath,
   uint cchBuffer);
const char* - это UnmanagedType.LPStr и его можно использовать на string и StringBuilder
Вопрос: Как деплоить fullstack проект?

Лучший ответ: У Laravel есть Laravel Mix в комплекте, который спокойно позволяет оптимизировать все ваши махинации. 
Запускаете команду npm run watch и спокойно пишете код, если нужно обновление страницы при изменениях - подключаете browserify.

Смотрите в сторону Laravel Envoy, настраиваете все данные для деплоя на сервер. Все это деплоится с git-репозитория вашего проекта.

В итоге весь маршрут от выполнения правок до деплоя проекта состоит по сути из следующих этапов:
1. Выполняете правки, просматриваете через npm run watch
2. Комитите все в свой репозиторий.
3. Выполняете команду envoy run deploy и все изменения с репозитория подтягиваются на сервер.

На этом все.

Худший ответ: Для этого придумали Git.
Вопрос: Скажите, средствами винды можно реализовать самооочистку памяти от кэша(мрут приложения при сьеденой 6,9гб памяти)?

Лучший ответ: В java есть уборщик мусора, который выбрасывает из памяти все не ненужные значения и кэши, если те сто лет не использовались, при включенной программе.
Это не совсем так работает. GC чистит память от значений, которые не используются, то есть нигде больше не определены. В java тоже можно засрать память, если программист рукожопы. Но в разы сложнее, чем в С++

Такое можно реализовать с приложениями в виндовс? Допустим, у меня cad или игрушка сожрала тонну памяти и не использует ее(тупо кэш определен и хоть на голове стой). Взять и подчистить этот кэш, если начинаются галюны.

Если приложение в винде написано на java она и так будет чистить.
Если нет - зависит от программиста, который приложение написал.

Например. Вчера играл в игру, с открытым миром, и та умерла сьев почти 7 гб оперативной памяти. Такие ситуации у меня не первый раз, поэтому интересно посмотреть на решения с кэшем и борьбой с утечками.

Борьбой с утечками занимается программист, а не пользователь. Утечки - это ошибки в коде, когда ты запросил память, а когда она тебе не нужна забыл освободить. И не изменяя программу ты утечки не исправишь.

Худший ответ: Для Windows 7-8.1 можно использовать программу MemReduct
https://www.henrypp.org/product/memreduct

Для Windows 10+ лучше использовать ISLC
https://www.wagnardsoft.com/forums/viewtopic.php?t=1256
Вопрос: Обход ограничений messages VK API?

Лучший ответ: Использовать AppId чужого приложения. Тысячный раз подобный вопрос тут. 
https://vkhost.github.io

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

Лучший ответ: Примерно 300кб сам фреймворк и роутинг. Если динамики почти нет - зачем вообще не тащить фреймворк? Можно посмотреть  на svelte

Худший ответ: Angular жив только в головах тех, кто на него по дури наивности подсел, поведясь на обещания, что будет круто. А ng - это и не круто, и не красиво, и не удобно, и медленно - на проекте любого масштаба.

Выбирайте между Vue и React, причём я лично и React не стал бы рассматривать, но бывают люди, которым он нравится, с его уродским JSX.
Вопрос: Почему мало вакансий на node js?

Лучший ответ: Потому что на фронте альтернатив нет, а на бэке есть. Если бы на фронте были, то js давно бы вымер.

Худший ответ: Потому что для бэка пехепе лидирует:

Картинка из статьи на хабр, но ссылку скинуть не могу, так как она содержит запрещенное слово.
Ха-ха-ха - на тостер нельзя кидать ссылки на некоторые статьи из хабра!))
Вопрос: Как в Git переименовать ветку?

Лучший ответ: старый мастер назвать old-master и текущую ветку, переименовать в master
git branch -M master old-master # переимоновать старый мастер
git branch -M master # переименовать текущую ветку в master
Но зачем всё это? old-master будет по-прежнему связан с origin\master.
Если хочется обновить и эти связи, то используется push
git push --set-upstream origin old-master # перенаправить на новую ветку
git push -u --force origin master # пересоздать внешний master
Если origin и VPS это разные места, то VPS не увидит этих ваших переименований. 
Там тоже придётся связи перенастраивать. 
Например через git pull --rebase на VPS и на компьютерах всех коллег, если вы работаете в команде.

Снова повторю вопрос: зачем вам эти сложности?

git remote rename - но это для переименования удаленных веток (как я понял)
Нет, это для переименования remotes — ссылок на внешние репо.

Худший ответ: Не надо ничего переименовывать, пусть мастер остается мастером.
Я бы поступил так:

ответвляем от master новую ветку old-master 
рабочую ветку сливаем через merge или rebase с веткой master.
PROFIT