Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как отправить письмо через 5 минут после return?

Лучший ответ:
В голой Джанге отложенная отправка письма в рамках обработки http-запроса видится мне очень костыльной, в любом случае, делегировать отправку письма каким-нибудь способом нужно внешнему сервису.
Если письмо отправляется с помощью какого-нибудь сервиса (а не просто SMTP) - наверняка в его API есть возможность отложенной отправки.
Если используется Celery - опция countdown в помощь.
UPD:
Руслан Ежгуров: Если ничего из вышеперечисленного не используется. Celery обычно сложнее интегрировать с проектом, поэтому начните отправлять почту через какой-либо сервис. Из последнего годного, с чем сам работал - SparkPost, для небольших и средних проектов бесплатных лимитов хватает за глаза. Заодно решите проблемы с доставкой/недоверием к вам почтовых сервисов (ну, это сами спамить не будете, а то вас сам спаркпост отрубит быстро).
Библиотека для интеграции с Python/Django python-sparkpost, в методе отправки сообщения есть возможность отложенной отправки (см. параметр start_time)

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

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

Худший ответ:
Python/Django правильнее, но дороже.
Laravel/angular дешевле.
Offtopic. В Америке вон до сих пор сайты на вордпрессе делают. Но это вовсе не означает, что он там рулит. Просто у них бюджеты на поддержку другие. Не два доллара в месяц, далеко.
Вопрос: Как создать ip адрес, который работает как альяс?

Лучший ответ:
скорее всего потому, что на роутере не настроен hairpin nat.
а может некорректно настроен веб-сервер на сервере и не отдаёт сайт по вашему имени домена.
а может некорректная A-запись в DNS для вашего домена и IP1.
а за альянсами вам в mmorpg.

Худший ответ:
Решение проблемы!
Блокировал провайдер порты 80 и 443.
Вот тут снял юлокировку все заработало https://yadi.sk/i/wU53fQP1JrprFw
Вопрос: Какой поиск лучше сделать на странице «Проекты»?

Лучший ответ:
Всё норм, только поиск следует делать в форме, состоящей из одной строки ввода. На моей памяти, некоторые "программисты" выдавали форму аж из 10 полей (поле для поиска по имени проекта, поле для поиска по номеру проекта, поле поиска по ФИО согласующего, поле для поиска по ФИО начальника и дальше по штампу... )! Пользователи избалованы гуглем. Сделайте им маленький "гугл" )))

Худший ответ:
Вообще 1 с фолбеком до 3 это вполне стандартный подход.
Вопрос: Что нужно изучить перед тем, как начать создавать приложения в Android Studio, если опыта в программировании нет?

Лучший ответ:
Ну вы и поднакинули советов начинающему... ООП, JS, JAVA.
Я считаю, чтобы начать изучать программирование под узкую платформу, сначала надо обязательно разобраться:
а) теория: алгоритмизация (циклы, операторы условия, функции, модули, сортировка);
б) теория: реляционная алгебра (не обязательно изучать досконально все возможности Oracle, тут просто надо иметь представление)
Теорию я советую начинать изучать с какого-нибудь простого языка программирования, типа Паскаля или Си. Онное во всех языках одинаково, разницы изучать теорию в Яве или в Паскале нет. Но в Паскале программу написать легче (т.к. короче), быстрее запустить (т.к. всего нажать на одну клавишу), соответственно, быстрее имеешь базу рационального компьютерного мышления. 
Теорию БД (реляционная алгебра) можно изучать по SQLite 2. Не знаю, что может быть проще... 
Когда вся теория ясна, прежде чем программировать под платформу (не важно какую, будь хоть Rpi3), надо разобраться с ее устройствами и укладом программ и конфигов, прямо изучить что где лежит в каждой папке системной области. Разобраться как работает ввод-вывод, разобраться как использовать /dev/*
И уже потом выбирать API: будь оно голое от Google на JAVA или это будет PhoneGAP, или просто браузерное приложение. - Сейчас да и вообще, на твой вопрос, что именно для тебя будет лучше не сможет ответить никто.

Худший ответ:
Лучше начните с javascript, сейчас она стремительно развивается, да и на порядок легче в изучении.
На javascript можно писать любые приложения, в том числе для декстопа, Android, IOS, серверные, игры.
Используя intel xdk или phonegap, обладая минимальными знаниями, можно делать приложения на html/css/javascript.
На Хекслете есть отличный курс по которому можно изучить основы программирования на js.Какой язык программирования стоит выучить первым?
Вопрос: Как определить нормального клиента?

Лучший ответ:
Просто не связываюсь с: Арабами Азиатами Индусами С людьми с СНГ Латиносами 
и как-то проще работается.

Худший ответ:
Это часом не nationsorg?
Парит мозги программистам уже лет 6.
Ничуть не изменился.
По моему за 2 месяца вы могли догадаться.
Разрабатывать ТЗ целых 2 месяца да еще и бесплатно - сразу могли бы потребовать денег. И сразу же все стало бы на свои места.
Я так полагаю он ищет того, кто будет партнером и будет работать нахаляву. 
Но поскольку домен у него и вся оффлайновая часть у него, а без нормального сайта он и так неплохо и уже долго живет, то ... непонятно как он может прогарантировать партнерства, живя в другой стране. Ведь и юридические гарантии весьма слабы в этом случае.
Ему уже предлагали партнерские условия, чтобы он внес свой значительный партнерский вклад. Куда-то слился.
Вопрос: Как добавить свои свойства во View от Yii2?

Лучший ответ:
Вы можете реализовать передачу параметров через View::params. Как это реализовано для тех же хлебных крошек. И не мучить себя попытками перенастроить и отнаследоваться от базового класса ради добавления полей.$this->params['breadcrumbs'][] = $this->title;
Но и в наследовании нет какой-то "грязи". Это же ООП и наследование тут один из базовых принципов, как он может быть грязным приемом? Вопрос только в том, что бы в дальнейшем вы везде использовали свой View и не получили ошибок, если вдруг получите базовый.

Худший ответ:
по моему Вы все усложняете, наследование в данном случае вполне уместно
Вопрос: Каков характер проблем c WIFI, при загруженности эфира в диапазоне 2,4ГГц?

Лучший ответ:
Прокинуть провод /  перейти на 5ГГц  /  поставить репитер в комнате(500р)

Худший ответ:
Железо ещё проверьте. Мог подустать роутер.
Вопрос: В каком порядке изучать математические дисциплины?

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

Худший ответ:
Правильно сказали, что достаточно основ математики и здравого смысла. Но если очень хочется, начни с комбинаторики. Комбинаторика для начинающих. Дальше сам решишь надо ли.
Вопрос: Использовать ли normalize.css используя bootstrap?

Лучший ответ:
Нет, он там и так есть.

Худший ответ:
Вы бы прежде, чем использовать bootstrap, сначала разобрались в нем, тогда и вопросов таких больше не возникнет.
Вопрос: Почему свёрточная нейронная сеть доходит только до 70% правильных ответов?

Лучший ответ:
Для ответа на такой вопрос не хватает логов обучения. Причем не только по трейну, но и по валидации (судя по коду, валидации сейчас вообще нет).
Гипотезы:
- лучше использовать хотя бы 2-3 сверточных слоя со свертками 3*3, чем один 8*8, т.к. это обеспечит больще нелинейности;
- learning rate = .25 может быть слишком большим, так что в итоге сеть начинает осциллировать вокруг локального минимума.

Худший ответ:
В Alexnet аж 25 слоёв.
Вопрос: Установщик Windows для организации?

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

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

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

Худший ответ:
А как вы в статическом методе обратитесь к базе данных например? Прямо при вызове метода что ли передавать собрались? Не легче создать объект юзера, а потом получить в обычном методе this->id?
Вопрос: Symfony + React + SSR + SEO?

Лучший ответ:
1) Лучше SSR, если больше одной страницы. С Next.js SSR из коробки плюс можно использовать React-Native-Web.
2) Можно и сложные, так как любой нативный модуль можно дописать при потребности и кинуть бридж в JS слой. За 3 года работы с ним не встречал не решаемых задач. React Native лучшее решение на рынке, так как большинство нативных модулей уже написаны и доступны в open source. А хейтят React Native обычно нативщики, которые отстали от жизни и технологичных трендов.
3) Я понял что лучше не тратить время на сайты, а если и делать, то на react-native-web или еще лучше, но еще не пробывал react-native-dom

Худший ответ:
1) Лучше SSR, если больше одной страницы. С Next.js SSR из коробки плюс можно использовать React-Native-Web.
2) Можно и сложные, так как любой нативный модуль можно дописать при потребности и кинуть бридж в JS слой. За 3 года работы с ним не встречал не решаемых задач. React Native лучшее решение на рынке, так как большинство нативных модулей уже написаны и доступны в open source. А хейтят React Native обычно нативщики, которые отстали от жизни и технологичных трендов.
3) Я понял что лучше не тратить время на сайты, а если и делать, то на react-native-web или еще лучше, но еще не пробывал react-native-dom
Вопрос: Кем может работать архитектор в индустрии веб- и гейм- разработки?

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

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

Лучший ответ:
Если в договорные работы не входила работа по наполнению готового нового сайта контентом или это не было явно указано в условиях договора - Вы не обязаны это делать.Самое основное - всегда разделяйте этапность работ: никогда не начинайте выполнять доп. работу не выполнив полностью предыдущую и не получив за неё заранее оговоренную с Заказчиком сумму.Лучший сейчас вариант (для Исполнителя) - создать нужную структуру категорий и создать 1-2 страницы, чтобы показать и объяснить Клиенту, как это делать ему самому в дальнейшем.

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

Лучший ответ:
Если используете treadpool, то там скорее только через WaitHandle.WaitAll.
https://msdn.microsoft.com/en-us/library/z6w25xa6%...

Худший ответ:
Так введите переменную счетчик, как запускаете задачу, то сразу Interlocked.Increment(ref counter); как завершаете, то Interlocked.Decrement(ref counter);. Достиг нуля значит надо вызвать eventCompleted
Вопрос: Как отразить поступления с Upwork на Skrill для налоговой для ИП?

Лучший ответ:
Ну начнем с того, что Skrill в России запрещен - их сайт заблокирован (если ваш провайдер этого еще не делает, то это случайность). Но налоговая об этом может и не знать.
Во вторых нужна не только оплата, но и договор и акты.
Договор и акты вам может дать Upwork.
А оплата придет от Skrill
Вы это никак не сведете воедино.
Нужно из Upwork выводить напрямую на банковский счет.

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

Лучший ответ:
Разбивайте сложное на простые части.  A || B & (C || D) придумаем более практический пример (эквивалентный вашему).if (!file.exist || (file.type != DIRECTORY)  & (file.creationDate < lastGoodDate || file.size > maxSize))
{
   printErrorMessage();
}
Такое сложно написать и прочитать. Более длинный, зато более понятный вариант:bool isBadFile(file)
{
   if (!file.exist)
      return true; 

   if (file.type == DIRECTORY)
      return fasle; //skip directories

   bool isTooOld = file.creationDate < lastGoodDate;
   bool isTooBig = file.size > maxSize;

   return isTooBig || isTooOld
}

if (isBadFile(file))
{
   printErrorMessage();
}

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

Лучший ответ:
Расскажите, как упростить жизнь и не править всё через админскую часть?
А зачем править через админскую часть, если есть ftp, sftp? Правки кода или стилей через админскую часть - странное решение, хоть битрикс, хоть не битрикс.Как верстать и натягивать шаблон на локальной версии и отправлять всё на основной сайт
Настройте систему контроля версий, разверните копию сайта на поддомене или локально, делайте, что нужно, проверяйте, а потом отправляйте изменения на рабочий сайт. И это тоже не только к сайтам на битриксе относится.

Худший ответ:
Как делаю я делать не стоит:
Берешь компонент, создаешь его копию, подключаешь, делаешь все что нужно, проверяешь. Зашло? Копируешь в основной и подключаешь его.
Раньше через FileZilla еще заливал, но сейчас правки минимальные. Если надо что-то верстать, то на локалке пилю и заливаю. Если мелкие правки, то прямо в рабочем проекте. Еще раз: так делать не надо.
Еще раньше заморачивался и делал бэкапы, ранние версии и пр. Но тут все быстрее, быстрее, быстрее. Постоянно торопят. Ой все, нате вам как хотите, другому программеру когда передавать будете - он поседеет.
Вопрос: Как отправить сообщение от имени бота telegram python?

Лучший ответ:
Если они когда-нибудь начинали диалог с ботом и до сих не останавливали его. Подозреваю, что ты используешь библиотеку pyTelegramBotApi, запусти код с bot.send_message(здесь id получателя, 'текст')

Худший ответ:
Если человек обращался к боту хотя бы раз, бот может ему писать в личку.
import requests

TOKEN="5353085635632:AAEJUOhfI3C08P1vY2FLyny1uHg"
params = {
    'chat_id': '999999999',
    'text': 'Привет как дела?',
}

response = requests.get('https://api.telegram.org/bot'+TOKEN+'/sendMessage', params=params)
Вопрос: Как выбрать select средствами JS & JQuery?

Лучший ответ:
<select id="select">
  <option>завтрак</option>
  <option value="обед">обед</option>
  <option>ужин</option>
</select>
Выбрать обед$("#select option[value='обед']").attr("selected", "selected");

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

Лучший ответ:
Как написали бери 2x24", единственное что могу добавить бери формат 16:10 (а не 16:9) и желательно с возможностью поворота на 90 градусов. У меня 2 x HP ZR24W, уже лет 5 или 6, ничего менять не хочу.

Худший ответ:
Могу сказать что удобно мне для аналогичных задач.
1) Не меньше двух мониторов. На одном IDE, на втором дока или ещё что нить. Не представлю себе работу с одним моником. Иногда даже 3 хочется.
2) Не проблема, если мониторы будут разными. 
3) Монитор, на котором будет IDE лучше всего брать с разрешением 2560х1600. Обязательно 16х10. Больше текста входит по вертикали. Больше панелек и окон по горизонтали. Больше пространства остаётся под сам код. А вот у 4к на мой вкус - сильно мелкий размер пикселя.
4) Второй можно меньше, и просто fullHd. Ваш текущий можно оставить без проблем.
5) Категорически не советую брать для работы монитор с разрешением 2560×1080, и подобные обрубки.
Вопрос: Как подружить MODX с IDE?

Лучший ответ:
Все шаблоны и некоторые чанки MODX выношу в статичные ресурсы.
Т.е. они начинают читаться из файлов, а не из бд.
Хранить эти файлы удобно по адресу /assets/templates/
CSS, скомпилированные из SASS сборщиком, кидаются в /assets/css/
Шаблоны при этом удобно писать на Pug (Jade).

Худший ответ:
По итогу сделал вот так.
Вопрос: Как работает именованный аргумент функции в JS?

Лучший ответ:
вы передаете не options в console.log(), а совершенно другой объект.
вот так туда попадет options
console.log(show(options));

Худший ответ:
options, которым даёте значение в начале, и options внутри функции – это две разные штуки. Разберитесь с «областью видимости» переменных в JavaScript. Внутри функции как бы объявляется собственная версия переменной options, значение которой передаётся в функцию при её вызове.
Для читаемости назовите аргумент функции иначе, например, opts – и всё встанет на свои места: options = {
    width: 10,
    height: 20,
    contents: 'some text'
};

function show(opts) {
    var width = opts.width || "";
    var height = opts.height || "";
    var contents = opts.contents || "Предупреждение";
    return width + height + contents;
}

console.log(show( options)); // 30some text
options.contents = 'Другой текст';
console.log(show( options)); // 30Другой текст
p.s. почему "30", а не "1020"? Берётся число 10, к нему прибавляется число 20, результат – число. Потом к числу прибавляется строка, тут уже действует сложение строк (конкатенация). Чтобы с самого начала складывались строки начните с пустой строки: '' + width + height + contents
Вопрос: Как установить одноразовый пароль?

Лучший ответ:
1) Блокировка
PowerShell:([adsi]“WinNT://comp/user”).SetPassword(“password”)
rundll32.exe user32.dll,LockWorkStation2) Разблокировка
Планировщик заданий > По триггеру "При разблокировании рабочей станции":
PowerShell:([adsi]“WinNT://comp/user”).SetPassword(“”)P.S. Вышеуказанный текст написан для примера и не может использоваться без предварительной модификации и обдумывания последствий самим пользователем.

Худший ответ:
Можно поставить пароль, и прописать автологин
Win+R → control userpasswords2
При старте системы входить будет автоматически, но если нажмете Win+L - запросит пароль.
Защита так себе, стоит лишь злоумышленнику перезагрузить систему...
Вопрос: Как запускать screen без приветственного экрана?

Лучший ответ:
1. Просто запускайте скрин с указанной командой, напримерscreen bashscreen "/home/.../Telegram/Telegram -many -workdir /home/.../account-one"
2. Можно запустить скрит в детач режиме и подключиться к нему:screen -d -m
screen -r
/home/.../Telegram/Telegram -many -workdir /home/.../account-one
3. В бэкграунде обычно команды запускают через &/home/.../Telegram/Telegram -many -workdir /home/.../account-one &
или через & и nohupnohup /home/.../Telegram/Telegram -many -workdir /home/.../account-one &

Худший ответ:
Проблема в данном случае не в приветственном экране. Ответ выше верный.
Но для полноты картины, как же все таки отключить приветственный экран при запуске screen:
В домашнем каталоге пользователя создайте файл .screenrc со строкой:startup_message off
Вопрос: Как установить сайт на WP?

Лучший ответ:
У вас на сервере не работает PHP.

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

Лучший ответ:
Это паттерн. Делается руками в векторе/растре или ищется готовый (например на freepick или shutterstock). На сайт загружается в svg или png.

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

Лучший ответ:
Дата атрибуты, это вообще не в ту сторону. 
Чтобы передать параметры на сервер применяют Query string<a class="my_button" href="actions.php?action=create_user&number=1">Создать пользователя</a>
Или, если вы используете ajax$.ajax({
  url: 'actions.php',
  method: 'POST',
  data: {
    'action': 'create_user'
  })$_GET['action']
$_GET['number']
А data- атрибуты нужны на клиенте, чтобы удобно передавать какае-то данные внутри html элемента:<a class="my_button" data-action="create_user" data-number="1">Создать пользователя</a>console.log(
    document.querySelector('.my_button').dataset
){
    "action":"create_user",
    "number":"1"
}

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

так нельзя$.ajax({url: 'actions.php', method: 'POST', data: 
{
data-action: 'create_user',
});
а так можно{ 'data-action': 'create_user'}
В мануале написано "использовать дата-атрибуты" совсем не с той целью, с которой вы их используете.
Задумка там явно такая<button data-action="create-user">Create user</button>
<button data-action="delete-user">Delete user</button>$('button').click(function() {
   var el = $(this);
   $.ajax({url: 'actions.php', method: 'POST', data: 
      {
            'action': el.data('action'),
      });
});
теперь, при клике на кнопку create user на сервер придёт экшн create-user, а при клике на кнопку delete user, придёт экшн delete-user
Вопрос: Каковы игровые возможности Macbook Pro?

Лучший ответ:
о боже, я прочитал вопрос, просто выпал. Мак же покупают ради операционки. Что это "тот же Unix", который не глючит. А если брать в расчет железо, то там оно вообще никак не топовое.
Поэтому покупать мак и ставить на него винду, это тоже самое, что заниматься мужеложеством.

Худший ответ:
Хм. А мой ответ почему-то стерли. Наверное слово "ябблонутые" не понравилось - нарушение прав пользователей техники Apple :D
Вопрос: Важен ли порядок столбцов в индексе Mysql при поиске Where?

Лучший ответ:
Здесь create index idx_abc on ind(a,b,c); вы создаете составной индекс
Здесь ваш запрос explain select a from ind where c='test4' использует часть индекса => индекс используется

Худший ответ:
В вашем примере речь идёт, скорее, не о порядке сравнений во WHERE, а о порядке колонок в индексе.
При поиске используется только начальная часть составного индекса. То есть индекс (a, b, c) можно использовать при поиске по a, ab или abc. Поиск по b, c или bc использовать такой составной индекс не будет.
Обратите внимание на строчку 'rows' в ответе EXPLAIN'a, подозреваю, что у вас в таблице всего семь строк, а значит запрос просмотрел их все, не воспользовавшись индексом.
Эврика! Здесь говорится, что в случае покрывающего индекса (а здесь именно такой случай) записи индекса используются для ускорения доступа к данным при переборе, так как записи индекса, в общем случае, занимают меньше места и расположены компактнее, чем записи самой таблицы.
Вопрос: Почему жесткий диск загружен на 100%?

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

Худший ответ:
Есть какой-нибудь софт для оптимизацииВот собственно оптимизация и происходит. Дайте ей нормально завершиться и она перестанет дёргать диск. И как дополнение — свободно должно быть не меньше 30%.
Вопрос: Для чего нужны Генераторы (yield) в php?

Лучший ответ:
парсим большие csv<?php
function getRows($file) {
    $handle = fopen($file, 'rb');
    if ($handle === false) {
        throw new Exception();
    }
    while (feof($handle) === false) {
        yield fgetcsv($handle);
    }
    fclose($handle);
}

foreach (getRows('data.csv') as $row) {
     print_r($row);
}

Худший ответ:
Благодаря использованию генератора сохраняется состояние функции. Следующая итерация начинается с места окончания с теми же переменными с которыми завершилась предыдущая.
По ссылке пример кода и сразу же результат выполнения(а так же информация что будет если использовать return в генераторе) blog.ivru.net/?id=145