pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Выбрать ноутбук?цена 40-50к?

Лучший ответ: Я бы советовал покупку разделить на 3: небольшой мобильный ноут 13-15 дюймов не шибко производительный, отдельно монитор дюмов этак на 24 и отдельно производительный системник, где можно держать дополнительные виртуалки или гонять в игры.

С производительным ноутом куча гемора — тяжёл, шумен, греется да и производительность значительно уступает немобильному железу.

Худший ответ: Нагуглил с ivy ASUS N56VZ, в вроде меня устраивает по всем критериям.
Сумма позволяет, может будут негативные отзывы от хабрасообщества?
Вопрос: Удобная Программа для учета времени

Лучший ответ: Я пользуюсь toggl.com.
Считает время как онлайн в броузере, в том числе и после закрытия, так и на ПК под разными ОС.

Худший ответ: Использую Qlockwork из-за отличной интеграции в Outlook на работе. www.qlockwork.com
Вопрос: Запуск HelloWorld на Mac, в чем ошибка?

Лучший ответ: Ну, во первых... cd - это команда перехода в директорию, т.е., если у тебя файл лежит в директории Desktop то туда и надо перейти:cd HD/users/Users/admin/Desktop
Так ты окажешься в директории, где лежит твой файл. Ещё полезные команды для начала:ls - смотрим содержание директорииpwd - смотрим путьmkdir <имя_папки> - создаём папкуtouch <имя_файла.расширение> - создаём файлcd .. - уходим в предыдущую папку.
Если настоятельно хочешь создать и компилировать Хэллоуворлд на рабочем столе, посмотри, не находится ли папка Desktop в той дериктории, где ты находишься. Обычно терминал мака стартует корня юзера, т.е.1 - ls
2 - смотрим директорию
3 - если там есть папка Desktop -> cd Desktop
Далее, надо убедиться, что файл который ты создавал имеет расширение java. Т.е. HelloWorld.java
Потом, в директории в которой находится твой файл компилируем егоjavac HelloWorld.java 
Появится файл HelloWorld.class. Чтобы его запустить пишешьjava HelloWorld
И всё получится.
PS: Не слушай тех, кто тебя ругает за ошибки. Чтобы научиться чему-то, ты ОБЯЗАН ошибаться и исправлять ошибки. Так что, смело в бой. Потом всё будет просто и легко.
PPS: Чтобы научиться пользоваться терминалом, пройдите этот курс https://www.codecademy.com/en/courses/learn-the-co...

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

Лучший ответ: masonry.desandro.com/
Если не секрет, для какого проекта хотите использовать?

Худший ответ: Если вам надо именно как на 500px.com/, то сделано там очень просто: картинки на саомо деле больше, разметка стандартная и части картинок выходящие за разметку скрываются.
Вопрос: JQuery: как отловить событие перехода внутри документа по анкорам?

Лучший ответ: проверяйте по таймаунту location.hash

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

Лучший ответ: По моему это невозможно, до публикации

Худший ответ: Если не зарегистрированы в itunes connect, то регистрируетесь. Создаете приложение 
Потом в itunes connect: переходите по следующим ссылкам: Manage Your Apps -> Иконка приложения -> View details. Там можно закинуть скриншоты, сделать описание и т.д.
Вопрос: Как добавить в RSS новости из групп vk.com?

Лучший ответ: Как развернуть
Или можете использовать мой вариант. Если надо добавить функционал пишите

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

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

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

Лучший ответ: Да, нужно изменить display-свойство, вот тут phrogz.net/css/vertical-align/index.html хорошо объясняется как это работает.

Худший ответ: habrahabr.ru/blogs/css/71236/ как один из методов.
Вопрос: Не запускается ноутбук hp pavilion dv6 3090er. C чем м.б. связана проблема?

Лучший ответ: - Дядя я знаю что у вас сломалось!
- Что мальчик?
- Машина сломалась!
Сдается мне ему хана. На компах и мониторах такое часто бывает при выходе из строя БП или вздутии кондеров на матплате/видеокарте. Если так - то это отличный донор органов теперь. Хотя в случае питания возможно и его поменять можно.
Также возможно это видюха, с ней проще т.к. можно заменить. Но ... Возможно дело того не стоит и карта будет стоить как весь ноут.
К чему бы это я... Раз у вас возникают подобные вопросы - топайте в СЦ. Если конечно не хотите набраться опыта, тренируясь на трупах.
PS
Именно поэтому не люблю ноуты. Если чет сломалось, то в 99% случаев можно топать за новым, т.к. ремонт будет стоить как половина нового.

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

Лучший ответ: get_object_or_404() (source)
Найти один объект, если не найден то показать 404
У вас на поиске Heading, не находит его и выдаёт исключение (raise Http404), дальше не идёт выполнение кода. Так же будет ошибка если в базе найдётся больше одного объекта. Тоже выплюнет исключение в 404.

Худший ответ: Если у вас находится Heading со значением praktika-python и для этого Heading нет статей, то дальше происходит попытка получить тег с названием praktika-python. Так как тег у вас называется python, то очевидно, что тут 404.
Если вы просто вбиваете тег python, то 404 уже на строкеhead_id = get_object_or_404(Heading, heading_alies=alies)
PS.
Вот так не надо писать, вы получаете head, а не head_idhead_id = get_object_or_404(Heading, heading_alies=alies)
правильноheading = get_object_or_404(Heading, heading_alies=alies)
Вопрос: Как безопасно выкачать файлы с зараженного ноутбука?

Лучший ответ: Загрузиться с любого LIVE-CD или LIVE-FLASH, подключить внешний винт, скопировать файлы. 
Подождать пару недель, чтобы антивирусы вышли с новыми обновлениями, в которые наверняка попадут все те зловреды, которые были закачаны на скомпрометированный компьютер.
Проверить скопированные файлы последними версиями антивирусов, оставшиеся подозрительные файлы стереть.
Теперь можно форматировать ноутбук и восстанавливать на нем ОС. Это связано с тем, что  в процессе лечения есть вероятность потерять что-нибудь. Пока исходные файлы не уничтожены, можно еще раз проделать загрузку с LIVE-носителя и забрать что-нибудь.

Худший ответ: Загрузиться например с Dr.Web LiveDisk, пролечиться, потом делать с ноутбуком все, что угодно.
Вопрос: Как установить Windows на чужой жёсткий диск?

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

Худший ответ: Выньте свой диск, вставьте чужой, поставьте туда Windows, замените обратно свой.
В чём проблема?
Вопрос: Какой JavaScript фрейворк изучить?

Лучший ответ: Специфический - зависит на 100% от целей.
и на 100% учите jquery 
(и да... jquery - это НЕ фреймворк, это - кросс-браузерная библиотека-обёртка нативного javascript)

Худший ответ: Конечно нуджно отталкиваться от задачи. Но если говорить про cutting edge технологии, то имеет смысл поиграться с Polymer
Вопрос: Почему массив, сформированный на php, не определяется как массив в js?

Лучший ответ: ведь и то и другое - массив?В php - да. А в javascript - это разные типы данных. У массива в js могут быть только числовые ключи и только по порядку, иначе этот json распарсится как объект.

Худший ответ: В js ассоциативных массивов нет, ассоциативные массивы сериализуются в объекты.
Вопрос: Как добавить товар в корзину?

Лучший ответ: Вам уже посоветовали использовать json, я попробую дать более общую рекомендацию. У вас стандартная для вашей предметной области проблема - отсутствие единой схемы данных, у вас имеющихся. Очень редко в работающем приложении кто-либо меняет схему "на ходу" - т.е. в 99% случаев схема (по кр. мере логическая) проектируется вместе с приложением. Новая версия приложения - новая схема (при необходимости, конечно). Таким образом, ваша задача диктует вам необходимость работать с ЧАСТЬЮ ваших данных без использования схемы. Согласитесь, это не очень гибко - заводить новую таблицу под каждый вид товара, коих огромное количество может быть. Самое главное, новые товары приходят каждый день, и каждый день добавлять таблицы - с ума сойдешь. И совершенно непонятно, как при этом разрабатывать SQL-запросы на выборку, учитывая все новые и новые таблицы.
Т.о., часть данных вам лучше хранить иначе, а именно атрибуты ваших товаров. Тут подхода два: это либо полуструктурированные данные (semistructured), т.е. XML или JSON, либо EAV модель. Последняя является классическим выходом из ситуации при использовании реляционных баз данных, однако т.к. она по определению идет в разрез с реляционной структурой данных - это все по сути большой костыль. Сегодня все чаще рекомендуют первый вариант, т.к. во-первых многие современные РСУБД поддерживают JSON или XML типы данных, причем даже с возможностями валидации и выборки (а если и нет - BLOB всегда поможет), а во-вторых под каталог товаров можно использовать любую документную базу данных, которая кстати еще и лучше подойдет по специфике нагрузки на каталог (очень много чтения и мало записи, целостность не особо нужна - шардинг будет без особых проблем).
Итого:
1) понимаете, почему не все данные не всегда получается уложить в фиксированную схему
2) выбираете себе подходящее решение из перечисленных, помня, что можно (и нужно!) часть данных хранить в нормализованном виде, а часть - не получится.
3) поиск и выборка по ненормализованным данным рассматривается как отдельная задача
P.S. вот как раз таки в корзину достаточно класть ID товара и его количество, что отлично уложится в реляционную схему. А для этого таблица товаров одна должна быть.

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

Лучший ответ: вообще стандартное средство в таких случаях — поднять slave и с ним делать все что надо

Худший ответ: Странно… у меня база 1.5 гига, тоже статистика — основное что там есть (bitrix). НО после перехода на innodb mysqldump перестал вешать сайт.
Вопрос: Является ли использование свойств height и width, со значениями заданными в пикселях, хорошей практикой с точки зрения адаптивной верстки?

Лучший ответ: Я использую rem, Так проще масштабировать
css-tricks.com/rems-ems

Худший ответ: Использование абсолютных значений для адаптивной верстки - это нормальное явление. Многие приёмы работают только при использовании абсолютных значений. Но ясное дело абсолютные значения должны быть не везде.
Вопрос: Достаточно ли для Macbook Air 4GB оперативной памяти?

Лучший ответ: Советую покупать максимум оперативки на любые ноуты Apple. Сейчас у них предел 8Gb и 2 слота (хотя не знаю, как именно на Air, на прошках именно так). Если вы покупаете ноут с 4Gb, то там будет 2 карты по 2Gb (возможно, вообще 1 по 2Gb и один слот — надо уточнить). В любом случае, чтобы заменить на 8Gb, придется выкидывать все старые карточки и покупать все 8Gb заново.

За 10 лет использования ноутов Apple ни разу ничего не апгрейдил в них кроме оперативки (больше, собственно, и нечего:)

Худший ответ: У меня Mac mini 2011 — 2-4 гигабайт мало, всё страшно тупит. На восьми — еще более менее. Постоянно запущено много приложений: Xcode, iPhone Simulator, Safari (flash для музыки), iTunes, Photoshop, Skype, Mail, Dropbox и так далее… Всё это жрет гигантское количество памяти.
Хотя у моих тормозов, мне иногда кажется, другое имя — HDD.
Вопрос: Как зачистить плату от зеленой изоляции?

Лучший ответ: 1. Канцелярский нож
2. Дремель с резиновой насадкой
3. Мелкая шкурка

Худший ответ: Иголочкой
Вопрос: Какую выбрать IDE для Java web-разработки?

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

Худший ответ:  сравнительно с IDEA, которая показалась более удобной.
ну так потому она и платная. Да и не сказать что она дорогая - 15 баксов в месяц.
Вопрос: Полный цикл жизни проекта: html,css,js > php, шаблоны, изменения, переиспользование?

Лучший ответ: Подход давно выработан: пакетные менеджеры. Для фронтенда это npm/bower (или, может быть, component, но это уже чуть более широкая вещь), которым можно подсовывать адрес приватного git/hg репозитария. Только добавьте в .git_ignore node_modules и bower_components.
Другой вариант -- git submodule, но это будет более геморройно.

Худший ответ: Текущий подход достаточно заморочен, если знаешь все прелести БЭМ.
Сейчас мы делаем:
0. Дизайнер нарисовал макет
1. Верстаем руками html: a.html
2. пишем руками стили: a.css
3. пишем руками js: a.js
4. Это все передаем бекендеру и он:
5. Доверстывает хтмл и разбивает на шаблоны, из a.html получает A.tmpl, B.tmpl, C.tmpl, ...
6. Дописывает стили в своих файлах, а часто еще и разбивает их на части: A.scss, B.scss, ...
7. Дописывает js, и тоже часто разбивает: A.js, B.js, C.js
8. Какой-то бэкенд собирает из кусков шаблонов страницу, и часто создает css, js только из нужных кусков
А дальше: Пришел новый макет. И что делать?
И БЭМ в данном случае решает проблему, поскольку у него есть стек технологий, позволяющий верстальщику работать сразу с шаблонами и разобранными js/css(less/sass/stylus) файлами.
На практике получается так:
0. Макет.
1. Верстальщик смотрит на макет, и разбивает его на куски (компоненты) сразу;
2. Пишет bemjson (или jsx) вместо html;
3. Создает шаблоны, стили и js для каждого из блоков;
4. Передает это все бэкенд программисту (обычно через гит, потому что так удобнее);
5. Бэкендер без изменений использует эти файлы для генерации страницы, и просто генерирует описанный верстальщиком bemjson (или jsx).
И, О МАГИЯ, они могут работать над проектом параллельно, даже если придет новый макет.
C php действительно есть нюансы, которые сложно разглядеть, просто потому, что нет большого кол-ва пользователей и стек не устоялся.
Мы у себя используем велосипед, который собирает все сам, и почти готовы перейти на enb используя bh-php.
Большая проблема, как оказалось, использование декларативных шаблонизаторов — верстальщики не сразу въезжают что и как. Но когда въехали — я не знаю тех, кто возвращается на императивные (типа мусташей, джейдов, smarty, etc.).
Можно начать с https://github.com/bem/project-stub/tree/php-bem-bh и позадавать вопросы на форуме https://ru.bem.info/forum/ — люди поделятся своими историями.
Вопрос: Архитектурный вопрос: мультиязычный сайт?

Лучший ответ: Самое простое в такой ситуации, по-моему, просто дублировать поля, которые надо переводить, что-то вроде:
id: integer, required
title_ru: string, required
body_ru: text, required
title_en: string
body_en: text

и изменять в зависимости от урла имена полей для выборки. Схема простая, легко реализуется, практически нет накладных расходов, но главный недостаток — очень негибкая

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

Лучший ответ: Первый аргумент в обработчике — ссылка на событие.function clickToOrder (e) {
	e.target.classList.add('active');
	console.log(this); // а это тот же e.target — вы же зачем-то вызывали bind()
};
Обычно привязывают какой-то абстрактный объект, ведь ссылка на узел, где зарегистрирован слушатель события, и так доступна.Пример

Худший ответ: Ваша проблема в том, что у вас при клике в функцию clickToOrder передаётся объект "событие", а не элемент, на котором был совершен клик.
Объект событие всегда передается обработчику и содержит массу полезной информации о том где и какое событие произошло.
Например, в вашем случае такое:MouseEvent {dataTransfer: null, which: 1, toElement: div.jsCart, fromElement: null, y: 15…}
В итоге должно получиться как-то так:(function() {
  var selectEls = document.querySelectorAll('.jsCart');

  var clickToOrder = function(event) {
    console.log(event);
    event.target.classList.add('active');
  };

  for (var i = 0; i < selectEls.length; i++) {
    var item = selectEls[i];
    item.addEventListener('click', clickToOrder);
  }
})();
Вопрос: Создал пост +50 голосов, а как получить инвайт?

Лучший ответ: Надо написать письменное заявление и отправить заказным письмом с уведомлением о вручении по адресу: 101000, Москва, улица Мясницкая, дом 24/7, строение 1, офис 12.
Там его завизируют и положат в лоток «Входящие на инвайт». Затем секретарша Людочка обработает ваш запрос и отправит в службу выдачи инвайтов, где ваш топик ещё раз перечитают и, если сочтут достойным, вышлют вам инвайт в запечатанном конверте. Номер посылки для трекинга вам сообщат во входящие сообщения на Хабре.
Да, чуть не забыл. Во время всей процедуры вам запрещено покидать страну и вам могут звонить из первого отдела Хабра.

Худший ответ: Чтоб получить инвайт рейтинг топика должен быть 100+, а 50 это карма, у вас её не достаточно пока.
Вопрос: О тонкостях миграции в Hetzner?

Лучший ответ: Не советую перебираться именно в Хетцнер. У нас на нём есть dev-машины — периодические проблемы с видимостью (dns), не подходящий уровень железа, саппорт медленный. Rackspace, Linode — посмотрите эти варианты. Они не безумно дёшевы, как хетцнер, но эта стоимость оправдана.

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

Лучший ответ: ssh-keygen #без аргументов, на все вопросы жать enter
ssh-copy-id user@server.com #user - это юзер на сервере server.com, а не локальный
Если после этого спрашивает пароль, то самые вероятные проблемы:
- в конфиге /etc/ssh/sshd_config
- права на ~/.ssh/authorized_keys или id_rsa, должно быть строго 600
В дальнейшем, чтобы найти проблему можно использовать ssh -vv user@server.com и читать лог /var/log/secure на server.com

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

Лучший ответ: В ините это точно делать не нужно, достаточно в классе контроллера указать значение свойства: public $layout = 'buble_main';
Если не заработает, то сделайте тоже самое в конкретном экшне + как вариант подебажить, изменился ли layout, возможно стоит указать полный путь до него (например //layouts/buble_main).

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

Лучший ответ: По описанию похожа на Ecstatica
www.old-games.ru/game/150.html

Худший ответ: Она с такой графикой чуть ли не единственная в своём роде.
Вопрос: Как проверить, есть ли значение в переменной javascript?

Лучший ответ: Название вопроса «Как проверить, есть ли значение в переменной» слабо коррелирует с его текстом.
Потому что null — это значение. Как и 0, как и пустая строка, как и любой тип данных, кроме undefined.
Поэтому проверка на значение переменной выглядит примерно так (именно со сравнением типов):if(cname === undefined) {
	//вот именно это и значит, что значения нет
}

Худший ответ: Потому чтоtypeof null == 'object'
Вопрос: Реально ли быть профи в нескольких стеках технологий веб-разработки?

Лучший ответ: У меня есть довольно успешный знакомый, который считает, что сейчас очень ценятся "мастера на все руки": и фронтэнд, и бэкенд, и понимание всяких там, как модно нынче говорить DevOps.
Препод с универа, который тоже и зарабатывает неплохо и вроде как совсем не дурак - говорит, что "разобраться в MVC, MV... ruby, python" - часа 3-4 (сам работает со встраиваемыми системами по основному профилю)
Я лично считаю, что программирование - это инструмент. И язык, платформа, стек - всего лишь одна из составляющих решения определенной задачи.
Явно, не стоит делать соцсеть на perl, форум а-ля phpBB на nodejs или лэндинг на erlang.
Наверное, самое главное - это интерес и "подходящие" проекты. Подходящие - значит:
1) вовремя (ничего в данный момент не отвлекает от конкретного проекта)
2) осмысленно (или хорошо оплачивается, или доставляет много удовольствия)
3) хорошая команда или хороший настрой, если делаешь сам
4) хорошо вписывающийся в интересующий стек, что б не впихивать стек в проект и страдать.
Учить - это главное в такой профессии. А разные методологии, взгляды разных культур языка, разные подходы к решению одних задач - это, я считаю, не менее важно, чем углубленное изучение одного аспекта.
P.S. 
Не думаю, что можно дать рабочую пошаговую инструкцию, как достичь успеха в разных стэках. если такой есть, было бы интересно и самому увидеть

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

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

Худший ответ: Парни, в какое место надо вставить этот скрипт? Помогите дилетанту!
Вопрос: Уничтожить объект в foreach?

Лучший ответ: Никак, если эта копия никак не ссылается на исходный объект и если ты не инкрементируешь какую-то переменную типа int, чтобы с её помощью обратиться к исходному массиву по этому индексу и удалить там объект тоже. Но тогда зачем использовать foreach.
Вот о чём я.public class Person
    {
        public string Name { get; set; }

        public int Age { get; set; }
    }class Program
    {
        static void Main(string[] args)
        {
            var source = new Person[]
                {
                    new Person { Age = 20, Name = "Сергей" },
                    new Person { Age = 32, Name = "Дмитрий" },
                    new Person { Age = 18, Name = "Андрей" }
                };

            var copy = new Person[source.Length];
            Array.Copy(source, copy, source.Length);

            DisplayPersons(copy);
            Console.WriteLine();

            int index = 0;
            foreach (Person person in copy)
            {
                Console.WriteLine(person.Name + " удалён из исходного массива");
                source[index++] = null;
            }

            if (source.Any(p => p != null))
            {
                Console.WriteLine("Не удалось удалить все элементы исходного массива.");
            }

            Console.ReadKey();
        }

        static void DisplayPersons(IEnumerable<Person> persons)
        {
            foreach (Person person in persons)
            {
                Console.WriteLine("Имя: {0}, возраст: {1}", person.Name, person.Age);
            }
        }
    }

Худший ответ: Если я прохожусь циклом foreach
Не стОит удалять что-либо из коллекции, по который вы В ДАННЫЙ МОМЕНТ проходитесь foreach. Чревато исключениями по причине умерших енумераторов.как уничтожить объект из массива, если имеется только его копия
Взять обычный for, определить критерии сравнения двух объектов (чтобы собственно выяснить, какой объект является "копией" - по ссылке не сравнишь, т.к. это уже другой самостоятельный объект) - по каким-либо свойствам или еще как-то, найти этот объект и удалить его смещением остальных элементов массива на его место. Если бы у вас был список, достаточно было бы RemoveAt.