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

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

Худший ответ: 1) Токенизация и лемматизация текста
2) Bag of words или TF/IDF векторизация
3) Доп.фичи про уникальность телефона / адреса.
4) Простая линейная модель поверх этих векторов.
Тому, кто хоть раз работал с такими задачами, дел на 1-2 вечера.
Вопрос: Проблемы ИИ в философии?

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

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

Лучший ответ: Во первых, если вы используете именно функцию, то вам необходимо проверять в ней тип элемента, если массив перебирать циклом!
Для лучшего понимания советую вам посмотреть исходник функции addClass в библиотеке jquery, там в принципе все понятно.
Вот мой вариант, немного переписаный, но основанный именно на addClass в jquery:Array.isArray = function(obj) {
	return /^\[object (NodeList|Array)\]$/.test(Object.prototype.toString.call(obj));
};

Document.prototype.addClass =
DocumentFragment.prototype.addClass =
NodeList.prototype.addClass =
Element.prototype.addClass = function(value) {
	if( typeof value === "string" && value ) {
		var j, current, clazz, finalValue;
		var stripAndCollapse = function(v, a) {
			var tokens = v.match(/[^\x20\t\r\n\f]+/g) || [];

			return a ? tokens : tokens.join(" ");
		},  classList = stripAndCollapse(value, true);

		var list; Array.isArray(this) ? (list = this) : (list = [], list.push(this));

			list.forEach(function(elem, i) {
				// This expression is here for better compressibility (see addClass)
					current = elem.nodeType === 1 && (" " + stripAndCollapse(elem.className) + " ");
				if( current ) {
					j = 0;
					while( (clazz = classList[j++]) ) {
						if( current.indexOf(" " + clazz + " ") < 0 ) {
							current += clazz + " ";
						}
					}

					// Only assign if different to avoid unneeded rendering.
						finalValue   = stripAndCollapse(current);
					if( finalValue !== elem.className ) {
						elem.setAttribute("class", finalValue);
					}
				}
			});
	}

	return this;
};

Худший ответ: https://jsfiddle.net/cen1xxn0/1/
Немного поисправлял. Вы не проверяли, находит он что-нибудь или нет.
Вопрос: Как получить id и вставить его в ссылку?

Лучший ответ: Вы серьезно? 
codernote.ru/jquery/kak-poluchit-id-elementa-s-pom...

Худший ответ: вторую кнопку выбрать по классу или в вашем варианте
$('тут селектор').attr('href', '#buy='+$('.button').attr('id'))
Вопрос: Как быстро заменять фоторафии под слоем?

Лучший ответ: Не нужен никакой экшен!Вариант 1
Делаете документ нужного размера, вставляете фоновое изображение ноутбука, вставляете скриншот с соотношением сторон того ноутбука (16:9 и т.п.). Далее преобразуете этот скриншот в смарт-объект и делаете необходимые манипуляции чтобы он был размещен как нужно на экране ноутбука. Сохраняете шаблон и всё.
Теперь, чтобы вставить другой скриншот просто открываете шаблон, кликаете дважды на смарт-объекте и он открывается в новой вкладке, вставляете в смарт-объект новый макет сайта, сохраняете документ (Ctrl+S в открытом смарте) и закрываете его. Вуаля! В шаблоне на экране ноутбука уже новый сайт виден. Сохраняете джипег или пнг, а сам шаблон можно не обновлять.
Но есть еще более простой второй вариант.
Ищите в интернете понравившийся мокап (например, laptop screen mockup), качаете и видите уже готовый шаблон. Пользуетесь как описано выше.
Таким же образом можно использовать не только для ноутбуков, но и для ПК, Маков, смартфонов и прочего.

Худший ответ: Записать action, и в batch
https://www.lifewire.com/create-action-for-batch-p...
Вопрос: Как правильно настроить автодеплой в веб разработке?

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

Худший ответ: Юзай любой CI типа Jenkins или встроенный в GitLab например. А деплой в Docker контейнера с помощью Ansible можно или если прям совсем заморочиться то Kubernetes
Вопрос: Не работает вход в Windows 10?

Лучший ответ: Что это может быть? 
ничего, сломали систему, в таких случаях проще переустановить с нуля чем чинить

Худший ответ: Твикер сломал систему, что было. Что-то лишнее удалил, что-то переоптимизировал. Сносите систему, ставьте заново. Если хотите разобраться, что ее сломало - поставьте твикер заново  :)
Вопрос: Как в JS отловить изменения сделанные при помощи innerHTML?

Лучший ответ: Делегирование событий

Худший ответ: Для этой цели отлично подходит Proxyconst div = document.createElement('div')
document.body.appendChild(div)

const divWatcher = new Proxy(div, {
	set(target, prop, value) {
		target[prop] = value
		console.log(prop, value)
		return true
	}
})

divWatcher.innerHTML = 'html' // innerHTML html
https://jsfiddle.net/lloydbanks/jgqokech/
Вопрос: Готов ли react native для продакшена?

Лучший ответ: В целом готов.
Вопрос про преимущества странный, универсальный инструмент, те есть возможность держать почти один код для всех платформ, отсюда же вытекают и недостатки не персонального подхода к каждой платформе.
В целом все классно, но только ели ты сам крутишься и живешь в современном JavaScript мире, если нет, то прям сверх смысла нет. 
Этот инструмент создан в том числе и для доступа к огромного сообщества js разработчиков к мобильным платформам, поэтому если ты Swift разработчик, то все ок, сиди  на Swift, остальное уже для общего образования, или уже из реальной жесткой необходимости.
Короче говоря если ты вообще с нуля, то изначально тебе нужно влиться в современный JavaScript(Babel, ES6+ и тд), а уже затем реакт и компашка.
Если же ты уже в этом варишься, можешь с уверенностью начинать использовать.

Худший ответ: Да, он определенно готов к производству.
для примера  Carbon Health
Вопрос: Как в Windows разрешить приём не поддерживаемых им Ethernet сообщений?

Лучший ответ: Нужно перевести интерфейс в неразборчивый режим

Худший ответ: Занимался Copy-Past и не разобрался с кодом который ставлял. Надо было открывать SharpPCap устройство в режиме Promiscuous modewinPcap.Open(SharpPcap.WinPcap.OpenFlags.Promiscuous | 
    SharpPcap.WinPcap.OpenFlags.NoCaptureLocal, readTimeoutMilliseconds);
Моя сетевая карта не принимала чужие MAC адреса
Вопрос: Вопрос по статическим классам?

Лучший ответ: Нет понятия статического класса. Статическими могут быть свойства или методы класса, но не сам класс.
1. У класса может быть конструктор вне зависимости от наличия статических методов.
2. Статический метод не имеет доступа к свойствам класса, поэтому да, туда надо передавать или подтягивать внурти зависимости метода от класса.
3. Из статического метода нельзя обратиться через $this.
PS: другими словами - статический метод, это просто функция, которую можно вызвать без создания объекта этого класса, а статическое свойство - это "статическая переменная".

Худший ответ: 1. Если в классе есть статический метод у класса что, не может быть конструктора?
Наличие статического метода не делает класс статическим. Формально вам ни кто не запрещает реализовывать конструктор в статических классах, но вызваны они никогда не будут.2. О каких зависимостях идёт речь? Можно передать в него всё, что нужно
Речь идет о внутренних зависимостях. Например подключение к бд, определенное в конструкторе не будет доступно.Внутри статического класса нельзя обратиться к свойству класса? Например $a = $this->var;
Нельзя. Нет объекта, нет указателя $this. Для доступа к свойствам используется конструкция self:$var. Но, чтобы свойство было доступно - оно должно быть заранее определено прям в классе. Рассматривайте статические классы, как наборы связанных функций.
з.ы. Еще раз, наличие статического метода или свойства в классе, не делает этот класс статическим. Для статических классов никогда не создают инстансы.
Вопрос: Почему не работают условные комментарии?

Лучший ответ: Для IE8 нужно написать так:<!--[if !IE 8]><!-->
<script type="text/javascript" charset="utf-8" src="//api-maps.yandex.ru/services/constructor/1.0/js/?sid=WcrZ7ic6V23Ummldw0a9mbCObyfKl3Bi&width=600&height=450"></script>
<!--<![endif]-->
Проверил - во всех браузерах работает скрипт кроме IE8 (как и нужно)

Худший ответ: Условные комментарии были выпилены из ИЕ (начиная с 10 версии по-моему). Вам нужно переписать его так, чтобы он подходил только для ИЕ8, например, чтобы прятал блок с картой в нём.
Вопрос: Как написать запрос по нескольким критерям в одном столбце?

Лучший ответ: Select  idпродукта from
(
  Select idпродукта  from table where 
                  (Значение = 200 and Idатрибута = 2 ) or 
                  (Значение = 10 and Idатрибута = 3) or
                  (Значение = "Ель" and Idатрибута = 1)
) t1
group by idпродукта
having count(idпродукта)>2

Худший ответ: Как вариантselect id from products as p
INNER JOIN productPropertys as type ON type.product_Id = p.id and type.value = 'ель'
INNER JOIN productPropertys as length ON length .product_Id = p.id and length .value = '200'
INNER JOIN productPropertys as someOtherProperty ON someOtherProperty .product_Id = p.id and someOtherProperty .value = '10'
Вопрос: Как восстановить HDD после разбития RAID0?

Лучший ответ: Надо убить всю разметку на диске с помощью того же акрониса или Парагона...
После форматнуть. Должно помочь

Худший ответ: загрузиться с флешки, где есть mhdd или victoriya и сделать erase харда
Вопрос: При хэшировании пароля, возникает ошибка, в чем проблема?

Лучший ответ: $salt = "2ert45g6klmnop56891234gb"; 
$password = hash('sha256', $password.$salt ); // algo, pass
но я бы не рекомендовал так делать. лучше используй password_hash и без соли

Худший ответ: $salt = "2ert45g6klmnop56891234gb"; 
$password = hash('sha256', $password.$salt ); // algo, pass
но я бы не рекомендовал так делать. лучше используй password_hash и без соли
Вопрос: На каких устройствах пишут игры в российских компаниях?

Лучший ответ: За 7 лет работы в геймдеве ни разу не видел, чтобы компания НЕ предоставляла ПК. Всегда предоставляют рабочее место. Могут дать и ноут, но обычно не программистам. 
Если вас просят носить на работу свой ноут и работать на нем - бегите. Вообще нормально работать на ноуте в юнити без внешних мониторов - вряд ли получится продуктивно.

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

Лучший ответ: Inline keyboard
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
    if call.data == "comproxy":
        comproxy_keyboard = types.InlineKeyboardMarkup()
        call_button_comproxy_restart = types.InlineKeyboardButton(text="Restart", callback_data="comproxy_restart")
        call_button_comproxy_status = types.InlineKeyboardButton(text="Status", callback_data="comproxy_status")
        call_button_comproxy_back = types.InlineKeyboardButton(text="Назад", callback_data="back")
        comproxy_keyboard.add(call_button_comproxy_restart, call_button_comproxy_status)
        comproxy_keyboard.add(call_button_comproxy_back)
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id, text="Выберите:",
                              reply_markup=comproxy_keyboard)

###


    elif call.data == "back":
        back_keyboard = types.InlineKeyboardMarkup()
        call_button_back_comproxy = types.InlineKeyboardButton(text="Comproxy", callback_data="comproxy")
        call_button_back_ser2net = types.InlineKeyboardButton(text="Ser2net", callback_data="ser2net")
        call_button_back_cups = types.InlineKeyboardButton(text="Cups", callback_data="cups")
        back_keyboard.add(call_button_back_comproxy, call_button_back_ser2net)
        back_keyboard.add(call_button_back_cups)
        bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                              text='Чего изволите, господин?', reply_markup=back_keyboard)

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

Лучший ответ: Помигать.dd if=/dev/sdX of=/dev/null bs=100M count=10

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

Лучший ответ: Увы, очищать папку через cron не лучшая идея. По факту Вы боретесь не с проблемой, а с симптомом.
Почему разрастается папка кеша?
1) У Вас очень большой и сложный сайт. 
Например при 10 тысячах товаров в одной категории, если Вы будете пытаться кешировать каждую страницу, то размер будет большой. Предположим на страницу с 10 товарами уходит 10КБ кеша (на самом деле, все зависит от верстки и может достигать и бОльшего размера), тогда общий кеш каталога будет 10КБ * 10 000 = ~100МБ (учетных, на самом деле около 90МБ).
Теперь посчитаем, что может быть 2 вида отображения: списком или плиткой. Соответственно уже 180МБ. А если товаров не 10 тысяч, а 100 ? А если есть еще и фильтр и его результаты могут быть кешированы? И это мы посчитали только каталог и довольно малый размер кеша.
Решение: подобрать время кеширования и увеличить дисковое пространство
2) Неправильно определено время кеширования.
Например: у Вас ttl кеша стоит 3 месяца. И даже если за 3 месяца на него никто не зашел, он все-равно хранится. Например у Вас очень объемный кеш (что очень плохо), который занимае 500КБ (а иной раз и 1 МБ), получается что этот 1МБ будет хранится на протяжении длительного времени, даже если к нему нет обращения.
Решение: подобрать время кеширования (возможно где-то стоит уменьшить) и параметры компонентов (возможно что-то не стоит кешировать)
3) Неправильно настроен кеш собственных или битриксовых компонентов.
Например есть очень большой пунктик в битриксе с кешем меню - если указать MENU_CACHE_VARS (вроде так пишется, по памяти писал), то он будет под каждый набор параметров создавать кеш. И тогда кеш меню начинает сильно пухнуть и еще и кешироваться на длительное время.
Решение: нужно проверить параметры кеширования в компонентах. Возможно в своих компонентах переписать или посмотреть на основании чего он формируется
4) Ошибка с механизмом очищения кеша.
Например, когда кеш не успевает удаляться, и накапливается. Таким образом происходит дублирование одного и того же кеша в разных компонентах.

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

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

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

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

Худший ответ: Единственный способ учесть изменения - это дождаться изменений и посмотреть. 
Как пишутся шаблоны? Для начала берется какой-то готовый и на его основе начинаются делаться проекты. Именно проекты а не просто "подготовка к проектам". Это по сути является преждевременной оптимизации. Особенно если опыта у вас не так много.
Далее уже с каждым проектом вы будете привносить что-то новое. Можно делать ретроспективы и делать улучшения для других проектов... как-то так. Все остальное - либо у вас уже есть опыт (или у членов команды), либо это будет пустой тратой времени. И это время лучше потратить на изучение вопросов "почему у других так".
Вопрос: Как в функции вернуть результат выполнения функции обратного вызова?

Лучший ответ: Изучите промисыfunction do() {
  return new Promise((res, rej) => {
      getUrl(() => {
          const a = 5;
          res(a);
      })
  })
}

do().then(res => console.log(res));

Худший ответ: Ни callback-функции, ни промисы, ни "промисифицированные функции", ни async-функции не умеют возвращать (return) значения. Sic!
Вопрос: Как вывести расхождения с двух больших таблиц?

Лучший ответ: Это оно https://docs.oracle.com/cd/B28359_01/server.111/b2... ?
---------------------
INTERSECT Example The following statement combines the results with the INTERSECT operator, which returns only those unique rows returned by both queries:
SELECT product_id FROM inventories
INTERSECT
SELECT product_id FROM order_items
ORDER BY product_id;
MINUS Example The following statement combines results with the MINUS operator, which returns only unique rows returned by the first query but not by the second:
SELECT product_id FROM inventories
MINUS
SELECT product_id FROM order_items
ORDER BY product_id;
----------------------

Худший ответ: Вы можете использовать для этой задачи dbForge Schema и Data Compare for Oracle
Вопрос: Как автоматически удалить во множестве html файлах кусок кода, учитывая, что он разный в каждом отдельном файле?

Лучший ответ: Если  у вас одна пара тегов <article>, то все довольно просто решается при помощи регулярных выражений.
Обрезать все что до <article> так: 's/.+<article>/<article>/'
Обрезать все что после </article> так: 's/<\/article>.+/<\/article>/'
Рекурсивно пройтись по папкам как-то так
https://stackoverflow.com/questions/6758963/find-a...

Худший ответ: Большое спасибо всем за помощь. Получилось обработать через Notepad ++ все 39 тыс. файлов, через эти команды[\s\S]*?(<article role="main">[\s\S]*<\/article>)[\s\S]*$1
Вопрос: Как происходит процесс создания сайта?

Лучший ответ: Здравствуйте!
Коротко об этапах разработки сайта:
1) Подготовка макета (дизайнер рисует psd макет). Лучше дизайн рисовать под конкретную сетку. Например, под сетку для bootstrap, skeleton и т.д.
2) Этап верстки макета - верстальщик верстает макет с использованием html 5 + css 3 + js. Допольнительно можно подключать все, что угодно. Это могут быть различные js библиотеки (jQuery, Angular JS, слайдеры - slick.js и многое другое). Также это могут быть различные шаблонизаторы и доп. языки для формирования динамического кода... Например, haml, less, scss. Также он подключает подходящую сетку. Например, bootstrap 3 или bootstrap 4 или skeleton и многое другое. или верстает флексами, css grid и т.д.
3) Этап адаптации (подразумевает под собой адаптацию обычного статичного html шаблона под разные CMS & CMF системы). Например, если речь идет о WordPress, то создается тема с применением основ рнр и кодекса WordPress. (изучите кодекс ВП). Если это например, сайт на Spring Boot (java), то например, могут адаптироваться под freemarker, thymeleaf, mustache и т.д. Также если речь идет о ВП, то на этом этапе можно прикрутить фреймворк для управления настройками темы. например, redux framework. Правда, можной обойтись малой кровью и просто прикручивать кастомные поля ACF или carbon fields (фреймворк). Ну или использовать внутренние средства ВП для формирования настроек темы.
Если речь идет об использовании готовой темы для ВП, то тут все намного легче.... установили готовую тему на сайт, при необходимости прикрутили кастомные поля ACF или если это премиум тема (в ней уже есть фреймворк и скорее всего визуальный редактор). А дальше при помощи виз. редактора добавляете контент и сдаете заказчику. При необходимости внесения правок в премиум тему, можете создать дочернюю тему и вносить правки туда, дабы не потерять внесенные правки при обновлении.

Худший ответ: Тут
Вопрос: Почему пропадает значение переменной при подключении к БД?

Лучший ответ: Давно удалённая функция mysql_query попытается сначала найти уже открытое ранее соединение через mysql_connect. Если такого нет - попробует сама установить соединение с дефолтными настройками root@localhost,, без пароля.
Что в тексте ошибки и видно.

Худший ответ: что-то тут не так. либо ваш файл настроек не тот, либо не хватает куска кода
Вопрос: Кто может рекомендовать доску объявлений на php?

Лучший ответ: Тебе нужна доска уровня авито и бесплатно. Но увы таких нет.

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

Лучший ответ: zooby посмотрите справку Google Schema.org for Videos и schema.org/VideoObjectТ.е. что нужно добавить в этот стандартный код.schema.org/Product не предусматривает добавление видео, но можно добавить Review для продукта, который может содержать видео. schema.org/Review
Вы можете поступить проще, разместить короткую подсказку, несколько предложений о том что за видео и вставить сам код с youtube, поисковики поймут что на странице содержится видео, даже без микроразметки.

Худший ответ: Типа такой обёртки должно быть (и не добавить к продукту, а добавить к видео)<div itemprop="video" itemscope itemtype="http://schema.org/VideoObject">
  <h2>Video: <span itemprop="name">Interview with the Foo Fighters</span></h2>
  <meta itemprop="duration" content="T1M33S" />
  <meta itemprop="thumbnail" content="foo-fighters-interview-thumb.jpg" />
  <object ...>
    <param ...>
    <embed type="application/x-shockwave-flash" ...>
  </object>
  <span itemprop="description">Catch this exclusive interview with
    Dave Grohl and the Foo Fighters about their new album, Rope.</span>
</div>
Подробнее действительно по ссылке schema.org/VideoObject
Вопрос: В чем преимущество Dependency Injection перед использованием оператора new?

Лучший ответ: но так и не понял, в чем его прелесть. 
Не делать все руками. Описать граф зависимостей а он уже как-то сам соберется. То есть собирать граф зависимостей руками оно может даже правильнее, но с точки зрения читабельности кода, поддерживаемости кода (особенно учитывая миллионы зависимостей во фреймворках), да и просто увеличения скорости разработки, лучше использовать какой-нибудь контейнер в main и там запросить вершину графа зависимостей. А он уж разберется.
По сути главное что бы ваш код о контейнере ничего не знал. ЧТо бы вы в один долгий зимний вечер могли влегкую заменить все на "ручную" сборку и сам код трогать не пришлось... Ну аннотации/атрибуты это уже компромис для удобства.

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

Лучший ответ: Settings --> username
Можете указать там свой

Худший ответ: спасибо
Вопрос: Почему nmap пропускает порты?

Лучший ответ: Кстати порт udp or tcp ? - какие настройки сканирования в nmap ?
nmap -p 300 hostname  - скан порта 300 
nmap -sT hostname - скан всех tcp на целевой магине
и кстати что там с фаэрволлом ?
и совсем глупый вопрос - а точно сервер на внешнем интерфейсе висит, а не на 127.0.0.1

Худший ответ: настройки ковыряйте
по дефолту чекает стандарты только, до 1024