pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Где правильнее проверять пользовательские данные? В контроллере или модели?

Лучший ответ: За работу с данными должна отвечать модель. Именно модель должна знать какие данные допустимы, а какие нет, потому что на ней лежит функция обработки/записи этих самых данных.
У контролера цель - обрабатывать пользовательские запросы и решать, как на них ответить.
Иными словами, вы принимаете данные с формы контролером и говорите модели сказать валидные ли данные пришли. Модель отвечает контролеру, контролер принимает решение, как на это ответить пользователю (ошибкой, каким-то конкретным представлением и т.п.).UPDATEMVC советую всем прочесть, прежде, чем давать странные советы. Особенно внимательно прочесть "Наиболее частые ошибки", как раз говориться, что делать из контролера Толстый Тупой Уродливый Контролер - не правильно по определению шаблона. Можно спорить сколько угодно, но об этом прямо многие авторитеты. Другое мнение сформировано отсутствием глубокого понимания MVC и малым опытом на крупных проектах.

Худший ответ: Контроллер. Хотя конечно бывают и модели(тут скорее на более низком уровне) с автоматической проверкой данных, но это все же контроллер.UPD
Вот хороший пример:
Валидация никнейма, только латиница.
Проверка на латиницу - в контроллере.
Проверка на дубль с уже существующим - в модели, часть бизнес логики.
Я считаю что из-за ошибки в вводе(когда ввели кириллицу) зазря загружать модель, который часто монстр, не нужно. Быстро и просто отсечь в контроллере.
Иван прав в том что структурно это все же модель, но физически в проектах ситуации разные. Я уточню что я больше говорил про отсечение стандартных ситуаций, которые от модели практическине зависят. В целям производительности их можно и выносит в контроллер, опять таки скорее как руками(контроллер) взяли посмотрели и увидели это ключ до вставки в замочну скважину(модель и основная бизнес логика). А ведь глаза в данном случае смотрят на модель(замочная скважина) и выходит они часть модели.
Так что в целом на 100% прав Иван, при проектировании нужно понимать что любая валидация это часть модели, просто иногда кажется что это часть контроллера или даже представления, но то всего лишь интерфейсы оьбращения через контроллер к модели.
Так что валидация это: получили данные, контроллер знает к какой модели их давать, у модели должен быть инструмент валидации, далее он возвращает результат ну и мы решаем что и как.
Я просто поспешил сказав что валидация часть контроллера, но то что она вызывается в контроллере не отменяет того факта что это часть модели.
Вопрос: Как найти $(document).ready функции?

Лучший ответ: в хроме можно посмотреть все листенеры, что навешаны на конкретный элемент. Но в случае с jQuery это не очень удобно. Намного удобнее поставить бряки на изменения DOM. Таким образом вы найдете тот код, который добавляет ваши инпуты.
Просто в инспекторе элементов выберите body и тыкните break on... в контекстом меню.

Худший ответ: В мозилле, есть такой плагин как Developers Tools - в нём есть пунктик View Javascript, в нём показывается весь яваскрипт сайта. Вот там то можете и искать что то типо input, insert, insertAfter, append, prepend - и так далее =)
Ну или просто пробежаться по яваскрипт файлам и поискать то же самое.
Вопрос: Каким образом обеспечить деплой проекта?

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

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

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

Худший ответ: контент! нужен уникальный вирусный контент!
Вопрос: ::after Появляется после текста в div а не после div — так и должно быть?

Лучший ответ: The ':before' and ':after' pseudo-elements can be used to insert generated content before or after an element's content. They are explained in the section on generated text.Спецификацияведь указано что он блочный элемент
То, что это блочный элемент, вовсе не значит, что он по каким-то причинам должен рендериться вне родителя. Это влияет только на его взаимотношение с соседними элементами.
А что касается вашего кода, у вас для after ширина дважды указана: 100% и 1400px. Не знаю, специально это или нет.
P.S. В будущем постарайтесь более подробно описывать, что именно странного вы видите в поведении элемента, я не сразу сообразил о чем вы говорите.

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

Лучший ответ: Друг пользуется - https://itunes.apple.com/ru/app/taksik-voditel/id5...
Но на сколько я знаю, в России нужна специальная регистрация таксиста, чтобы кого-то официально возить. Нужна лицензия таксиста, желтые номера и т.д.

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

Лучший ответ: Есть хорошая книжка, которая может служить и учебником, и справочником. "Руководство Microsoft по проектированию архитектуры приложений, 2 издание" (download.microsoft.com/documents/rus/msdn/%D1%80%D...). 
Если закрыть глаза на рекомендации по использованию именно технологий Microsoft, то будет вполне целостная картина того, как решаются самые разные вопросы проектирования, от самого верхнего уровня до деталей реализации. Рассматриваются, в том числе, и вопросы, связанные с реализацией web-приложений и сервисов, причём в общем контексте enterprise-системы.

Худший ответ: пользователи онлайн SELECT * FROM `users` WHERE `user_visitdate` > NOW() - INTERVAL 10 MINUTE 
Вопрос очень не ясен. Рег-ия пользователей - это тривиальная работа для тех, кто прочел хотя бы одну книгу по ЯП.
Вопрос: Как удалить все нулевые элементы из словаря?

Лучший ответ: Нужно пройти его рекурсивно.>>> def f(d):
...     for i in set(d):
...         e = d[i]
...         if isinstance(e, dict):
...             f(e)
...         elif e == 0:
...             del d[i]
... 
>>> d = {'user1': {'var1': 2,
...                'var2': 0,
...                'var3': 1,
...                'var4': 0},
...      'user2': {'var1': 0,
...                'var2': 1,
...                'var3': 0,
...                'var4': 0},
...      'user3': {'var1': 1,
...                'var2': 0,
...                'var3': 0,
...                'var4': 0}}
>>> 
>>> f(d)
>>> d
{'user3': {'var1': 1}, 'user2': {'var2': 1}, 'user1': {'var1': 2, 'var3': 1}}
>>>

Худший ответ: Как вариант:list = {'user1' : { 'var1': 2, 'var2': 0, 'var3': 1, 'var4': 0}, 'user2' : {'var1': 0, 'var2': 1, 'var3': 0, 'var4': 0}, 'user3' : { 'var1':1, 'var2': 0, 'var3':0, 'var4':0}}

for u in list:
  for i in list[u]:
    if list[u][i] == 0:
      del list[u][i]

print(list)
Вопрос: Java: REST-сервис для мобильного приложения?

Лучший ответ: В java есть спецификация для rest сервисов jsr 311 по моему, у неё есть несколько реализаций. Например, www.jboss.org/resteasy. Документации по тому же resteasy валом. Думаю стоит начать с неё :)

Худший ответ: Посмтрите в сторону PlayFramework. Разработка кода в стиле ruby-on-rails с горячей подменой оп-кода.
Вопрос: VPN-сервер, с чего начать?

Лучший ответ: Можно попробовать начать отсюда: blog.avanta-pro.ru/?p=614
А вообще на windows делать этого не стоит. Лучше linux/freebsd. Для FreeBSD решение подсказали: mpd + биллинг (в abills автор даже мануалы по настройке дал).

Худший ответ: Вариантов много. Например, я использовал mpd + abills (free версию).
Ставил на freebsd7.
Вопрос: Сколько примерно учиться 3D-моделированию новичку?

Лучший ответ: Всё индивидуально. От полутора лет до пяти.
Нравится? Делайте. Если вам интересно это занятие вы и всю жизнь потратите с удовольствием.
P.S.: Многие люди думают, что успешное обучение зависит от инструментов или книг что они себе выбрали. Но это заблуждение. Успешность обучения зависит от вашего желания заниматься (которое не родить в себе никак) и дисциплины, которая является волевым качеством и поддается "прокачке".

Худший ответ: У меня знакомые проходили курс обучения 9 или 12 месяцев вот тут - https://diskill.ru/. Все еще зависит от того насколько много времени будете выделять на учебу.
Вопрос: Как вывести числа в обратном порядке без использования массивов в с++?

Лучший ответ: нажмите в студии ctrl+F5, введите например "1 2 3 0" без кавычек и нажмите enter ;)#include <iostream>

void foo()
{
	int number;
	cin >> number;
	if (number != 0)
	{
                //фишка в том что:
		foo(); //сначала выполняется функция 
		cout << number << " "; // а после уже выполняется вывод
	}
}

int main(int argc, char *argv[])
{
	foo();
        return 0;
}
UPD:
1. рекурсия использует стек вызовов и глубина рекурсии зависит от размера этого стека
2. исходя из предыдущего пункта не стоит писать код который выше в продакшене, лучше использовать цикл и массив(или стек) который запрещают
3. обновил сигнатуру main, это никак не должно повлиять на выполнение программы, но так корректнее
вот результат:

Худший ответ: Мсье на stepic.org курс по c++ проходит?:)
Вопрос: Как сверстать такие кавычки?

Лучший ответ: попробуйте так:.your_block{
background: url(images/q_up.gif) no-repeat 0% 0%,
                url(images/q_down.gif) repeat-y 100% 100%; 
padding: 100px;
}

Худший ответ: Для меньшего количества кода лучше использовать  псевдоэлементы :before и :after и для семантики сам тег blockquote
пример здесь : codepen.io/ennet/pen/aNVQem
Вопрос: Что лучше использовать для git: консольный клиент или графический?

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

Худший ответ: С некоторого апдейта у меня консольный гит стал раскрашенным - ровно с тех пор меня перестали посещать мысли освоить какой-нибудь гуй для него.
Вопрос: Возникает ошибка при установке Socket.IO на Mac OS, как решить?

Лучший ответ: Думаю, проблема в node 4.0.0, рекомендую установить nvm и использовать версию 0.12

Худший ответ: Не все библиотеки еще успели портировать на node v.4.0, так что использовать ее уже сейчас пока что рановато, socket.io одна из таких библиотек...
Вопрос: Чем плохи комментарии на русском языке в коде?

Лучший ответ: За русские комментарии 
Во первых это круто
Во вторых: мне гораздо приятнее читать и чувствовать всю глубину русского наречия, чем сухой английский
В третьих: все нормальные люди уже давно используют utf8, соответственно проблем с кодировкой не будет 
В четвертых: пущай пиндосы тоже напрягают свой мозг и учать русский язык (почему русские должны учит ингиш, а англичане и пр.  русский яз нет? Дискриминация)

Худший ответ: Если иметь в виду, к примеру, SCSS - то у меня всегда он конвертирует русские комментарии в кашу.
Вопрос: Как сделать в CSS — float: left с нижним margin до конца вниз?

Лучший ответ: Ну по логике подумайте. float: left у картинки - значит обтекание текстом по её правой стороне. Что и получается. Вам нужно - 2 колонки. Значит и верстка д.б. уже другой. Как один из вариантов - текст поместить в див и сделать тому float: right

Худший ответ: Попробуйте для изображенияoverflow: hidden;
Либо для текстаfloat: right;
Вопрос: Как убрать index.php из урла?

Лучший ответ: RewriteEngine On
            # Директива включает редиректы.
RewriteBase /
  # Без директивы (.*) = /$1 будет /var/wwww/site/$1 с ней = /$1


############################################################################
####  Убираем index.php, если он есть в конце URL                       ####
############################################################################
RewriteCond %{REQUEST_METHOD} =GET
            #Выявляем GET запрос в URL (не POST)
RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
            #URL cодержит index.php в конце.
RewriteRule ^(.*)$ %1/ [R=301,L]
            #Удалить index.php из URL.

Худший ответ: При этих правилах редирект происходит, но url c site.ru/uslugi/ меняется на site.ru/?q=uslugi/. Как быть?
Вопрос: Как шифровать данные в Python 3.3?

Лучший ответ: PyCrypto поддерживает python 3.3.
https://pypi.python.org/pypi/pycryptoPyCrypto is written and tested using Python version 2.1 through 3.3. Python 1.5.2 is not supported.
Может быть, у Вас винда и не собралось сразу из-за stackoverflow.com/questions/13787258/pycrypto-inst... ? Но там и решение указано (либо брать недоверенный бинарник с просторов интернета, либо же собирать из-под mingw).
Не получится -- тогда попробуйте биндинги к OpenSSL (pyOpenSSL https://github.com/pyca/pyopenssl)

Худший ответ: c PyCrypto на Mac ничего не вышло. error: no commands supplied.
Last login: Tue Feb 25 21:23:02 on ttys000
MacBook-Air-Danila:~ danilausacev$ cd '/Users/danilausacev/Downloads/pycrypto-2.6.1/' && '/usr/bin/pythonw'  '/Users/danilausacev/Downloads/pycrypto-2.6.1/setup.py'  && echo Exit status: $? && exit 1
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help
error: no commands supplied
MacBook-Air-Danila:pycrypto-2.6.1 danilausacev$ python setup.py test
running test
Traceback (most recent call last):
  File "setup.py", line 456, in 
    core.setup(**kw)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 321, in run
    from Crypto import SelfTest
ImportError: No module named Crypto
MacBook-Air-Danila:pycrypto-2.6.1 danilausacev$
Вопрос: Хабрацентр им. /user/username

Лучший ответ: habrahabr.ru/qa/10996/ — тут обсуждалось в том числе, не так давно.

Худший ответ: кстати если попробовать зайти по старому — username.habrahabr.ru то происходит редирект на новый адрес habrahabr.ru/user/username
Вопрос: Что изучать новичку Swing, JavaFX, SWT?

Лучший ответ: Не нужно десктопные приложения писать на Java. И даже библиотеки кроссплатформенные обычно не стоит писать на Java.
Их нужно писать, но не на Java.
А на Java - под Android и веб-сервисы для Enterprise.
Насчет Android, говорите, у вас ПК слабый?
Хотите поменяемся?
У меня 1.0 ГГц и 2 ядра, 4 ГБ ОЗУ, HDD, и при этом Win 8 x64, а не какая-нибудь экспишка. Ну, как вам конфиг?
Не идет Android Studio - ставьте сборку Eclipse, как у меня: https://yadi.sk/d/Kb1p4ZzajaU93
Не идет AVD - юзайте девайс, Genymotion, VirtualBox.

Худший ответ: GWT, потому что на нем написано много, поддерживать надо
javaFX2, потому что он сейчас входит в силу.
Сори, Swing не надо - старое и ненужное
Вопрос: На каком языке лучше всего гуглить програмисту?

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

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

Лучший ответ: Попробуйте зажать кнопку dpi секунд на 5

Худший ответ: У меня сегодня в Mint похожий глюк случился, если воткнута мышка то она работает в пределах одного активного окна\элемента

если до этого в фокусе был таскбар, то колёсико крутит окна, где бы указатель не находился.
Вопрос: Почему не отображается «бутерброд» в респонзиве?

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

Худший ответ: Попробуй так <span class="glyphicon glyphicon-menu-hamburger"></span>
Вопрос: С чего начать разработку веб — сервера на андроид?

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

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

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

Худший ответ: Ну от не структурированых базах и EAV уже @Playbot сказал, скажу только что можно использовать готовые решения. Называются CCK. Это конструкторы котнета. Например Cobalt для Joomla.
Почему?
1. Вы получете CMS и можете так же поставить форум, галлерею, .... и быстро расширить свой сайт не затрачивая много времени.
2. Вы можете и сами кастомизировать все.
3. Экономите время на запуск проекта.
Вопрос: Как работает HasMany в Yii2?

Лучший ответ: Такой вариант:// В модели User
public function getFriends()
    {
        return $this->hasMany(static::className(), ['id' => 'u_id1'])
            ->viaTable('{{%UserContact}}', ['u_id2' => 'id']);

    }

Худший ответ: А почему не сводной таблицей объединять?
Вопрос: Как установить драйвера на Intel HD2500 в Mint 17.1?

Лучший ответ: Какое у вас ядро: вывод uname -a сюда
Ну у меня на Xubuntu 14.04 стоит и работает https://01.org/linuxgraphics/downloads/2014/intelr... Соответственно качаем для 14.04 x64
Если он не подходит, то можно конечно поставить свежайшие https://launchpad.net/~xorg-edgers/+archive/ubuntu... В описании ppa все написано. ЧИТАТЬ ОПИСАНИЕ ОБЯЗАТЕЛЬНО!
В худшем случаи отменить это можно через ppa-purge ppa:xorg-edgers/ppa

Худший ответ: Пробовал, но он ругается на несовместимость с моим дистрибутивом.
Вопрос: Как парсить xml в mysql?

Лучший ответ: Это можно сделать силами одного лишь mysql.
Загрузка XML в таблицу: LOAD XML
Периодический запуск (встроенный cron): Event Scheduler (не забудьте включитьevent_scheduler=ON в конфиге мускула). См.также: пост.
Если нет рут-доступа к серверу, тогда просто вызывать по cron'у: mysql -u <имя_пользователя_mysql> --password=<пароль> -e "LOAD XML ...;"

Худший ответ: Эм, написать скрипт и запускать cron'ом с периодичностью, или написать демона, который сам будет периодически лазить в xml-файл и перегонять дельты в базу. Как, куда и что - уже зависит от структуры xml и структуры таблиц в базе.
Язык, на Ваш выбор: PHP, Python, Ruby, Perl, Golang, и многие другие...
Если использовать вариант с демоном, то можно ещё реализовать вариант с filesystem notifications, то-есть повесить listener на файл, и при его изменении демон тут же будет парсить дельты в БД. Этот вариант мне кажется наиболее оптимальным.
Вопрос: Возникла ошибка на одном из дисков в програмном raid 5 под windows, как его корректно заменить???

Лучший ответ: Данные вы уже не спасёте. Пересобирайте RAID с нуля и восстанавливайте бэкап. Это закономерная цена за подход "все данные попросту некуда складывать". Перед ребилдом массива надо было как минимум отключить сбойнувший диск и НА ЕГО МЕСТО подключать новый.
Полагаю, что у вас при добавлении нового диска поехала нумерация дисков в винде, и она подцепила в массив тот диск, который, как она посчитала, правильный.

Худший ответ: сперва надо было удалить сломанный диск
а так винда удалила первый попавшийся
Вопрос: Существует ли онлайн словарь с интервальными повторениями?

Лучший ответ: ну по дефолту lingualeo.com

Худший ответ: LinguaLeo + их расширение для Хрома
Вопрос: Проблемы с adobe air

Лучший ответ: Распрастраненная проблема с первыми версиями AIR. Причина – засорение системы старыми файлами фреймворка. Лечится несколькими способами. Самый простой, это скачать Windows Installer Clean Up и с помощью нее подчистить хвосты от AIR1.5.

Худший ответ: На проблему наткнулся, при установке Яндексовского приложения для эйр — Директ.Коммандер. Он, зараза, не работал без новой версии AIR, которая не ставилась.

Я решил проблему так:

1. По топорному, через «Выполнить > regedit» — удалил все записи связанные с Adobe AIR, через банальный поиск.

2. С сайта ninte.com через их инсталлер поставил Adobe AIR.

3. Работает )))
Вопрос: Как «подружить» VS2010 и VS2012 на одной ОС?

Лучший ответ: Поставь VM и избавишься от головной боли из-за экспериментов

Худший ответ: Можно удалить VS2010
Вопрос: OpenSSL: подписать корневой сертифкат?

Лучший ответ: Что-то вы путаете. Если новый «корневой» сертификат подписать старым корневым сертификатом, то это будет обычный промежуточный сертификат. Ничего этим вы не выиграете. Срок действия изданных сертификатов не может быть больше, чем сертификат подписанта.
Корневой сертификат можно переиздать со старым ключом, тогда у нового корневого сертификата будет такой же AKI (Authority Key Identifier), что и у старого. Это позволит использовать новый корневой сертификат для подписи новых сертификатов, которые будут валидны со старым корневым сертификатом.
Уточните, что конкретно вы хотите?

Худший ответ: Теоретически:
1. Генерируем новый секретный ключ
2. Создаём запрос на сертификат
3. Геннерируем новый сертификат, используя старый сертификат, старый ключ и запрос нового сертификата.
Практически — не уверен, что всё будет хорошо с истекшим сертификатом.
Вопрос: Существует ли torrent клиент для android, с управлением из вне?

Лучший ответ: Двух минутный поиск дал такой результат 4pda.ru/forum/index.php?showtopic=356674. Если демон трансмишина полный то должно работать дистанционное управление.

Худший ответ: Извиняюсь, если не правильно понял проблему, но можно же управлять не отдельным приложением, а всем устройством. Поставьте на бокс что-нибудь типа RemoDroid (первое, что нашёл) и там уж управляйте чем хотите — хоть торрентом, хоть не торрентом.
Вопрос: Жесткий диск не может раскрутиться. В чем может быть проблема?

Лучший ответ: Если щелкает - это не магия, а умирающий хард. Сливайте срочно всю инфу и покупайте замену

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