Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: А это не говнокодерство?

Лучший ответ:
Читаем про PSR, так же SOLID, так же Попросили проверить код, на что смотреть нужно?<?php
/**
 * Created by PhpStorm.
 * User: Ember
 * Date: 8/23/2017
 * Time: 2:47 PM
 */
// ^^^^ Этот коментарий конечно же дофига полезный, но удалите его, он не нужен

namespace Controller;


use Model\Pageconfig; // Use CamelCase Luke!

class Site extends \Controller // Не используйте такие абстрактные названия
{
// \Base - замечательное название, ясно понятно, что оно делает))
// $f3 - а почему не f12?
// $params - юзайте DTO
    public function __construct(\Base $f3, $params)
    {
// Эээ... Это что роутер что ли?
        $pageconfig = new Pageconfig();
// а что будет, если $params = new \Exception() ?
        $loaded = $pageconfig->load(['route = ?', $params[0]]);

// В константы
        switch ($f3->get('FALLBACK')) {
// Вообще говоря для переводов давно придуманы PO файлы, юзайте на здоровье
            case 'az':
// Что будет, если такого ключа нет?
                $this->setTitle($loaded['title_az']);
                $this->setDescription($loaded['description_az']);
                $this->setBackground($loaded['background']);

                break;
//...
        }

        parent::__construct();
    }

    public function home(\Base $f3) {
// setContent по идее вставляет контент, а не название файла, не путайте людей!
        $this->setContent('empty.html');
    }

//...
}

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

Лучший ответ:
Что значит "типичный юзер"?
Определите свою целевую аудиторию. Возраст, пол, круг интересов,  уровень дохода и т.д.

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

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

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

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

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

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

Худший ответ:
Зачем, если у вас есть возможность просто сделать это все одной картинкой.
А так это делается через псевдоэлементы, используя всякие rotate,skew и тд.
Вопрос: Как получить дату ближайшего понедельника на JS?

Лучший ответ:
От сегодняшнего дняdate = new Date();
m = new Date();
if(date.getDay()){m.setDate(date.getDate() + 8 - date.getDay())} else {m.setDate(date.getDate() + 1)}
alert(m);

Худший ответ:
Приведённый выше способ не совсем универсальный. 
Хотя и абсолютно верный в контексте поставленного вопроса.
Насколько я понимаю, он подходит именно для понедельника, но не для любого нужного дня недели.
Кроме того, он укажет дату именно следующего понедельника, но не ближайшего. А в этом есть разница. И для некоторых случаев она крайне важна.
Поэтому предлагаю альтернативное решение. Возможно, будет полезно:var date = new Date(),
    targetDay = 5, // пятница, начиная с вс=0
    targetDate = new Date(),
    delta = targetDay - date.getDay();
if (delta >= 0) {targetDate.setDate(date.getDate() + delta)}
else {targetDate.setDate(date.getDate() + 7 + delta)}
alert(targetDate);
Возможно, после вычисления понадобится вывести эту искомую дату русскими словами. Вот один из вариантов:var targetNumber = targetDate.getDate();
var targetMonth = targetDate.getMonth();
switch(targetMonth) {
    case 0: targetMonth = 'января'; break;
    case 1: targetMonth = 'февраля'; break;
    case 2: targetMonth = 'марта'; break;
    case 3: targetMonth = 'апреля'; break;
    case 4: targetMonth = 'мая'; break;
    case 5: targetMonth = 'июня'; break;
    case 6: targetMonth = 'июля'; break;
    case 7: targetMonth = 'августа'; break;
    case 8: targetMonth = 'сентября'; break;
    case 9: targetMonth = 'октября'; break;
    case 10: targetMonth = 'ноября'; break;
    case 11: targetMonth = 'декабря'; break;
}
var targetYear = targetDate.getFullYear();
alert(targetNumber + ' ' + targetMonth + ' ' + targetYear + ' года');
На практике проверено и работает (пример).
Вопрос: Как скомпилировать html,js,css в формат apk?

Лучший ответ:
Есть онлайн сервис.  Пробовал компилировать сам, получается отлично ;)PhoneGap

Худший ответ:
Cordova(но лучше не надо)
Вопрос: Как правильно сделать адаптивный сайт?

Лучший ответ:
mydevice.io/devices - обратите внимание на столбцы css width и css height
Под смартфоны две основных ширины сейчас - 320 и 360 пикселей.

Худший ответ:
У меня в scss конфиге такие медиа. На всех устройствах нормально смотрится. Можно ещё xl добавить$breakpoints: (
	'xs': 		('(max-width: 544px)'),
	'sm': 		('(max-width: 768px)'),
	'md': 		('(max-width: 992px)'),
	'lg': 		('(max-width: 1199px)'),
);
Вопрос: Намертво зависает компьютер. Как решить?

Лучший ответ:
Намертво зависает компьютер. Как решить?
Решить можно двумя способами-
1)Сделать диагностику, установить точную причину зависания и устранить ее.
2)Попытаться угадать самому, или обратиться к гадалке. Этот способ не предполагает диагностики. Чистая магия и удача.
Вы явно выбрали второй вариант. Только ресурсом ошиблись.
Могу порекомендовать ресурс, где собираются гадалки и экстрасенсы.

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

Лучший ответ:
Его можно и нужно использовать параллельно с джанго.
Чаты, уведомления, обновления страницы инициируемые на стороне сервера, long-polling, websockets, push-уведомления, и т. д. Все для чего плохо подходит традиционный MVC фрэймворк.
"Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user."
www.tornadoweb.org/en/stable

Худший ответ:
Можете, пожалуйста, коротко описать задачи под которые нужно использовать данный фреймворк?
чаты и подобные асинхронные задачи И можно ли его использовать его вместе с django?
да
Вопрос: Что такое емкость среза?

Лучший ответ:
если по простому и коротко, то для среза:ёмкость(cap) - это выделенная память под элементы, при превышении размер автоматически увеличивается в два раза.длина(len) - это инициализированная память элементов, для превышения(добавления) нужно вручную использовать append.
По умолчанию cap = len
Всегда будет cap >= len
Грубо говоря, cap выделяет память, а len инициализирует её всю или только часть .slice := make([]int, 2, 2) // эвивалентно slice := []int{0,0}
fmt.Printf("len: %d, cap: %d\n", len(slice), cap(slice))
fmt.Println(slice)

slice = append(slice, 3)

fmt.Printf("len: %d, cap: %d\n", len(slice), cap(slice))
fmt.Println(slice)
выведет:len: 2, cap: 2
[0 0]

len: 3, cap: 4
[0 0 3]
п.с.
если конкретно по вашему примеру то в первом и во втором случае у вас инициализировано только 10 элементов которые команда fmt.Println(slice) и выводит.
А паника при slice[11]=0 будет из за того что этот 11 элемент не инициализирован, хоть память под него и выделена, здесь необходимо использовать append.

Худший ответ:
Срез это структура данных описывающая множественное разделение массива и хранящееся отдельно от переменной. Срез это не массив. Срез описывает часть массива.
Если мы возьмем массив buffer из предыдущего раздела, то мы можем создать срез, который будет описывать элементы от 100 до 150 (если быть точным, то от 100 до 149 включительно) путем нарезания массива:
var slice []byte = buffer[100:150]
В этом куске кода, чтобы быть точными, мы использовали полное объявление переменной. Переменная slice имеет тип []byte, читается как «срез байтов» (slice of bytes) и создана из массива buffer, путем нарезания начиная с элемента 100 (включительно) до 150 (исключительно).
То есть вкратце если я правильно понял вопрос, нужно сначала создать массив, обычный, потом можно внутри него выделить срез, и только после этого можно работать со срезом.
Вопрос: Чем вы удаляете следы от наклеек с ноутбука

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




Худший ответ:
Как раз писал об этом в комментарии к своему обзору нетбука.
Вопрос: Как правильно реализовать веб приложение целиком на ajax?

Лучший ответ:
Ну всё верно представляете, дальше гуглите single page apps.
С бэкендом всё примерно как вы расписали, на фронтенде понадобится заточенный под разработку SPA джаваскрипт-фреймворк (Ember, Angular, Backbone, React + Flux). Ну то есть можно и свой велосипед написать, но смысла нет.

Худший ответ:
Ну если говорить о самом простом методе реализации Real-time приложения, то тут можно обойтись обычными пулингами по таменгу типа setInterval(my_ajax_function(), 1000);
Но в идеале это делается через WebSockets. Посмотрите в сторону таких библиотек как Pusher или Socket.io
Вопрос: Тема для диплома, связанная с frontend?

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

Худший ответ:
Возьми математическую либу на js и сделай мини-версию wolframalpha с ограниченным функционалом без серверной части. И за математику плюсик поставят и за то, что работает живенько. Тем более в маленьком ВУЗе преподов, зачастую, можно удивить даже флешкой на 128Гб
Вопрос: Стоит ли для экономии времени браться за Node.js?

Лучший ответ:
Конечно.

Худший ответ:
Если Вам нужен небольшой скрипт, лучше его написать на том что уже когда то изучали и знакомы с фундаментом. Плюс для пхп существует масса инфы и готовых решений, что упростит задачу. 
Если же вы хотите в будущем писать бэк энд, то тут стоит выбрать тот вариант который вам больше нравится синтаксически и учесть основные плюсы и минусы платформ. Вот весьма предвзятый обзор node vs php. Пожалуй решающим фактором станет - низкий порог вхождения в php.
Вопрос: Запрос для выборки комментариев

Лучший ответ:
Тут уже дважды назвали nested sets — но он имеет большие накладные расходы на изменение данных. Хотя, 10к комментариев — редкость вроде, так что шевелиться должен весьма шустро.
habrahabr.ru/post/46659/

Для комментариев, даже для mysql (с постресом куда веселее с его рекурсивными запросами) — лучше, имхо, подойдёт именно Adjacency List (т.е. именно та структура, что вы и прикинули). Но строить дерево придётся уже в логике приложения — выбираете всю таблицу и строите массив[ parent_id ][] = узел. При выводе уходите в рекурсию.

Худший ответ:
На вопрос уже ответили, а я хочу добавить, что можно и не реализовывать ничего.
Можно взять готовое и использовать, например: disqus.com/
Пример использования:
slyweb.ru/jquerydoc/position.php
Вопрос: Как правильно запитать третью карту вторым БП?

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

Худший ответ:
Ставил реле на 5 вольт. его контактами  включение второго бп управлял и гальваническая развязка  и синхронный (почти) запуск. В вашем случае оставил бы 250 на мать и винты а 750ку на видеокарты.
Вопрос: Как запустить второй NodeJS сервер на субдомене VPS?

Лучший ответ:
Docker хоть 50 запускай.
настройка express-subdomain

Худший ответ:
Дело в том, что для сервера необходима связка IP:port.
Для http сервера нам необходим 80 порт (забудем для простоты про httpS).
Так нам необходимо либо дополнительный IP либо что-то, что умеет разбирать имя из URL и проксировать запросы. Смотрим в сторону nginx или чего-то подобного.
А node.js'ы уже будут жить на локальных адресах/других портах, например, 127.0.0.1:81 и real_ip:81
ps. При использовании nginx можно будет статику сразу отдавать, да и много чего еще интересного.
Вопрос: Где найти такой эффект?

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

Худший ответ:
Суть в том, что слой видео внутри кнопки, и оно там под ней проигрывается постоянно, как я понял, только без звука. Изначально у кнопки ширина 110x110px и красный бэкграунд, при наведении бэкграунд уходит и ей задаются размеры 2300x2300 сtransition:width 6s cubic-bezier(.55,.055,.675,.19),height 6s cubic-bezier(.55,.055,.675,.19)
В общем, в течении 6 секунд ширина и высота равномерно расширяются. Структура там сложная, ковыряться точнее уже поздно, сделал вам простейший пример на css.
Вопрос: Как стать QA-инженером?

Лучший ответ:
Не хватает в стеке SQL, python и shell для автоматизации простых задач.
Selenium, IMB Rational Tester, но это уже под проект. В принципе selenium используется очень активно. Можно еще LUA
Обязательно умение пользоваться поиском и гуглом в частности. 
Опрос населения на тему книг по тестированию
Книги по тестированию приложений
Где найти книгу «Шаблоны тестирования xUnit: рефакторинг кода тестов» (Джерард Месарош) в электронном виде на русском языке?
и другие подобные вопросы уже были.
Собственно сами методики тестирования - практически весь процесс тестирования идет согласно общепринятым стандартам, с терминологией, типами тестирования. Поэтому можно почитать общие книги по тестированию, 2-3. А лучше всего устроиться в проект, где тестирование поставлено правильно, и все на практике освоить.
Просто чтение книг - оно хорошо помогает, когда ты уже основы знаешь, а еще лучше когда уже работаешь, и книга проясняет теорию. Если же не работаешь а нужно освоить, то тут нужен не учебник, а "разговорник" - какие-нить быстрые курсы (онлайн курсы), с практическими задачами.

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

Лучший ответ:
Celeron G3930 - чудо-процессор для  офисной машинки. У меня такой был, заменил исключительно из-за игр, для которых его, всё же, недостаточно. 1080р 60fps воспроизводит практически без нагрузки на процессор за счёт аппаратного декодирования. С 4К тоже справляется без проблем, но вот в 60fps тестировал или в 25fps - не помню, врать не буду. Стандартные веб-серфинг и прочая офисная работа - просто на ура. В общем, за свою цену просто must have.

Худший ответ:
Самое дешевое но при этом крайне кофмортное это xeon e5440. 
Стоит в 5 раз дешевле (это с учетом дискретной видюхи) современных пней а по призводительно как бы даже не лучше.
3) хром эксель многопоточные софтины.
Вопрос: Как обрезать строку до нужного знака?

Лучший ответ:
s = "text text : one two three"
print(s[s.find(":") + 1 : ])
Объясню, что тут происходит. s.find(x) ищет позицию x. Если символа x нет, возвращает -1. s[ А : Б ] - это так называемый "слайс" строки, кусок от А включительно до Б не включительно. Если Б отсутствует - строка будет от А включительно до конца. 
s.find(":") + 1 - первый символ, входящий в новую строку. Если find вернёт -1, тогда мы просто получим всю строку целиком.

Худший ответ:
txt = "текст текст: один два три"
txt.partition(':')[2]
Вопрос: Какой мониторинг для сервере лучше выбрать?

Лучший ответ:
zabbix если нужны алерты и он как то более свеж чем нагиос 
мунини больше как то просто графики рисовать а не мониторинг

Худший ответ:
zabbix прост, мониториг графики уведомления, низкий порог входа. Готовые шаблоны. Агенты на linux and windows
Вопрос: Yii или Wordpress для Блога?

Лучший ответ:
На Yii вы просто напишите новый велосипед. Для блогов WP идеален.

Худший ответ:
На Yii вы просто напишите новый велосипед. Для блогов WP идеален.
Вопрос: Рендер шрифта в Firefox и Chrome одинаково?

Лучший ответ:
А вы точно скачали все варианты шрифта? Для внешних шрифтов нужно подключить как минимум 4 варианта: regular, bold, italic, bold italic. Иначе жирность и курсив будет сделан инструментами браузера, что далеко не всегда корректно.

Худший ответ:
На девайсах разных тоже может по-разному отображаться - на телефонах, ipad и т.д
Вопрос: Какая подкачка лучше (ZRAM, swap-раздел или swap-файл)?

Лучший ответ:
Купить больше рам
Не потреблять больше чем есть в рам

Худший ответ:
смотря от качества и количества данных с которыми вы работаете чаще всего
если своп используется часто и много то лучше ставить его на раздел
если своп используется не часто но много то лучше использовать файл подкачки
если своп используется немного то можно обойтись и zram
если своп используется относительно много но данные хорошо жмутся то здесь тоже можно обойтись zram
можно в принципе использовать и комбинированный подход, например - использовать zram и файл подкачки для которого тоже использовать сжатие.
Вопрос: OpenCart 2.2, Стоит ли вообще начинать? Как дела с 1С?

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

Худший ответ:
Насколько знаю сейчас с модулями для ОпенКарт 2.2 немного туговато.
 Маджента не проста в обслуживание и дорога. Если вам нужен какой то модуль  и если вы его не нашли в паблике -приготовьтесь раскошелиться. Если что то не стандартное денег тогда не мало отдадите. На 2 версию модулей тоже очень мало она еще сырая.
Престашоп не знаю ну тоже посравнению с ОпенКарт дороговато.
Есть еще Вукомерс, там стандартный магазин можно сделать бес проблем, но если шаг вправо влево тоже заплати.
Остановил бы выбор на Опенкарт или Вукомерс. Для 5000 товаров этих платформ должно хватить. Напишите список, что вам нужно и поищите в интернете на эти платформы модули, плагины. Сравните. Обычно делают на том, что знают. Если у вас дилемма поступите так.  Интеграция  есть с 1с у обоих систем, но нужно тестировать.
Вопрос: Измерение и мониторинг влажности воздуха

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

Худший ответ:
Вобщем.
Проблему решил покупкой китайского термометра с функцией гигрометра за $12 в ближайшем магазине электроника.

Влажность измеряет весьма адекватно, есть выносной датчик температуры.
Память на максиимальную и минимальную влажность/температуру.
Доволен.

Вот он сам:
Вопрос: Cоздать фигуру на CSS?

Лучший ответ:
Почему бы не нарисовать это в svg? потом перевести все это в base64, вот онлайн конвертер: b64.io/, и вставить в css фоном в куда надо, хоть в псевдоэлемент? Может гуру подскажут, как нарисовать все это, но мне кажется, что без картинки тут не обойтись..

Худший ответ:
Конечно изврат, но ради челенджа я сделаль) https://codepen.io/vicodin/pen/xpdENZ?editors=1100
Это для того, чтобы вы поняли суть, а уж тюнить под 100% картинку будете сами, играясь с размерами хелперов(белых кружков) и их позишнами
Вопрос: В чем ошибка в синтакисисе JS?

Лучший ответ:
else $(".pull".css("display", "block");
Скобки нетуif ($(window).width() < 991) {
	$(window).load(function() {
		$('.nav_slide_button').click(function(event) {
			$('.pull').slideToggle();
		});
	});
}else{
	$(".pull").css("display", "block");
}

Худший ответ:
Забыли } перед else и { после:if (...) {
    // 1
} else {
    // 2
}
И вообще, вы в каком редакторе пишете этот код? Нормальный редактор сразу подсветит синтаксис
Вопрос: Можно ли восстановить windows на лицензию после установки пиратки?

Лучший ответ:
Да, получится.

Худший ответ:
уже давно win 10 активируетcя ключами от предыдущих версий. в случае их валидности.
возьми скачай установочный образ windows 10 для флешки и  включи поддежку загрузки uefi/efi 
и установи windows 10 с вводом ключа от твоей win8.
Вопрос: Сомнения и предположительно невостребованные статьи на Хабре

Лучший ответ:
Вы лучше напиши про новый фаекрфокс, тут это любят

Худший ответ:
А какая цель публикации, если программы «мелкие и не выделяются какими-то оригинальными решениями»? Думаю, в загашниках хабровчан таких программ будет много, о каждой читать устанешь!

А теперь ИМХО: для полезных, информативных, но не несущих откровений и новизны, статей (чаще всего заметки из личного опыта, собственные переосмысление тех или иных IT вопросов...) есть личные блоги. А на Хабре хотелось бы видеть либо подробно изложенные сложные решения, либо простые, но гениальные.
Вопрос: Классы и объекты в python, self?

Лучший ответ:
в него попадает название экземпляра класса
Экземпляр может быть безымянным (например, лежать в списке), но идея в принципе верна - в self попадает id объекта:class A:
    def f(self):
        print(self)
        print(hex(id(self)))

a = A()
a.f()не понимаю зачем нужен атрибут self
Не уверен, что понимаю вопрос - настолько очевиден ответ, к тому же следующий прямо за вопросом. Смотрите на это как на синтаксический сахар: при вызове метода вы пишете экземпляр.метод(аргументы), а в реализации def метод(экземпляр, аргументы). Имя первого аргумента вообще-то произвольное, обычно пишут "self", но python3 допускает даже русский идентификатор "экземпляр", можете попробовать.

Худший ответ:
Так как по некоторым причинам в питоне нет контекстов и областей видимости, то функции-классов нужно передавать в явном виде ссылку на экземпляр объекта, которая и передается первым аргументом в качестве self.
Собственно, сами классы в питоне организованы через великий dict!>>> class T():
...  def a(self):
...     print self.test
... 
>>> a = T()
>>> a.test =1
>>> b= T()
>>> b.test =2
>>> a.a()
1
>>> b.a()
2
>>> T.a(b)
2
>>> T.a(a)
1