pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как правильно работать с массивами в RxJs?

Лучший ответ: getParameters(ids: (string|number)[]): Observable<MyResult[]> {
  return forkJoin(ids => ids.map(id => this.packageService.getPackage(id)))
}

Типичный параллельный запрос с получением пачки результатов.
Подписка со складыванием результатов в массив не нужна, промисы вообще не нужно никуда тащить, сразу шли в игнор странных чуваков с промисами и прорвой бессмысленного кода :)
Внутри this.packageService.getPackage возможно придется сделать обработку ошибки, т.к. если в forkJoin попадет ошибка, то сломается вся пачка, ну так же как и в случае Promise.all.

Худший ответ: Promise.all() вам в помощь
Вопрос: Как реализовать удаление файлов до достижения определённого количества свободного места?

Лучший ответ: 1. Посмотреть, сколько свободного места осталось;
2. Если мало, то удалить файлы из директории;
3. Повторить.

Понадобится модуль os.
Всё.

Худший ответ: Очень просто - читайте вывод команды  du с ключом -s 
А уже потом принимайте решение, что и как удалять.
leah@leah-pc ~> du -s /var/www/media
131268256	/var/www/media
leah@leah-pc ~>
Можно конечно и на питоне пройтись по всем подкаталогам и считать размеры всех файлов. Но зачем, если уже есть утилита.
import subprocess
proc = subprocess.run(["du","-s","/var/www/media"], stdout=subprocess.PIPE)
folder_size = int(proc.stdout.decode('utf-8').split('\t')[0])

Ну и удалять можно командой  rm
Вопрос: Какую лучше выбрать wifi камеру для системы распознавания лиц?

Лучший ответ: Скажите пожалуйста, какой алгоритм используете, какие у него ограничения? Второе, у вас какое то конкретное решение (например учитывать в конкретном магазине, в конкретной точке уникальных посетителей) или вам нужна лабораторная установка? Лучшие показатели FRR/FAR я получал от коробочных программных решений, с камерами, имеющими матрицу 2 MPix, и способных выдавать 60 fps. Используется при этом кадровая скорость не полная (6-8 fps), просто качество матрицы и процессора (или SoC)  у таких камер повыше. От применения будет зависеть выбор объектива. Высокие показатели можно получить на объективах без дисторсии, но это 1. не про wi-fi камеры 2. Обычно дороже 100$.
Если же рекомендовать в слепую, по вашим условиям, то вам должны (с ограничениями) подойти:
1. Hikvision DS-2CD2425FWD-IW --  около 60$, набор объективов таков, что уверенное распознавание возможно в упор, метров с трех. Дисторсия присутствует.
2. Dahua DH-IPC-K35AP -- то же самое по условиям применения и цене что и предыдущий вариант, но на проце ambarella
3. Dahua DH-IPC-K22P -- почти то же, но уже от 45$, картинка чуток похуже
Камеры от щяоми и им подобные не могу рекомендовать -- намучаетесь с получением потока. Не wi-fi сетевые камеры дешевле при прочих равных. Камеры от ez-wiz, imou, hiwatch серьезно ниже по качеству картинки, чем то, на что бренд не стесняется клеить логотип, за редким исключением.

Худший ответ: Камеры hiwatch/hikvision смотрите
Вопрос: Работа с csv python, как реализовать вывод рандомной строки?

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

Худший ответ: import random # ипортируешь модуль рандом
# Вот пример как он работает со списком
city_list = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Philadelphia']
print("Выбор случайного города из списка - ", random.choice(city_list))



# пример как нужно сделать тебе
my_str = 'A:kart. B:Mobile. C:Shema. D:other'  # например: у тебя есть такая строка, но тебе нужно из нее получить список
my_list = (my_str.split('.'))  # делаем из строки список. То есть разбиваем строку по точке
print(my_list) # --> ['A:kart', ' B:Mobile', ' C:Shema', ' D:other'] 


#таким образом можно выбирать случайный ответ из вариантов ответа
result = random.choice(my_list)
print(result)
Вопрос: Почему много HTTP запросов — это плохо?

Лучший ответ: Тебе когда надо достать из холодильника 5 бутылок пива, что проще - открыть холодильник, взять 5 бутылок пива и закрыть холодильник, или открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник, открыть холодильник, взять бутылку, закрыть холодильник?

Худший ответ: Да, http2 действительно лучше работает с несколькими запросами, но http2 не у всех доступен
Вопрос: Что значит ссылка без типа?

Лучший ответ: const &y = x;
Это не ссылка без типа, а синтаксически неверный код, который не пройдет трансляцию за пределами GCC.

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

В C++ нет типа по умолчанию, в отличие от С, где типом по умолчанию является int. Если в C код const y = x является синтаксически верным и подразумевает const int y = x, то в C++ этот же код является уже синтаксически неверным и не пройдет трансляцию.
GCC в твоем коде отходит от стандарта C++ в пользу поведения как в C.

Худший ответ: Компилируйте всегда с флагами -Wall -Wextra -pedantic и будет вам счастье :)
Вопрос: HRы-удаленщики, где искать первую работу?

Лучший ответ: HH я не рассматриваю как основной источник вакансий
Поржал.
очень высокая конкуренция
Пятерочка выручает
Интересует конкретно удалёнка и поиск конкретно удалёнщиков 
С чего ты взял что есть какие-то отличия?

Худший ответ: Я бы не отметал hh так сразу, основное количество HR/рекрутмент вакансий там. Дополнительно обратите внимание на их же проект HRspace - хороший способ получить стартовый опыт.

Чтобы следить за вакансиями и зарплатами в IT, подключите getmatch в телеграме или смотрите на сайте https://getmatch.ru/
Вопрос: Не работает код бота, что делать?

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

Худший ответ: Зачем вы пишете ctx: discord.ext.commands.Context
когда можно просто ctx ??
В этом скорее всего и ошибка
Вопрос: Как инициировать запуск desktop приложения через браузер?

Лучший ответ: Только если для этих приложений предварительно зарегистрирован протокол, по которому они открываются.
https://qna.habr.com/q/458151

Худший ответ: Можно:


Открыть ссылку с зарегистрированным протоколом
Дать скачать файл с зарегистрированным расширением
Попросить установить расширение браузера, и через него выполнить действие с привилегиями
Попросить установить агент, и пока он запущен, приказать ему через localhost


Ну и есть относительно кислые варианты типа дать скачать cmd или vbs, чтоб запустили
Вопрос: Как упаковать в exe скрипт?

Лучший ответ: Скрипт на Powershell пойдёт ?
# PSv7   $cert = [Convert]::ToBase64String((Get-Content D:\Path\To\Certificate.pfx/cer -AsByteStream), 'InsertLineBreaks')
# PSv5.1 $cert = [Convert]::ToBase64String((Get-Content D:\Path\To\Certificate.pfx/cer -Encoding Byte), 'InsertLineBreaks')
$Cert = @"
MIILYgIBAzCCCx4GCSqGSIb3DQEH
.....
.....
.....
1y1lZqkQICB9A=
"@

#LocalMachine
$location = [System.Security.Cryptography.X509Certificates.StoreLocation]::CurrentUser

#ls Cert:\CurrentUser\
#ls Cert:\LocalMachine\
$storeName = 'TrustedPublisher'

$store = [System.Security.Cryptography.X509Certificates.X509Store]::new($storeName, $location)
$store.Open('ReadWrite')
[byte[]]$content = [Convert]::FromBase64String($cert)
$certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($content)
$store.Add($certificate)
$store.Close()
В комментариях сверху показано, как получить содержимое сертификата, которое надо подставить в $cert
В комментариях к $location показано что ещё бывает
В комментариях к $storeName Показано откуда его брать

Поддерживается как импорт просто сертификата, так и pfx с ключом
Пароль для pfx не проверял, но по идее будет работать если он будет указан как new($content, $password)

Худший ответ: Самый простой вариант - самораспаковывающийся архив (WinRar, 7Zip, 7Zip SFX Mod и т.д.). Сделать, что бы он распаковывался во временную папку, например, и запускался оттуда.
Вопрос: Как установить PHP 5.4 CentOS 7?

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

Худший ответ: Ну, тут два варианта.

- Искать репу с 5.4. На самом деле для центоса забубенное количество реп и хотя большинство из них фанатские, 5.4 там наверняка есть
- Собрать самому. Найти пакет для el6, выдрать из него спеку чтобы посмотреть параметры сборки или даже вообще собрать "как я сам вижу". Тут правда с установкой надо аккуратнее, ставить в /usr/local, чтобы системный не перекосило
Вопрос: Как захостить свой сайт на микротике?

Лучший ответ: Ох извращения....

Ладно, давайте поэтапно. 
Если ваш "сайт" - это только картиночки-цеесесечки-хетемеельки - крч статика - то в теории микротик умеет хранить в себе файлы и даже отдавать их на сторону. Но там вроде и жуткие лимиты, и скорость низкая, и потанцевать с роутингом придется.
Если нужна хоть какая то логика бекенда (БД, пхп, питон - вот это все) - то уже сложнее. Насколько я помню, у микротика есть такая штука как Metarouter - такой себе аналог виртуалки. В него можно запихнуть OpenWRT. А в OpenWRT уже можно запихнуть всякое типа апача и нджинкса. Так что В ТЕОРИИ вся эта кракозябра может и заработать. Только вот нафига....

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

Лучший ответ: Он не долго обрабатывается, он бесконечный.
12 всегда больше единицы, и while(true) длится вечно. (или пока движок его по таймауту не вырубит)

Худший ответ: Чтобы код обрабатывался быстрее - установите значение опции:
max_execution_time
на желаемое время в секундах.
Вопрос: Почему postgre sql при INSERT требует вводить значения ключевого поля?

Лучший ответ: Он требует не ключевое поле, а просто поле. При INSERT без указания названий полей надо в VALUES передавать значения для всех колонок.
а чтобы без указания можно было бы так добавлять - возможно сделать?
можно
INSERT INTO abonents
VALUES (DEFAULT, 'Petrov', 'Pobeda 9, 1', '8909999231')

Худший ответ: Можно без DEFAULT, следует только перечислить имена колонок, которые Вы вставляете:
CREATE TABLE abonents (
	id serial,
  	name varchar(64),
  	address varchar(64),
  	phone varchar(64)
);

INSERT INTO abonents (name, address, phone) VALUES ('Petrov', 'Pobeda 9, 1', '8909999231');

SELECT * FROM abonents;

PostgreSQL fiddle
Вопрос: Как открыть exe file как архив?

Лучший ответ: Для начала, что за архив? ZIP? Или RAR? RAR питон из коробки не умеет.
Далее, самораспаковывающийся архив - это EXE, к которому тупо дописан архив. Если знаешь, как выглядит заголовок архива (в частности сигнатуру), то можно просканировать файл, найти сигнатуру, отмотать указатель файла на неё, и уже тогда отдавать файл ZIP-объекту.

Худший ответ: Через команды консольного rar.exe

Что для меня стало решением:
"C:\Program Files (x86)\WinRAR\rar.exe" a roadgid_detect.exe flagdata.bin
Вопрос: Что с округлением Excel?

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

Худший ответ: И что тут неверного? В ячейке записано число 0.74888888888889.
При округлении до двух знаков после запятой оно даёт 0.75
При округлении до одного знака после запятой оно даёт 0.7
Вопрос: Как правильно оформиться по ТК на удаленке?

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

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

Лучший ответ: Попробуйте так. Надо в файл *.desktop добавить параметр StartupWMClass=. Значение для этого параметра можете получить с помощью утилиты xprop. В консоли запускаем команду:
xprop WM_CLASS
Затем кликаем по нужному окну. Команда должна выдать строку вида:
WM_CLASS(STRING) = "jetbrains-pycharm-ce", "jetbrains-pycharm-ce"

В итоге в *.desktop должна получиться строка вроде этой, но со своим значением:
StartupWMClass=jetbrains-pycharm-ce

Худший ответ: В общем, что я сделал:

ранее программа лежала в одной папке в .local/dir  и запускалась через ярлык, где - Exec=python3 filepath

теперь она находится "как и надо", в папках, etc, usr/bin , usr/share.. и запускается просто - Exec=program_name
внутри у скрипта #!/usr/bin/python3
и устанавливается через dpkg, я сделал .deb (я не знаю влияет ли это как то на мой вопрос)

строку ""StartupWMClass=" , я добавил, хотя теперь и без нее работает. xproc выдает - "program_name", "program_name"



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

Лучший ответ: https://yandex.ru/search/?text=как+сделать+табы+ja...
Ну блин... один поисковый запрос и проблема решена.

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

Рекомендую раздробить это всё на мелкие задачки.
Твои действия в этой ситуации:
1. Определить приемлемый для себя концепт сайта, это к вопросу одностаничник или цмска. (допустим у тебя просто статичный сайт, на каждую статью свой урл (в данном случае путь к файлу))
2. Пишем в поиске как "сделать меню на css без js" , рекомендую ютубчик.
3. Делаешь на каждую статью свою страничку, странички включают в себя это же меню ну и футер там и тд., а меняешь только блок контента, пункты статей в меню оборачиваешь тегом "a" и добавляешь урлы (рекомендую использовать относительные пути). При клике будет выполняться переход на страничку с необходимой статьей.

Но я бы так не делал, но рекомендую тебе для начала сделать именно так, это даст тебе общее понимание что такое цмс-ки и какие проблемы они решают.
А уже далее смотри в сторону js и php и баз данных)) и будет тебе счастье)
Вопрос: Проекты для начинающих в Python?

Лучший ответ: Если для отработки синтаксиса:

1) Викторину простенькую. Она затрагивает многие аспекты (переменные, if, словари/списки, циклы и т.д.)
2) Бота в TG. Там можно зацепить сразу какие-то доп. функции типо .lower или какие-нибудь модули типо random, datetime, os)
3) Какой-нибудь простенький "шифровщик"/"дешифровщик".
4) Любая из вышеперечисленных, но уже с БД (начните с SQLite3)

Далее усложняйте.

А так по Python есть много книжек на эту тему, например "Делаем игры на Python".  Про youtube вообще молчу - вбейте, что интересно, и скорее всего кто-то уже сделал гайд по проекту

Худший ответ: Если для отработки синтаксиса:

1) Викторину простенькую. Она затрагивает многие аспекты (переменные, if, словари/списки, циклы и т.д.)
2) Бота в TG. Там можно зацепить сразу какие-то доп. функции типо .lower или какие-нибудь модули типо random, datetime, os)
3) Какой-нибудь простенький "шифровщик"/"дешифровщик".
4) Любая из вышеперечисленных, но уже с БД (начните с SQLite3)

Далее усложняйте.

А так по Python есть много книжек на эту тему, например "Делаем игры на Python".  Про youtube вообще молчу - вбейте, что интересно, и скорее всего кто-то уже сделал гайд по проекту
Вопрос: Как быстро вносить данные в поля таблицы Exel?

Лучший ответ: Можно попробовать на https://www.autohotkey.com/ написать

Худший ответ: Парсить входящие письма — ну такое себе..

Если данные однородны (например, форма заявки с заранее определёнными полями на сайте) — тогда копать на стороне отправки писем, чтобы эти данные сразу летели в вашу БД / CRM, а не в email.

Если данные в письмах разнородны (т.е. это, например, письмо-обращения с сайта) — без человека всё равно не обойтись, и тогда проще на условной воркзиле через 2-5 заданий найти человека на постоянку, который будет за копейки вам это делать.
Вопрос: Как создать ISO образ удалённой машины?

Лучший ответ: Учите параллельно Ansible. В будущем поможет сэкономить время. В вашем случае это хорошая альтернатива копии диска.

Худший ответ: Есть стандартные утилиты для создания дампов файловых систем, для ext - dump/restore, для xfs - xfsdump/xfsrestore.
Чтобы сделать дамп достаточно иметь возможность соединиться по ssh, чтобы восстановить дамп - иметь возможность загрузиться с вненео носителя и настроить доступ по ssh.
Вопрос: Почему по-отдельности 2 устройства работают а вместе нет?

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

На правах гадания - любой трансивер RS485 имеет у себя логически вход, который включает/выключает передачу. 

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

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

Длина линии 20 метров, витая пара без экрана.
Только 3 провода, остальное - от лукавого.

Наблюдения:
......
- На клеммах датчика всегда почти ноль...

Что значит "на клеммах"? "А минус Бэ", "Бэ минус A", "А минус общий провод датчика", etc.

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

И, без обид, "PHP developer" и "Что за протокол такой ужасный?" - это сильно разные специальности.

P.S. Если не вдаваться в подробности, то, думаю, гальванически развязанный преобразователь RS-485 на датчике или малинке - поможет.
В EMD-mini, 145%, она уже есть.
Вопрос: Импорт «react-router-dom» происходит не из правильного места, что сделать?

Лучший ответ: Импорт "происходит" во время сборки проекта. Если вы пытаетесь определить откуда импортируется модуль по картинке, не советую это делать.
Если у вас какието проблемы во время сборки, смотрите настройки webpack конфиг
Если вам браузер неправильно подсвечивает какой то синтаксис, обращайтесь в поддержку JetBrains она у них достаточно адекватная.

Худший ответ: Здравствуйте, решили проблему? Если да, то как ?
Вопрос: Как установить Windows 10 на ноутбук Asus, если SSD NVMe не видно при установке?

Лучший ответ: На реддите пишут, что проблема в 11 поколении интеловских процессоров. Нашёл вот этот гайд.

Вкратце: зайдите в BIOS (F2 при загрузке), найдите там Advanced Mode (F7), на вкладке Advanced зайдите в VMD setup menu и поменяйте Enable VMD controller на Disabled. Потом через F10 сохраните изменения и перезагрузитесь. После этого всё должно быть ок.

Есть и вариант с установкой дополнительного драйвера, но нужен драйвер для Intel Rapid Storage Technology, а не для материнской платы. Ссылка есть в том же гайде, но лично я бы воспользовался первым вариантом.

Худший ответ: Помогло отключение secure boot в биосе на время установки
Вопрос: Как бэкапить БД Oracle?

Лучший ответ: Если именно бэкап, то тут однозначно RMAN. Если нужны дампы - то либо через дата-пампы (expdp/impdb), либо, если версии oracle старенькие, утилиты экспорта и импорта (exp/imp)

Худший ответ: Ваш вопрос скорее о миграции данных: https://blogs.oracle.com/russia/19c-migration
Вопрос: Как сделать так что бы картинки не растягивались?

Лучший ответ: Пробовали?
https://qna.habr.com/q/653598

Худший ответ: Пробовали?
https://qna.habr.com/q/653598
Вопрос: Как в PHP вынуть номер абонента?

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

Худший ответ: Учитывая что по структуре это ini-файл, используйте parse_ini_file или parse_ini_string
Вопрос: Как поменять название для главной ветки по умолчанию?

Лучший ответ: Вы забыли обновить Git.
Эта фича появилась в версии 2.28.

Худший ответ: Попробуй прописать следующую команду, но помни, что старой ветки больше не будет, так как ты ее переименуешь
$ git branch --move master ${имя новой ветки}

Если работаешь в команде, то отправь ее в общий репозиторий

$ git push --set-upstream origin ${имя новой ветки}
А вообще, есть отличное руководство по гиту https://git-scm.com
Надеюсь тебе это поможет
Вопрос: Почему некотрые android приложения запускаются так быстро?

Лучший ответ: Разобрался. Если собрать релизную apk, то приложение стартует быстрее
2021-07-21 09:54:50.961 1321-1344/? I/ActivityTaskManager: Displayed com.tutaf.emptyapp/.MainActivity: +479ms

Худший ответ: Дополнительно может помочь оптимизация для холодного запуска, библиотека которая решит несколько проблем и повысит приоритет инициализации важных для первого запуска инструкций.
Jetpack App startup 
Источник: https://developer.android.com/topic/libraries/app-...
Вопрос: Блокировка сайта РКН — как лучше поступить?

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

Блокируется не сам сайт, а только доступ к нему => как только меняешь доменное имя и ip - доступ снова будет.

Но если тебя блочат, то тут скорее имеет смысл не воевать с ветряными мельницами, а ограничить доступ (или удалить) к тому контенту, из-за которого словил блокировку.
Либо забить и пусть посетители пользуются vpn-ом.

Худший ответ: будет ли мой сайт заблокирован повторно при сохранении всей информации?
Да. Как только найдут. Поменяешь снова - снова какое-то время работает - и снова найдут.

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

Лучший ответ: 1. Это не цифры, а числа
2. Через split разделяешь строку и каждый элемент получившегося списка кладёшь в новую переменную

Будет что-то типа 
line = input()
terms = line.split(" ")

a = int(terms[0])
b = int(terms[1])
c = int(terms[2])

Худший ответ: Можно использовать списки.

numbers = list(map(int, input().split(' ')))
Вопрос: Жесткий диск во время работы издаёт звук (такой как при включени и выключении) — «высокочастотный свист». Что может быть причиной?

Лучший ответ: Это как в автомобиле. Если что-то застучало или загремело - срочно на СТО. Учитывая что это HDD механического типа - далее ситуация будет ухудшаться. Я-бы сделал сразу полный бекап всего. Чтоб потом не плакать слезами. И в ремонт.

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