Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Законное сканирование портов?

Лучший ответ:
Сканирование портов ведь в РФ незаконно? Закона явно запрещающего сканирование портов  у нас нет. Поэтому оно законно.
Проблемы с законом могут возникнуть если вы получаете несанкционированный доступ к информации, или нарушаете работу сторонних сетей и сервисов.

Худший ответ:
Закона, запрещающего сканировать порты нет. Но это могут принять за попытку "разведки" для дальнейшего вмешательства в работу, на что уже закон есть. 
Был у меня случай, лет аж так пятнадцать назад. Один мой коллега решил проверить написанную им программу для сканирования портов. И ничтоже сумняшеся натравил ее на сервер первого банка, который видел по дороге :) Через полчаса после запуска он уже давал обьяснения директору, которому позвонили из оного банка :)
Вопрос: Почему разрастается размер виртуального диска на Hyper-V?

Лучший ответ:
Диск динамический поэтому автоматически увеличивает размер при записи.
Т.е гостевая ОС записала достаточно данных чтобы размер увеличился.
Какие еще могут быть причины? Это штатное поведение системы.

Худший ответ:
Mysql пишет данные в папку /var/lib/mysql , скачками увеличивая размер контейнера БД (файл ibdata1) до подходящего размера.
Я полагаю, что из-за использования динамического типа диска Hyper-V по достижению лимита дискового контейнера увеличивает его на некоторый размер, в зависимости от темпов прироста.
Так что согласен с АртемЪ насчёт штатного поведения (гипервизора).
Вопрос: Почему при подключенном модуле express, не распознает sendfile?

Лучший ответ:
Скорее всего вы перепутали значения аргументов, т.е первый request, а второй response, а не наоборот

Худший ответ:
три варианта:
не установлен экспресс
старая версия экспресса
название функции sendfile
Вопрос: Какой принцип работы бота для криптовалюты?

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

Худший ответ:
Если вы ищете кнопку "Бабло", то тут ее нет, идите дальше.
Бот - это программа, автоматизирующая выполнения операций на бирже. Каких? А какие вы этому боту напишите.
То есть нужно понимать логику работы биржи, логику стратегии, которую вы хотите реализовать, а после этого только писать бота для биржи. Халявы нет. Да и биржа - была бы игрой с нулевой суммой, если бы не комиссии. А так это игра  с отрицательным мат.ожиданием, вы выигрываете только за счет проигрыша других. То есть вам надо быть или умнее, или везучее. Иначе пополните толпу хомяков, на которой зарабатывает те, кто умнее или везучее.
Вопрос: Действительно ли новая asp.net core 1.0 быстрее в 8 раз Node.js?

Лучший ответ:
Правда ли, что новый Mercedes-AMG GT ездит в 8 раз быстрее Камаза?
Конечно правда. По асфальту в легкую.
Ну конечно если асфальт хороший, а не гравийка ухабистая.
К тому же злые языки утверждают что Mercedes-AMG GT вообще не ездит. Реально пробовали - насыпали в салон 20тонн гравия, а он собака ехать не хочет.

Худший ответ:
Они могли найти случаи, в которых быстрее. Вот и всё. Может эти случаи покрывают большую часть, может нет. Вполне возможно, что писали эксперты по .НЕТ, а не по ноде.
Вопрос: Backend + Frontend для создания солнечной системы?

Лучший ответ:
Не знаю, что вы хотите услышать. Ну допустим так. Например.
1. Пишем на C++ математическую модель, которая будет выполнять все расчёты, держать объекты, просчитывать движение тел. С помощью него же запихуваем всю эту инфу в JSON.
2. Судя по всему нужно чтобы система постоянно в любой момент времени могла отдать информацию. Поэтому она либо пишется в файлы, например в каждый момент времени (с разницей в секунду допустим) создаётся JSON файл на сервере с переписью всех объектов. Либо отдельным потоком запускается сервер, который по обращению HTTP выдаёт JSON.
3. Получив JSON на стороне браузера (не знаю, как вы будете это делать, может специальный сайт или сервис) парсим его и рисуем объекты в канвасе.
4. ???
5. PROFIT!

Худший ответ:
Очень плохая идея - экономить на фронтенде и переносить все на бэкенд. Скорость интернета не позволит вам по существу сэкономить, а то и уйдет в минус.
Что касается 3D в браузерах... то для этой цели есть THREE.js
Вопрос: Css анимация знака бесконечности?

Лучший ответ:
Составляю гугл запросы на заказ: infinity symbol css animation
jsfiddle.net/uVFd3/5
Но "хороший" конечно вряд ли на чистом CSS выйдёт.

Худший ответ:
Есть вот такое чудо: codepen.io/jonathansilva/pen/GhkAI
Вопрос: Как поступать с картинками на медийном сайте?

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

Худший ответ:
Все в облако
Вопрос: На чём собрать не очень дорогой минисервер для 1С+SQL+RDP — core i3 или какой-нибудь б\у или ES Xeon?

Лучший ответ:
Да собирайте на 1151.
Мать ищите из серии Q, для возможности использования Intel AMT.
Памяти можно будет воткнуть до 64gb. Проц 6700 или 7700.
Систему на SSD и SSD+HDD в режиме storage spaces.
На 5 человек выши крыши.

Худший ответ:
HP Proliant miniserv gen8-9 не устроит? Там версии с Xeon есть
Вопрос: Как сделать бекап (образ) диска зашифрованного дистемного диска с TrueCrypt?

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

Худший ответ:
Резервное копирование, зашифрованных с помощью TrueCrypt, может производиться Акронис-ом только на уровне файлов.
Вопрос: Как исправить 'str' object is not callable?

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

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

Лучший ответ:
есть 30 000 строк в массиве, нужно показать их в DOM
Не нужно. Кому показывать-то? - пользователь столько информации не воспримет за один раз. Слышали такое слово - "пагинация"? Если нет - погуглите.

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

Лучший ответ:
Для счётчиков итераций: $i, $j, $k.
Размеры: $length, $count, $width, $height, $size...
Общепринятые обозначения (например, из математики), там где они уместны: $x, $y, $z...
Если важен тип данных, а не его содержимое: $num, $str, $arr, $obj, $img, $file...
Если важно содержимое (смысл): $summ, $options, $params, $data, $result, $name, $value, $item...
Если в переменной лежит объект какого-либо класса, то чаще всего переменной даю такое же имя, как у класса, но в $lowerCamelCase.
Этого хватает в 99% случаев.

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

Лучший ответ:
:) схематично так :)
https://habrahabr.ru/post/259921/
вот нашел модули биллинга 
https://github.com/modernkernel/yii2-billing
https://github.com/jlorente/yii2-billing
Видео, которое будем смотреть вместе :) от sports.ru (надо зарегаться)
https://yiiconf.ru/ru/offers/272

Худший ответ:
:) схематично так :)
https://habrahabr.ru/post/259921/
вот нашел модули биллинга 
https://github.com/modernkernel/yii2-billing
https://github.com/jlorente/yii2-billing
Видео, которое будем смотреть вместе :) от sports.ru (надо зарегаться)
https://yiiconf.ru/ru/offers/272
Вопрос: Как сделать preloader при нажатии на кнопку?

Лучший ответ:
Вдохну жизнь в ответ Егор Живагин этим фидлом https://jsfiddle.net/5gdb16ou/

Худший ответ:
Верстаешь отдельно блок-прелоадер. Стилями скрываешь его, например:.preloader {
position: fixed;
left: 0px;
top: 0px;
right: 0px;
bottom: 0px;
display: none;
}
В блок с прелоадером кладёшь гифку/блок с анимацией/svg (да что угодно) . 
По клику на кнопку показываешь. 
Если по клику у тебя ajax-запрос какой-нибудь, в коллбеке опять скрываешь прелоадер.
Вопрос: Почему не отображается псевдоэлемент befor?

Лучший ответ:
Для одного того же элемента .item-web::before,  два раза стили прописали

Худший ответ:
Вместо классаitem-web в третьем элементе напишите item-security в стилях:.item-web::before {
  content: "";
  background: url(/img/Icon-Laptop.png) no-repeat 15px;
  display: block;
  margin: auto;
  width: 70px;
  height: 70px;
  border: 4px solid #f2d048;
  border-radius: 50px;
  opacity: .8; }

.item-security::before {  < ----- CЮДА
  content: "";
  background: url(/img/Icon-Locked.png) no-repeat 15px;
  display: block;
  margin: auto;
  width: 70px;
  height: 70px;
  border: 4px solid #f2d048;
  border-radius: 50px;
  opacity: .8; }
Вопрос: VDS + YANDEX.DISK?

Лучший ответ:
камни простые - есть принцип разумного использования
то есть  - ЛИМИТЫ
при их превышении - сюрпризы с ожидаемыми ответами
лучше всего отдельный Storage VDS, с примонтированными разделами
дешево и сердито пойдут и хранилища, сделай только интерфейс ("файл готовится, начинается скачивание, бл что-то не так"

Худший ответ:
Это капец как медленно плюс лимиты Яндекса.
Купить вдску с диском побольше в том же овх или хетзнер
Вопрос: Где может быть ошибка в SQL-запросе?

Лучший ответ:
ошибка по моему тутWHERE id IN('{$num_contact}')
Замените на WHERE id IN({$num_contact})

Худший ответ:
Советую:
1. Расставить дужки для AND, OR. 
2. Комернтировать части запроса, чтоб найти проблемное условие
Вопрос: Чем склеить картинки?

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

Худший ответ:
Попробуйте использовать krita
Довольно удобный аналог photoshop
Вопрос: Как сделать автофокусировку на поле ввода только на одной странице?

Лучший ответ:
Есть же location.pathname!

Худший ответ:
Еще можно прямо на сервере к элементу добавлять атрибут autofocus при отдаче главной страницы.
Детектировать мобилки можно с помощью различных библиотек.
Для php например mobiledetect.net
Вопрос: Нормальный datepicker для angular 2?

Лучший ответ:
На данный момент использую jquery ui datepicker. Лучше пока что не нашел. Пакет "jquery-ui-npm"

Худший ответ:
Здесь, и период и выбор 3 и более дат и одной даты. Можно показать любое количество месяцев и удобные режимы отображения типа "квартал", "семестр". Можно прокинуть внутрь дня свой компонент. 
https://angular-datepicker.com/
Вопрос: Обязан ли QueryBuilder иметь методы для исполнения запросов?

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

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

Лучший ответ:
Если все так серьезно, то обычно выбирают С и пишут закрытую кастомную прошивку. Обычно берут что то максимально близкое к железу (С/asm) с возможностью сборки в .HEX
https://geektimes.ru/post/241842/
Хотя и на lua/Arduino IDE можно добиться стабильной работы.

Худший ответ:
PlatformIO по моему мнению одна из лучших по удобству работы
Вопрос: Почему нельзя наследоваться от класса БД?

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

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

Лучший ответ:
По правилам английского языка.

Худший ответ:
CSS (си-эс-эс)
PHP (пи-эйч-пи)
JavaScript (яваскрипт)
Gulp (галп)
Webpack (вебпек)
Вопрос: Как оценить время выполнения алгоритма О( )?

Лучший ответ:
Как мне теперь убедится в том, что мой алгоритм действительно выполняется за время O(n)?
Так и убедиться:
Счетчик - n сложений
Проход по счетчику - константа (65тыс значений)
Выкладывание отсортированных чисел - n присваиваний
---------
Итого O(n)

Худший ответ:
То, что вы написали, называется сортировка подсчётом. Сложность действительно O(n), поскольку вы проходите по исходному массиву всего 1 раз.
Вы также проходите 2 раза и по массиву фиксированной длины (65536).
Общий анализ выглядит следующим образом:
65536 (заполнение нулями) + N (проход по исходному массиву для подсчёта элементов) + 65536 (проход по массиву счётчиков для записи в выходной, теперь уже отсортированный массив) = 2*65536 + N = O(N + 2*65536) = O(N).
В случае сортировки вставками вы в худшем случае делаете N операций (оценка грубая) для каждого из N элементов исходного массива: N*N=N^2=O(N^2).
Вопрос: Зачем выключают java script в браузере и многие ли так поступают?

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

Худший ответ:
Можно собрать статистику конкретно по посетителям Вашего ресурса, принцип такой:
на страницу вешается скрытый iframe содержащий страницу с html-редиректом (через тег meta) через несколько секунд после загрузки, редирект должен вести на что-то вроде /stats?js=off
сразу после iframe вешается скрипт, удаляющий данный iframe со страницы и отправляющий ajax запрос /stats?js=on
На сервере все это складируем в БД с доп данными (ip, user-agent и тд), так же можно отправлять браузеру куки, что уже проверяли данный браузер и повторно можно не проверять (хотя параноики могут и куки вырубить, так что одним кукам доверять нельзя)
Пособирав так статистику в течении месяца-двух можно уже делать выводы о % посетителей без jsUPD: двухсторонняя шаблонизация (не только на клиенте, но и на сервере, для первого запроса) не только частично решит проблему отключенного js, но и ускорит инициализацию страницы и повысит рейтинг поисковиков
Вопрос: Друзья нужны 2 типичные задачи для бэк и фронт части?

Лучший ответ:
Например, по бэку можешь попробовать сделать авторизацию посетителей на сайте. Это не очень сложная задача, легко гуглится, есть видосы на ютубе и тд. Нужно понимать логику работы сайта, работы с базой данных и (что тоже важно) безопасность (некоторым может понравится быть хакерами или быть типа "белыми" хакерами)) ).
По фронту попробуй сделать автозагрузку контента при загрузке. Тоже гуглится.
Если все описанное сложно для тебя, тогда по фронту попробуй сверстать какой-нибудь сайт (да хоть попытаться сверстать главную страницу ВК или Тостера), а по бэку попробуй сделать форму (тэг form), с помощью которого можно писать статьи, заголовок и выводить на сайт)) Удачи!

Худший ответ:
Сделай регистрацию/авторизацию которая будет работать без перезагрузки страницы
Вопрос: Count() и sizeof() не работает с многомерным массивом?

Лучший ответ:
Ничего что вы используете переменную $i в основном цикле и во внутреннем?
Они так-то друг друга перезаписывают получается и на выходе фиг знает что происходит, скорее всего вечный цикл.
foreach в помощь, причем и для главного цикла и для внутреннего который здесь показан.
Забудьте про for $i и вот это всё, лишний гемор.

Худший ответ:
Ничего что вы используете переменную $i в основном цикле и во внутреннем?
Они так-то друг друга перезаписывают получается и на выходе фиг знает что происходит, скорее всего вечный цикл.
foreach в помощь, причем и для главного цикла и для внутреннего который здесь показан.
Забудьте про for $i и вот это всё, лишний гемор.
Вопрос: Ведете ли вы документацию для проектируемого сайта или приложения?

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

Худший ответ:
Редмайн с базой знаний в вики
Вопрос: Что должен знать junior ios developer?

Лучший ответ:
Должен знать один из двух языков Swift или Objective-C;
Должен иметь представление об паттерне MVC и как приложения строятся на основе этого паттерна;
Должен знать базовые классы фреймворка Foundation - Int, String, Date, Data, DateFormatter, IndexPath ..., фреймворка UIKit - UIView, UIViewController, UITableViewController, UINavigationController,  ... ;
Должен знать жизненный цикл вью контроллера;
Должен уметь строить простые интерфейсы как в коде так и в сториборде, должен знать AutoLayout;
Должен уметь читать английскую документацию;Должен уметь пользоваться гуглом; 
Очень желательно иметь небольшой опыт с
GCD, Operation
CoreData
MapKit
Cocoapods

Худший ответ:
http://coderjob.ru/2017/02/03/разработка-под-ios-ч... Полный список
Вопрос: В чем недостатки такого решения?

Лучший ответ:
В чем недостатки такого решения?
Помимо отсутствия транзакционности в коде (о чём уже упоминали выше):
1) Нет ключа на thread_id (желательно foreign)
2) Типы в INT, вместо UNSIGNED INT
Т.к. это MySQL, судя по вопросу, то:
3) Нет указания на collation таблицы (желательно utf8mb4)
4) Нет указания на движок таблицы (транзакции есть только в InnoDB и их нет в ISAM, MyISAM, Archive, Memory, etc.)
5) Нет уникальности голосов (т.е. votes), как следствие - таблица денормализованная и подсчитывать так голоса - крайне глупо. В нормальном мире это делается отдельной таблицей с привязкой по comment_id и уникальным ключом на comment_id + user_id.
6) Так как это комментарии, то использование varchar(255) для поля text - глупо. Нужен TEXT или LONGTEXT.
7) Отсутствуют поля даты создания и редактирования, что в будущем не позволит строить статистические данные или расширять функционал (разрешать менять текст комментария только в течении 5ти минут, например). На это надо закладываться заранее.
Это что касается структуры таблицы. Теперь по коду:
8) Сервис-локация (класс App), вместо нормального DI - это жесть. Скрытые зависимости говорят о невозможности тестирования такого кода. 
9) "Магическая" константа 'comment' говорит о том, что потом такой код нормально не отрефакторить. Т.е. переименовываешь внутри что-то, а потом получаешь кучу ошибок и придётся лазать по коду и везде выгребать этот "get('comment')". И не дай бог где-то они получаются как-то иначе. Работы ещё на пол дня.
10) Метод getById говорит о том, что сущность должна возвращаться всегда. Однако, может так случиться, что её по указанному id просто не найдётся. Как следствие - нет нормальной обработки ошибок.
11) Мутабельное поле votes у comment (т.е. имеется прямой доступ к нему). Это говорит о том, что сущность очень сильно связана с БД, а значит любой рефакторинг таблицы ведёт к полному перелопачиванию всего кода.
12) Нет обработки ошибок во время сохранения сущности.
13) Метод vote - не лучшее название. Оно переводится и как глагол "голосовать" и как существительное "голос", что может запутать. Я бы переименовал в addVote. Хотя и так тоже норм.
Это всё, что касается вопроса "в чём недостатки такого решения". Ответ - почти на каждой строчке косяк.
Если есть вопросы - задавай, могу чуть поподробнее расписать что-либо.

Худший ответ:
Вообще если идет голосование неплохо бы определять ip голосовавшего, если он не авторизован или user_id, иначе потеря одного голоса будет мелочью по сравнению с тем, что один человек может голосовать несчетное кол-во раз. И если надо запомнить голосовавшего, значит нужна отдельная таблица с полями voter и comment_id
Вопрос: Что делать с необосновано низкий балл за работу на upwork?

Лучший ответ:
Принимай как должное, оценка это вовсе не смысл всей твоей работы.
Как ты говоришь сколько людей - столько и мнений, ну воспиринимай аналогично.
Только таким путем ты, если не плюнешь, дойдешь до того стандарта, когда это будет нравиться или хотябы удовлетворять большенство.
Беря минталететы иных стран, к примеру США, сам долгое время не мог понять как с ними вообще работать, то они сюсю пусю, то опаздаешь сдать всего на 5 минут, они уже всю твою семью имели а ты к**еный (факт, пруф этого есть)
Недавно опять изза специфики работы необходим рынок юса, вообщем вывел одну важную вещи работая с ним, они приветливы, не стесняйся лишний раз написать о ходе задания, о возможных проблемах и трудностьях. Они очень ценят параметр как communication. И это тоже факт.
На данный момент везде имею 100% positive feedback, по максимуму, везде. Добился тупо парой тройкой сообщений в ходе работы, и после также, не поленись если уместно спросить понравилось ли работа с тобой, были ли какие проблемы и попроси отсаыить фидбек если этот параметр на плащадке не обязателен, а по желанию.
Сразу увидишь изменение отношения конкретного партнера и общества в целом.
По поводу стран третьего мира, хз) не горю желанием с ними как либо сталкиваться.
А поповоду оценки, не бери в главное, выполняй свою работу, общайся, и в итоге нв фоне остальных положительных, попроси изменить данную если это возможно и если это вообще нужно.
Да и это номально, 100% положительный фидбек не всегда лучше выше среднего, да и геморойней в разы)
По поводу тестового задания и новичка:
Зачем? Выставляй себя как специалист, зачем твердить что новичек? К новичкам отношение предвзятое всегда. Мало кто поддержит тебя, проще использовать.
Т не важно что у тебя хоть регистрация вчерашняя, кому какое дело, ты не обязан отвечать на вопрос "почему", просто аргументирой свои умения, и желание развиваться.

Худший ответ:
Если у вас хорошее портфолио, то рейтинг не важен. Всегда можно сказать "неадекватный заказал и послал". А так если просят тестовое задание больше чем на 2-3 часа (или сколько вам не жалко), то это либо заказчик не адекватный, либо вы медленно рисуете. Бизнес есть бизнес.
Вопрос: Зачем в JS постоянно возвращают функции которые возвращают значения?

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

Худший ответ:
По вашему примеру вам ответил Владимир. А вот простой и наглядный пример по вопросу "зачем в js в функции возвращают другие функции":const VAT_RATES = {
  FR: 20,
  GB: 20,
  IT: 22,
  PL: 23,
};
const createWithVAT = vat => price => price + price * vat / 100;

const currentVAT = VAT_RATES.GB;
const withVAT = createWithVAT(currentVAT);
const price = 250;
const totalPrice = withVAT(price);

console.log(totalPrice); // 300