pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как инициировать в JQuery функцию на блоке при загрузке документа?

Лучший ответ: Событие DOMContentLoaded происходит, когда весь HTML-код был получен и распарсен браузером.
Оно-же представлено в jQuery как $(document).ready с одним дополнительным удобством - если вы подпишетесь на событие DOMContentLoaded ПОСЛЕ того как оно произошло, то оно никогда не наступит. А код в jQuery.ready сработает и в этом случае.

Метод window.onload или событие load объекта window сработает когда весь HTML-код, а также все стили, изображения, и прочий медиаконтент будет загружен.

Также, отдельные события load есть у изображений img и у некоторых других медиа-элементов.

А того что вы написали в "неудачном примере" просто не существует.

Худший ответ: Можно такой вариант применить 
$(document).ready(function () {
	$(".slider .slide").each(function() {
		$(this).attr("css", "background: url(" + $(this).attr("src") + ");");
	});
});
Вопрос: Почему StringBuilder при вызове метода ToString() копирует содержимое?

Лучший ответ: String и char[] это разные вещи с точки зрения среды выполнения. char[] это изменяемый объект, можно по индексу изменить значение отдельного элемента. String это неизменяемый объект, операции изменения строки на самом деле создают копии оригинального объекта строки.
Поэтому, если нужно создать строку через множество операций, используют StringBuilder, чтобы не было множества выделений/освобождений памяти.

Худший ответ: 
Потом как правило объект StringBuilder находиться в методе, и сразу. умирает, то есть он вполне может использовать стек а не кучу

Нет, не может, тк размер финальной строки заранее не известен, а если очень много памяти на стеке выделять, то его просто порвёт.


Потом вообще почему любое new String (char[] ) копирует массив? почему не оборачивает

Потому что string имеет контракт "никогда и ни при каких условиях содержимое строки не будет изменено". Если просто оборачивать, то этот контракт легко будет нарушить.

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

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

Лучший ответ: Именно скриншотом, т.е. картинкой? Тогда selenium в руки.

Худший ответ: Управляемые и безголовые браузеры - Selenium web driver, phantomjs
Вопрос: Как правильно собрать свой комплект для видеонаблюдения?

Лучший ответ: А теперь правильный вариант.
Покупаешь камеры hiwatch \ hikvision, желательно с подстветкой Colorview - тогда будет ночью видно хорошо
Покупаешь регистратор hiwatch подходящий(лучше 300ю серию)
Диск в него на сколько тебе надо ТБ - встроенных их не бывает

Все это собираешь, настраиваешь. У IP камер и у регистратора есть веб интерфейс со всеми настройками.

Далее на тел либо смотришь через их облако, либо(что я советую) арендуешь у своего оператора внешний IP и настраиваешь просмотр через него
Программа для поиска в сети рега и камер - SADP
Для телефона просмотр - iVSM

Рад что у тебя есть ноутбук, но ты не подключишь его к регистратору. Регистратор хочет МОНИТОР

Схема подключения - 
POE свитч на 8 каналов для камер - (есть дешевые на ОЗОН) - от него патч корд в роутер
Регистратор - от него патчкорд  в роутер
Всё, они в общей сети, заводи всё на регистратор (либо покупать регистратор со встроенными портами POE

То что на алике - гавно в 99% случаев

Худший ответ: Бери Хиквижен на сенсоре 1/1.8'' или Дахуа на Али..  Будет гораздо лучше, чем Графтсман)
Гавно не будет  100 %, ибо оригинал, сам брал много раз, тоже сомневался, но всё, что приходило  - реально никаких сомнений, что подлинный товар, а не какая-либо подделка, а обмануть  меня, установившего за последние лет 8 многие сотни камер и домофонов - не так просто
Вопрос: Как реализовать SMTP отправку почты PHP?

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

Худший ответ: Хотел реализовать свою функцию для отправки SMTP почты на PHP, без модулей вроде Mailer
Ну собственно вопрос зачем, а главное нах опустим, но если уж вы в целом знаете о существовании PHPMailer и Swiftmailer, то почему бы не посмотреть на их код, а не код интернета?

_parseServer у вас читает сокет, наверное выкидывать его не стоит, как считаете?
Вопрос: Какие разработчики работают с алгоритмами?

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

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

Из вашего списка скорее подходят бакенд и desktop. Еще очень алгоритмоемкая область - разработка игр. Вот там нужно много чего использовать, потому что надо все делать эффективно, иначе игра будет тормозить.

По поводу второго вопроса, похоже большинство разработчиков алгоритмы презирают. Считают что это не нужно знать вообще и очень ненавидят алгоритмические интервью в ФААНГах и им подражающим.

Худший ответ: Так и не смог понять, как мог устареть алгоритм сортировки или поиска пути за лет 5... Тогда мне это показалось диким и, как оказалось, не зря. Не знаю, что вы поняли из того, что вам сказали загадочные "мидолами" с несколькими лет стажа, но вот что вам сказал выше уважаемый  Wataru вы похоже таки и не поняли. 
Поясню. Алгоритмы учат не для того, что бы запомнить еще один "самый современный" алгоритм, - все равно завтра вы его забудете, а если надо будет применить -  поищете в Гуугле. Алгоритмы УЧАТ для того, что бы приобрести навыки алгоритмического мышления. А ВЫСОКОквалифицированный разработчик тем и отличается от "мидола"  с "несколькими годами опыта работы", что в первую очередь умеет проанализировать ЛЮБОЙ алгоритм, найти его ограничения, сильные и слабые стороны и пр., а не похвастаться, что он запомнил самый новейший алгоритм, который улучшает некоторые ранее известные на 0.00002%.

Это как в музыке -  сначала учатся играть гаммы (изучают язык программирования), потом учатся играть этюды - простые и незамысловатые пьесы, что-бы приобрести навыки, а уж потом играют сложные композиции. Так вот в программировании,  изучение алгоритмов  -  это и есть этюды. Только тренируете вы не руки, как музыканты, а мозги.   И не важно, по учебнику какого года вы это делаете.
Вопрос: Очень большие кнопки в установщике Windows. Это норма?

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

Худший ответ: Меню монитора, Параметры отображения, Формат, Автомат (или наоборот то, что хотите).
После установки Windows и драйверов видео-карты, измените Размер и положение рабочего стола.
Вопрос: Какой смысл команды dup в JVM байт коде? И что за индексы локальных переменных?

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

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

Худший ответ: Какой смысл команды dup в JVM байт коде?
Жаль что ты не программировал на калькуляторе МК 60. Это целая эпоха.

Значит есть разные пути к вычислению арифметики. Например если тебе надо возвести в квадрат число 5 на регистровой машине - то ты должен загрузить регистр R1 числом. Потом регистр R2. И потом найти такую команду умножения которая свяжет регистры R1 и R2 и перемножит и сохранит еще где-то результат. В силу современного зоопарка процессоров практически нереально создать такой абстрактный байткод который бы эффективно отображался на опкоды разных железяк. Поэтому решили забить на регистровую машину.  И использовать стек как хранилище операндов для операций. Разумеется в JVM есть и аналоги регистров но с ними не выполняются операции. ЕМНИП. Если хошь что-то сложить или вызвать функцию - то положи на стек и там-же получи результат. И если вернуться к возведению числа 5 в квадрат это может быть так 

положить 5 на стек.
дублировать
вызвать функцию умножения

На каком-нибудь языке Forth это было-бы тремя командами
5 DUP * .
Результат - на вершине стека.

Это кратко записывается. Но это несет абсолютно ту-же смысловую нагрузку для арифметики.

Почему их только 256 может быть?
А чорт его знает. Так решили. Решили что 256 регистров это капец какой максимум для процедуры или функции. Послушай ради интереса видосы про процессор Эльбрус. Там тоже интересно с регистрами сделано.

о есть на этапе генерации байт кода, сюда можно было после команды, просто адрес сразу впихнуть. И скорость выполнения должна же быть быстрее.
Я думаю что твое предположение о том какой код соберет JIT не совсем верное.
Вместо спора я предлагаю взять какой-то тестовый сценарий и подсмотреть какой
будет собран код. Я знаю что скептики Java обычно после изучения вопроса глубже
меняют свою точку зрения. Ну по крайней мере перестают считать Java 
"медленным покемоном". Java действительно была слоупоком во времена Jdk 1.1.
Но щас это не так.

Несколько лет назад я мерял производительность floating-point вычислений на приложении
которое рендерит зеркальные шары. И разница между С++ и Java была не сильно большая.
10 секунд на сях и 12 секунд на втором языке соотв. Хотя этот тест узкий и он просто
показывает частный случай.
Вопрос: Как восстановить данные после dd?

Лучший ответ: Разделов было сколько?
У вас потеряна информация из партишонтейбл и начало первого раздела. Эту информацию почти не реально восстановить.
Информацию со следующих разделов восстановить довольно легко.
1. Делаете полную побайтовую копию диска.
2. Все последующие действия производите только на копии диска.
3. Пробуете с помощью утилит создать новый партишантайбл. Если все пойдет как надо у вас все кроме первого раздела будет восстановлено в автоматическом режиме.
4. По сигнатурам ищите критические файлы из первого раздела. Ну тут скорее всего хорошего результата не будет.

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

Лучший ответ: У вас появились ситуации, в которых возможностей ORM недостаточно, или он работает ощутимо медленнее чистого sql (притом медленнее не субъективно, а на основе данных профилирования)? Если нет, в чем я более чем уверен, то не вижу необходимости в отказе от из основных фишек джанги.

Худший ответ: Тут ответ простой. Если вы задаёте такой вопрос, причем именно вот в такой обобщенной формулировке, то вам следует использовать штатный ORM типовым образом.
Поскольку в вопросе нет никакой конкретики по поводу проблем, которые автор вопроса собирается решать на чистом SQL, можно исходить из предпосылки, что таких проблем нет. 
Как только будут озвучены конкретные проблемы, можно будет говорить и как их решать. К примеру это могут быть вопросы оптимизации или вопросы представления очень специфических структур данных, плохо или нестандартно ложащихся на реляционную модель.
Если опыта работы с Django ещё мало, то стоит руководствоваться best practices в рамках концепции фреймворка. В таком случае вы найдёте больше простых примеров и документации по любым вопросам.
Как только вы столкнётесь с настолько специфическими задачами, что они будут плохо решаться стандартными методами, у вас будет уже гораздо больше опыта и этот вопрос отпадёт сам собой.

ИМХО.
Вопрос: Почему все верят исходникам?

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

Худший ответ: если  скачивать  с  официального сайта а  не  откуда  попало  то  конечно  соответствуют.  Но  подавляющее  количество  пользователей телеграма понятия  не  имеют  о  существовании  гитхаба  и что там  исходники телеграма.  поэтому  и  не парятся
Вопрос: Безопасно ли сейчас покупать домены в зонах com, net, info, shop, market и др?

Лучший ответ: В смысле - безопасно? Покупать домены во всех указанных зонах нужно у отечественного регистратора, только и всего. Это будет скорее всего дороже, РУЦЕНТР сейчас безбожно гнет ... цены.
В смысле безопасности отжима - нет, не безопасно, поскольку регистратор РУЦЕНТРУ неподконтролен.
В смысле безопасности доступа - ничего не менялось, все как и раньше.

Раньше имело смысл регить у лямпортного регистратора только по причине большей дешевизны. Сейчас лямпортному регистратору еще надо умудриться заплатить :)

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

А вот регистраторы из США, Европа и Украины - объективно не лучшая идея, сейчас, многие уже или тупо заблокировали аккаунты пользователей из РФ, или втихаря делают всякие подлости. Самый нашумевший в СМИ пример это namecheap, но есть много и других.

Регистраторы у которых юрлица РФ - тоже не лучший выбор сейчас, т.к. ICANN хоть и обещал не отключать их от глобальной системы доменных имен, но риски санкций никто не отменял, блокировки платежей в адрес реестров международных зон (большинство из которых US/EU-компании) не исключены. 
Это из очевидного. Или например международные страховщики могут отказаться их страховать примерно как это происходит с самолетами и некоторыми грузами в РФ.

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

С другой стороны, у зарубежных регистраторов обычно нет российских методов оплаты (карты РФ, ЮMoney, Webmoney, Qiwi). Если это нужно - выручают реселлеры зарубежных регистраторов, у них обычно и цены дешевле. 
У некоторых можно и криптовалютами оплачивать, например Tether USD. 

А если есть карта не-РФ банка, то вообще нет проблем. Главное, чтобы можно было ее подтвердить в случае чего, т.к. некоторые регистраторы любят сканы требовать, если страна карты отличается от страны плательщика, или если замечают заходы с IP-адресов VPN.

А с доменами .ru все проще, выбор ограничен только РФ, т.к. регистраторов из других стран в этой зоне просто нет.
Вопрос: Стоит ли переходить на mikrotik 7?

Лучший ответ: Домашние можно, прод нет. Подождите хотя бы полгода, а лучше год.

Худший ответ: Я перевёл домашний hap ac lite, но задач у него кроме раздачи интернета никаких нет.
Вопрос: Долго загружается ПК, и не работает жёсткий диск?

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

Худший ответ: Посмотрите, что скажет про жёсткий диск R.tester: https://rlab.ru/tools/rtester.html

Программа предназначена как раз для диагностики в непонятных ситуациях с накопителями. Начните с просмотра SMART, можете сделать автоматическую диагностику.

Если по результатам что-то будет не очень, то перед перед продолжением (запуск тестов и т.п.) скопируйте все важные данные с HDD на заведомо исправный носитель. Из описания можно предположить, что винчестер выходит из строя и непонятно как долго ещё он продержится.
Вопрос: Как удалить атрибут disabled у button?

Лучший ответ: Вы ищете несколько элементов а не 1
Не работает тк как вы не можете применить к масиву ".disabled"
document.querySelector('button').disabled = false

Худший ответ: В целом ответ вам дан, добавлю что если вы не хотите делать перебор массива, то можете воспользоваться jquery:
$("button .slds-button") .prop( "disabled", false );
В большинстве конструкторов/движков он уже встроен.
Вопрос: Как получить промисо-завершающий callback от асинхронной функции?

Лучший ответ: завершающий callback 
только в промисах. async/await – сахар (а сахар это вредно, вызывает привыкание) Вот, привыкли, теперь надо «слезать» )

Можно вынести таймаутность в функцию для читабельности:const waitFor = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

async function test() {
    await waitFor(1000);
    return 1;
}

Худший ответ: Если правильно понял замысел, то можно как-то так:async function test() {
    let savedResolve, sevedReject;
    const promiseForReturn = new Promise((resolve, reject) => {
        // этот колбэк отрабатывает синхронно
        sevedResolve = resolve;
        savedReject = reject;
    });
    // поэтому savedResolve и sevedReject уже доступны здесь
    sevedReject(1);
    return promiseForReturn; // промис возвращаемый test() будет связан с этим и ждать его
}
Но лучше с таким все же быть аккуратнымasync function test() {
    let savedResolve, sevedReject;
    const promiseForReturn = new Promise((resolve, reject) => {
        sevedResolve = resolve;
        savedReject = reject;
    });
    // это deadlock
    await promiseForReturn;
    sevedResolve(1);
}
Вопрос: Как сделать ассоциативный поиск в PHP?

Лучший ответ: Много где такой поиск работает не на названиях файлов, а на текстовых описаниях, сохранённых для каждого файла.
А дальше это просто полнотекстовый поиск с использованием специализированных инструментов или просто встроенных механизмов СУБД. И да, словарь синонимов всё равно придётся скармливать этим инструментам, магически компьютер их не придумает.

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

Лучший ответ: А вас не смущает, что вы пытаетесь сравнить по принципу больше-меньше строки?

Худший ответ: попробуйте  2.
Вопрос: Как подключить Wi-Fi в ноутбуке Lenovo Ideapad 1 11ada05?

Лучший ответ: Devuan а уж тем более Trisquel  - панически заботятся о безопасности и открытости компонентов, а на вашем ноуте wifi карта скорее всего не имеет свободных драйверов и просто так даже на обычном дебиане или арче не пойдет,  а уж тем более на libre-ядре trisquel. Да и не нужно оно вам, ибо уровень параноидального стремления к открытости и безопасности, который предполагает trisquel никак не сочетается с проприетарными прошивками BIOS и проприетарными компонентами самого процессора. Для полной анонимности и безопасности железку выбирают вдумчиво и покомпонентно. Если говорите, что в Live режиме wifi работал - значит драйвера существуют - это уже замечательно, но тот же Devuan смысла ставить пока нет, как выше написали, даже Linux Mint а уж тем более debian даст вам несоизмеримо более высокий уровень безопасности и конфиденциальности нежели винда. Ставьте и изучайте, все с этого начинали. Удачи!

Худший ответ: Огромная благодарность пользователю xotkot за его ответы!

Порядок установки следующий:

1) Устанавливаем ОС на ноут 

2) Со стороннего компа или смартфона (с OTG поддержкой) скачиваем нужный пакет firmware-atheros и утилиту rfkill. Закачиваем на флешку. 

3) Заходим на рабочий стол под суперпользователем Root. Вставляяем влешку и зва файла формата .deb закидываем в папку с названием root (она видна слева сверху в менеджере файлов).

4) Заходим в терминал и для каждого файла прописываем команду sudo dpkg -i полное_имя_файла.deb и ждём два раза исполнения.

Чтоб не забыть, в терминале так же для обычного пользователя прописываем привилегии sudo командами:

groupadd wheel

usermod -a -G wheel имя_пользователя

5) Перезагружаемся и заходим на рабочий стол под обычным профилем и...вуаля! Wi-Fi засветился, что "есть доступные соединения"- это хороший знак!

В целом задача выполненна!

Дополнительно, тк ноутбук ещё настраивать надо, заходим в менеджер пакетов Synaptic и в настройках=>репозитории надо добавить следующий:

deb deb.devuan.org/merged chimaera main non-free contrib

Теперь можно заниматься обновлением и настройкой...как получится))
Вопрос: Как понять, подключён ли кто-то к моему вайфай?

Лучший ответ: Сосед может банально микроволновкой пользоваться, а у вас Wi-Fi может глючить. Такое бывает.
Или у него свой Wi-Fi, который работает на том же канале и может быть банальный конфликт. Для возможного исключения последнего в роутере поменяйте канал передачи на какой-нибудь другой. А еще лучше на телефон установите какой ни будь Wi-Fi Analyzer и посмотрите, какие каналы больше заняты и выберите какой-нибудь более свободный.

Худший ответ: Это паранойя.

Кроме вашего wifi, есть еще роутер провайдера в вашем подъезде, к которому подключены все ваши соседи, и уже от этого роутера скорее всего оптика идет в серверную провайдера.
Следовательно вся нагрузка со всех соседей все равно идет на одно устройство. Видимо ваш сосед активно качает что-то.
Но ворует он не у вас.
Вопрос: Как переименовать сетевую карту получаемую через esxi?

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

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

Лучший ответ: У вас есть 2 варианта:

1. Вручную залогировать столько времени, чтобы как раз вышло на $50. По ставке $18/час выходит 2:50. Возможно только если вам включили опцию Manual Hours.

2. Клиент сам может прислать оплату на любую сумму в любой момент. У него в интерфейсе есть такая опция.

Худший ответ: Забилить время вручную
Вопрос: Пишу бота для телеграм (telebot), проблема с асинхронными функциями. В чем причина ошибки?

Лучший ответ: 1. await так не пишется.
x = await asyncio.create_task(startq(message))
2. Зачем ты делаешь await?
asyncio.create_task() создаёт корутину, которая будет выполняться конкуррентно с текущей (как бы параллельно)
await приостанавливает выполнение текущей корутины, пока не завершится вызываемая (справа от await).
Т.е. await create_task(...) - это не очень осмысленно: сначала запускаешь параллельную корутину, а потом всё равно стоишь и ждёшь её.
Если тебе нужно запустить корутину startq() и дождаться её выполнения (ну и получить возвращаемое значение) - пиши просто x = await startq(message)
Если тебе нужно запустить корутину startq() и пусть она дальше выполняется сама по себе, тебе от неё ничего не надо - достаточно будет asyncio.create_task(startq(message))

Худший ответ: 1. await так не пишется.
x = await asyncio.create_task(startq(message))
2. Зачем ты делаешь await?
asyncio.create_task() создаёт корутину, которая будет выполняться конкуррентно с текущей (как бы параллельно)
await приостанавливает выполнение текущей корутины, пока не завершится вызываемая (справа от await).
Т.е. await create_task(...) - это не очень осмысленно: сначала запускаешь параллельную корутину, а потом всё равно стоишь и ждёшь её.
Если тебе нужно запустить корутину startq() и дождаться её выполнения (ну и получить возвращаемое значение) - пиши просто x = await startq(message)
Если тебе нужно запустить корутину startq() и пусть она дальше выполняется сама по себе, тебе от неё ничего не надо - достаточно будет asyncio.create_task(startq(message))
Вопрос: Почему возвращает text/html вместо application/json?

Лучший ответ: Попробуйте добавить HTTP-заголовок
Accept: application/json

Худший ответ: Это вопрос к серверу почему он html возвращает. Разберитесь с сетевым обменом.