Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Работа с объектами?

Лучший ответ:
Object.keys(obj) возвращает массив собственных итерируемых строковых свойств. Как раз то, что хочется пересчитать в задаче.
Из названия функции "isEmpty" следует, что она возвращает Булево значение (true / false).

const isEmpty = obj => Object.keys(obj).length <= 2;
Использование:console.log( isEmpty({ a: "AAA" }) ? 'object is empty' : 'object is full of properties' );
// выведет "object is empty"

console.log( isEmpty({ a: "AAA", b: "BB", c: "C" }) ? 'object is empty' : 'object is full of properties' );
// выведет "object is full of properties"

Худший ответ:
const testObject = {
    name: 'Dmitriy',
    age: 99,
    location: 'Monaco'
}
const testObject1 = {
    name: 'Dmitriy'
}
const testObject2 = {}
function isEmpty (object) {
    //Создаем цикл для перебора объекта
    for (let key in object) {
        //Создаем переменную которая владеет ключами и значениями объекта
        const meaning = Object.entries(object);
        //Провожу сравнение переменной с числом 2, что количество ключей должно быть 2 или больше, тогда условие выполняется
        if (meaning.length >= 2) {
            // Возвращает в консоль текст если выполнилось условие выше
            return console.log('object is full of properties');
        }
        //Провожу сравнение переменной с числом 1, что количество ключей должно быть ровно 1, тогда условие выполняется
        else if (meaning.length === 1) {
            // Возвращает в консоль текст если выполнилось условие выше
            return console.log('object has one property');
        }
    }
    // Если не выполнилось ни одно условие выше тогда объект является пустым и выводит в консоль данный текст
    return console.log('object is empty');
}
//Выводит заполненный объект
isEmpty(testObject);
//Выводит объект который, имеет только одно свойство
isEmpty(testObject1);
//Выводит пустой объект
isEmpty(testObject2);
Вопрос: Где и как можно использовать программирование в химии?

Лучший ответ:
Информатика - это наука о хранении и обработке информации. Поэтому ЛЮБАЯ работа с ЛЮБОЙ информацией - это вот как раз про "программирование" грубо говоря.

UPD посмотрите в сторону Jupyter Notebook и всего что с ним связано - как минимум эта штука в научсфере должна быть востребована

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

Лучший ответ:
async function run() {
  console.log(await translate('Привет!', 'ru', 'es'));
}
run()
// или так
translate('Привет!', 'ru', 'es').then(res=> {
  console.log(res)
})

Худший ответ:
Рекомендую почитать документацию и ссылки к ней
https://developer.mozilla.org/en-US/docs/Web/JavaS...
Вопрос: Как дальше продолжить обучение Java?

Лучший ответ:
Я никогда не понимал такие вопросы.
Если ты не знаешь что учить дальше, то у тебя просто нет интереса к программированию. И самое лучшее решение - бросить это дело, это не твоё.
Ещё раз: сам факт наличия твоего вопроса говорит о том, что программирование тебе не интересно.
Когда есть интерес, то такие вопросы не возникают. Ты сам себе придумываешь проект, делаешь его и одновременно учишься.

Худший ответ:
Иди на любые курсы, что тебе по карману. В програмировании нет, понятия "я уже научился или выучил все".
Вопрос: Как завершить установку WSL 2?

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

Если принципиально хочешь обойтись без wsl2 - вырубай его поддержку в docker desktop и используй virtual box или hyper-v - тогда докер развернёт виртуалку с линуксом на них.

Худший ответ:
Всмысле как развернуть докер? Докер работает ТОЛЬКО на линукс, Вам и дают инструкцию как WSL2 поставить с ядром линукс...
Но мое мнение - лучше вместо WSL юзать виртуалку с убунту\дебиан
Вопрос: Как обычно логируют краши от паник?

Лучший ответ:
Если говорить про http сервер - я перенял практику из Django.

У меня есть http middleware, который:
- вызывает recover
- нормально отвечает на запрос, а не падает, т.е. 500 + что мы уже знаем об ошибке и работаем над её устранением
- собирает всю информацию по запросу, http заголовки, cookies, настройки сервера, переменные окружения и т.д. и оповещает меня по почте/телеграм

Это даёт мне возможность узнавать о проблеме до того, как кто-то напишет в поддержку.

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

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

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

Худший ответ:
Может быть нужно добавить еще один столбец с названием фермы ?Именно. Только не с названием, а с идентификатором. И сделать составной первичный ключ (id_фермы, id_бирки).
Вопрос: Что значит выучить язык программирования?

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

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

Полностью на 100% язык невозможно выучить
Вопрос: Как устроена логика работы этого повысительного преобразователя?

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

как работает блокинг-генератор есть огромное количество статей.

Худший ответ:
Начну с того, что никакой "логики" в этой схеме нет, а есть принцип работы. Разумеется, это никакой не блокинг-генератор, потому что в нём нет конденсатора в базовой цепи, определяющего период колебаний. В старые времена автоколебательный генератор без времязадающего конденсатора носил название "L-генератор", но сейчас это название малоупотребительно (даже Гугл его не знает). 
Впервые эта схема была опубликована в "Радио" №11 за 2001 год, в варианте преобразователя 1,5 вольт в 9 вольт для питания мультиметра от элемента АА. Подробное описание есть тут и ещё много где. Интересная особенность - этот преобразователь не требует отдельного выключателя и сам прекращает генерацию при отключении нагрузки (понятно, почему - из-за обрыва базовых цепей транзисторов, они при этом запираются). Ещё одна особенность, конструктивная - весь ток нагрузки идёт через базы транзисторов, и всё выходное напряжение приложено к БЭ-переходам этих транзисторов, поэтому транзисторы в эту схему годятся не любые (я бы подчеркнул - совсем не любые).
Вопрос: Как сделать такой же scroll?

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

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

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

Худший ответ:
На этом сайте это делается jsкой и меняется transform: translate3d(-2188.3021330130887px, 0px, 0px); у блоков


Как вариант, сделать обычную "горизонтальную прокрутку", но уродливый скроллбар все равно придется через js править. Так что лучше сразу делать "нормально".
Вопрос: Как починить ПК после чистки системника?

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

Больше напоминает троттлинг - снижение частоты процессора при перегреве.

Проверить еще раз нормально ли прижат кулер к процессору, если снимала кулер, возможно термопасту нужно заменить. Проверить что точно кулер крутится.
Короче проверь систему охлаждения.

Худший ответ:
Самые распространённые проблемы: незамкнуты контакты и сдвинут куллер. В первом случае нужно пререпроверить все провода питания + оперативную память, во втором - заново намазать соединение термопастой.
Вопрос: Это слабые параметры ноута? Не тянет Mint xfce?

Лучший ответ:
AMD e-1-2100
Да. Это действительно мусор. Несмотря на выход в районе 2013ого года - по факту этот проц еще на момент выхода устарел лет на пять-десять. Он медленный, нет... он чертовски медленный, это даже не уровень 15ти летней давности (да pentium 4 реально быстрее). Ему не поможет никакой объем озу и ssd. Был близкий по производительности amd c-50 - не потянул даже word.
Вот обзор если хочется посмеяться:
https://www.ixbt.com/cpu/amd-kabini-intel-core-111...
и сравнение с медленной версией p4
cinebench 2003:
pentium III 1.6: 182 cb
amd e1-2100 1.4: 252cb (а у тс вообще только 1ггц)
pentium4-2800: 268 cb (2002 год)

Худший ответ:
диск Hdd сменил на ssd?

современные браузеры уже фактически как операционная система, монструозные и тяжеловесные, первый запуск может легко потребовать сотни мегабайт с диска прочитать, а случайное чтение hdd от силы 10мб/сек

если ютуб тормозит то уже странно, процессор конечно не фонтан, но я открывал на еще более слабой машине 2013г современный браузер (при наличии ssd) - все неплохо работает (и Hd720 отлично грузит)

может проблемы с драйверами на видео, браузер пытается работать с ускорителем а там какой то глюк с драйвером?

upd: охх, мой косяк, я гуглил модель ноута и там выпал другой проц.
железо топиккастера  Single Thread Rating: 327 (современная норма выше 1000)
однозначно процессор нереально слабый

p.s. совет автору вопроса - загружай ролики с помощью youtube-dl или соответствующих плагинов к браузеру, и смотри плеером mpv, я так на eeepc900 делал (настроил горячие кнопки на запуск моего скрипта, который брал ссылку из буфера и запускал просмотр)
Вопрос: Как выполнить запрос INSERT в php7.4?

Лучший ответ:
РНР надо конфигурировать так, чтобы он всегда сообщал об ошибках.
В частности, при соединении с PDO, надо настраивать режим информирования об ошибках
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Ну и не забыть про ошибки РНР - при разработке они должны выводиться на экран. 

Если ошибок нет, то либо до записи дело не доходит,и это выясняется отладкой, либо запись всё-таки есть, но проверяется неправильно. Также можно уточнить состояние PDO::ATTR_AUTOCOMMIT

Худший ответ:
https://www.php.net/manual/ru/pdo.errorinfo.php
В таких случаях смотрят информацию об ошибке
Вопрос: Как поставить сайт в no-index?

Лучший ответ:
Создаете файл robots.txt в корне файла
Как запретить индексацию сайта

Худший ответ:
Во-первых, на сайте может быть установлен SEO-плагин, который сам генерирует robots.txt, и его можно редактировать через админку. Если установлен, сделать это можно в нем. Если никакой плагин не установлен, можно использовать такой: https://wordpress.org/plugins/pc-robotstxt/ – он конкретно для создания robots.txt. Но я бы рекомендовал какой-то SEO-плагин из топа.
Во-вторых, поставь галочку "не индексировать сайт" в "Настройки" – "Чтение".

PS: ответ, который ты отметил решением, вредоносный. Не смей создавать robots.txt в корне сайта.
Вопрос: Какие есть курсы по Python для знающих другие языки?

Лучший ответ:
Если просто синтаксис узнать, то хватит https://learnxinyminutes.com/docs/ru-ru/python-ru/

Худший ответ:
не нашёл нормальной документации по Python
А чем вас официальная документация не устроила?
Там воды нет.
В остальном - каноничный Марк Лутц, с его Изучаем Python 5-е издание [1-2 том]
 Ну и от себя хотел спросить можно ли писать {}, чтобы нормально оформлять код (как в том же C#). К примеру, подойдёт ли такой код:
Увы, но нет.
Вопрос: Как посчитать число 2 в 1 000 000 000 000 000 степени?

Лучший ответ:
Вам точно или примерно? Если как в физике обычно, то:
21 000 000 000 000 000 = 10lg(2)*1 000 000 000 000 000 = 10301029995663981,1952137... = 100,1952137... * 10301029995663981 = 1,567522 * 10301029995663981

Худший ответ:
Так это элементарно считается. 2^10 = 1024, 2^20 = 1048576 и т.д. Смысл понятен
Переводи в двоичную систему и вперёд.
Вычисляется меньше секунды
Вопрос: Как запустить django на виртуальной машине?

Лучший ответ:
Запускать так:
... manage.py runserver 0.0.0.0:8000

Худший ответ:
Запускай приложение на сервер с помощью supervisor или systemd
Проксируй к нему запросы через Nginx

Настройка Debian, Nginx и Gunicorn для Django проекта
Вопрос: Получить содержимое страницы другого сайта на JS?

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

Худший ответ:
Конечно же можно, вам достаточно лишь запрашивать чужую страницу не напрямую, а через свой сайт.

Ваш сайт на PHP?
Вопрос: Существует ли устройство для отправки и передачи аудио радиосигналом?

Лучший ответ:
Ну купите профессиональный мониторный трансмиттер, которым пользуются музыканты на сцене. 


От блютусного он будет отличаться минимальной задержкой воспроизведения и огромной дальнобойностью

Худший ответ:
С чего это беспроводные наушники убогие?)

Ну посмотрите в сторону блютуз передатчиков

Или базы-приёмника на радиоканале
Мож и ламповые есть, не уверен
Вопрос: Как сделать Телеграм бота и админпанель к нему?

Лучший ответ:
Админ панель - такой же набор функций не более,  просто доступ не у всех. Я больше года занимался разработкой тг ботов и просто делал доступ в админ панель по команде. То есть такие же кнопки и так далее. Отправку постов реализовать тоже не трудно. Bot API в помощь

Худший ответ:
Я и не знал что настолько все сложно (
Чувак если сможешь научи меня)))
Может какие уроки 
.
Я вот элементарно не понимаю куда загружать код бота нужно ли его хостить и тп...
Вопрос: Как обратится к тексту ошибки в typescript?

Лучший ответ:
В JS error может быть представлен любым типом данных, например throw 'error', throw new Error('Error!') будут синтаксически корректны. Поэтому TypeScript по умолчанию выводит тип ошибки как any. 

Однако мы можем предположить, что это за ошибка и корректно обратиться к полю message следующим образом:
catch(error) {
  if(error instanceof Error)
    alert(error.message) // TS теперь знает, что тут есть поле message
} 
Или другой способ, если мы точно уверены, что выбрасываемая ошибка имеет определённый тип, мы можем использовать утверждение типа (type assertion), и код будет выглядеть следующим образом:
catch(error) {
  let e = error as Error
  alert(e.message)
}
Однако первый способ определённо лучше, ведь мы можем обработать ожидаемый тип ошибки (в данном случае, Error), а для всех остальных предусмотреть другое поведение.

Худший ответ:
Вы также можете отключить вывод типа unknown для переменных, которые приходят в catch. Для этого внесите изменение в tsconfig:
{
	"compilerOptions": {
               "strict": true,
               "useUnknownInCatchVariables": "false"
        },
}

Теперь такие переменные будут приводиться к any.
Вопрос: Какую базу данных выбрать для сервера на Node.js?

Лучший ответ:
Доступ к DB Read Only. Т.е. после сдачи сервера в эксплуатацию DB не меняется. 
Поиск нужной записи по одному ID. 
При старте приложения загрузить в память приложения хоть из рядового csv или чего угодно ещё.
При этих ограничениях задачи внешняя БД избыточна.

Худший ответ:
SQLite.

Почему?
Можно держать всю БД хоть на диске в одном файле, хоть в памяти (in-memory).
Вместо своего велосипеда написать SQL запрос или составить его с query builder/ORM и получить ответ.
Для скорости - выставить нужные индексы на таблицу.
CSV - несколько хардкорное решение, несмотря на советы от некоторых. Если понадобится изменить какие-то данные/структуру в будущем, то придется сменять файл целиком. А так достаточно может изменить таблицу одним запросом.
В отличие от Redis, можно держать данные также и на диске, при необходимости.
Вопрос: Легально ли перепродавать лицензию Zoom с наценкой?

Лучший ответ:
Запрещено. Ну если специально не договоритесь с Зумом.

You may not reproduce, resell, or distribute the Services or any reports or data generated by the Services for any purpose unless You have been specifically permitted to do so under a separate agreement with Zoom. You may not offer or enable any third parties to use the Services purchased by You, display on any website or otherwise publish the Services or any Content obtained from a Service (other than Content created by You) or otherwise generate income from the Services or use the Services for the development, production or marketing of a service or product substantially similar to the Services.

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

Лучший ответ:
≈800 bad sectors ... Проверял ≈5 часов ... после перезагрузки ноутбук перестал видеть мой HDD
Эх, добили диск, которому явно и так было плохо.

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

Наши западные коллеги совершенно заслуженно называют эту утилиту не HDD Regenerator, а HDD Degenerator. 

Процесс "ремонта" состоит в том, чтобы начать без остановки гонять головы по проблемным областям магнитной поверхности, надеясь, что диск переназначит те сектора (Remap), которые сочтёт сбойными. Чудеса в духе "петель гистерезиса", которые обещают авторы, не работают. Какие бы загогулины они себе не выдумывали, ни одна не пройдёт через коммутатор-предусилитель.
Так действуют все программы, предлагающие исправление или лечение BAD-секторов.

Если информация с диска не нужна, то сдавайте его по гарантии. Если на HDD остались важные файлы, которые надо спасти, то максимум, что можно сделать, это посмотреть SMART в R.tester, если диск ещё виден в BIOS.

В идеале же вообще было бы диск отключить и, сверяясь с текстом ниже, начать выбирать центр восстановления данных: https://xn----7sbbfbnfa0a2audfacc2cat8e9f.xn--p1ai/
Это важно ввиду того, что 5 часов принуждения к ремапу головки вполне могли не выдержать и либо деградировали, либо совсем умерли от постоянного ёрзанья по дефектам на пластинах.

Худший ответ:
Помню, примерно так же я убил свой винт где-то в начале 2000х. 

Для восстановления лучше использовать Victoria, с ней у меня ни разу не было проблем.
Вопрос: Как захостить сайт на NodeJS на Windows сервере?

Лучший ответ:
"Всякие Linux и CentOS" - это "лучше день потерять, потом за пять минут долететь". Виртуалки же на винде - путь в никуда. Одумайтесь.

Худший ответ:
Можно это сделать.  Дома на чем у вас работает? 
"Linux и CentOS всякие" - это нормально, что их изучать нет желания. Возни с ними частенко излишне много. Появится большая нужда - специалиста по ним можно нанять, а свое время лучше тратить на разработку/то-что-нравится.
Вопрос: Не запускается ноутбук после замены ОП?

Лучший ответ:
1) Поддержит ли ноут 8Гб?
2) У тебя была DDR3L, а ты купил проcто DDR3 - это большая разница
3) Первый скрин - что это за Patriot на 4Гб?
P.S. Перезалил скрин )))
4) Скинь полную модель ноутбука

Худший ответ:
Говорят AMD не особо оператива, некоторые даже говорят что откровенная куча известно чего
Есть мысль что не поддерживает DDR3, надо DDR3L
Может не поддерживать планки в определённым количеством чипов. 
Надо характеристики ноута
Вопрос: Как запустить vps сервер(есть проблемы)?

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

Худший ответ:
Это стандартное поведение терминала…
Вопрос: Внешний жесткий диск не открывается, как исправить?

Лучший ответ:
Провода, порты(как уже сказали)
попробовать подключить диск напрямую к sata в ПК, без бокса...

Худший ответ:
Проверьте провода, пробуйте другие порты.
Вопрос: Могут ли USB хабы убить компьютер?

Лучший ответ:
Могут.

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

Лучший ответ:
Например

Курсы на Stepik

Архив задач с решениями

Худший ответ:
Специально - никак.
Просто ищите что-нибудь типа "задачи на собеседовании по..." и решайте все подряд.
Вопрос: Как посмотреть данные Inline кпопки Telegram?

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

Худший ответ:
URL можно: нажимаешь на кнопку и в открывшемся окне видишь url, но страница при этом не открыта
Вопрос: Какие существуют книги / статьи для понимания темы «async» Python?

Лучший ответ:
Книг не знаю, есть лекции яндекса, Олег Молчанов, если хочется подробнее как это под капотом работает, то читать книгу по системному программированию Linux "Р.Лав Linux системное программирование". Собственно в лекциях расскажут про то, что асинхронность построена на не блокирующем API ввода вывода (системные вызовы select, pool, epool), а в этой книге можно подробнее узнать как эти системные вызовы работают.

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

Лучший ответ:
Как обычно это делается - правилом форварда пакетов в iptables/nft.

Худший ответ:
Мне ответили на Линукс-форуме.
Оставим эти ответы здесь, чтобы другим они тоже помогли.
Через iptables:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -d 192.168.100.22 -p tcp --dport 23 -j DNAT --to-destination 192.168.0.1:23
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp --dport 23 -j SNAT --to-source 192.168.0.144
Временный через socat:
socat TCP-LISTEN:23,fork TCP:192.168.0.1:23