Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: В PHP канонично сначала проверить, потом сделать или попробовать и обработать ошибку?

Лучший ответ:
Очень хороший вопрос и тема, в которой самое чудовищное количество самых дремучих северий на единицу кода.В общем случае, по умолчанию, никаких проверок и траев с кетчами быть не должно.
Я понимаю, что это звучит богохульством для среднего пользователя похапе, но в реальности программы пишутся совсем по-другому. 
Пример: В обоих приведенных выше случаях мы имеем масло масляное: попытка подменить пхп в выборосе ошибки. Вопрос - зачем? Если файл не найден, то РНР сам прекрасно сообщит нам об ошибке, причем в подробностях, и скажет в чем конкретно заключается проблема. А по строчке "file not found" иди гадай - путь ли кривой или в имени файла опечатка, или вообще пустоту передали. Любые проверки надо делать только тогда, когда есть осмысленный сценарий их обработки.
И обсуждать выше приведенные примеры имеет смысл только если автор вопроса предоставит такой сценарий. тупое error: file not found таким сценарием не является. Так что в общем случае оставляем код в покое и не устраиваем никакого карго культа из перехвата ошибок.Если чисто выбирать между двумя действиями (проверка и чтение) и одним (сразу читаем, потом ловим исключение), 
то  последнее предпочтительнее, поскльку это атомарная операция, в то время как между проверкой и чтением состояние системы сожет измениться (файл может быть удален).
Но повторюсь, если нет никакого осмысленного сценария обработки ошибки, то ловить её не надо.

Худший ответ:
Не совсем понятен вопрос, но. Try catch, нужен для обработки исключений. Проверки (если вы про конструкцию if (..)) нужны для булевых операций, все.
Вопрос: Какой плагин кеширования в Вордпрессе лучше других?

Лучший ответ:
Ох, опять эта тема :)
Для начала могу сказать какой точно никогда, ни при каких обстоятельствах не использовать - W3 Total Cache. Это адище с большой буквы. Туда же все остальные плагины, которые пытаются быть "все-в-одном" и предоставлять 120 страниц конфигурации. В топку.
Далее, давайте мухи отдельно и котлеты отдельно. Есть object cache - у него свои задачи. Есть fragment cache - у него свои. Есть full page cache - это отдельная кухня. Есть кеширование на уровне сервера (nginx fastcgi_cache), все тот же full page cache но "навыворот". А еще Nginx умеет разговаривать с Memcached напрямую. И даже если сравнивать решения, которые делают одно и то же (например, тот же full page cache), разница в "эффекте" на разных серверах и даже на разных сайтах на одном сервере будет. Часто - существенная. Плюс, есть кеширование на многих уровнях на самом сервере - файловая система, кеши БД и тд. И все эти настройки будут влиять на поведение плагинов кеширования. Часто - существенно. Кеширование на стороне клиента - отдельная кухня, начиная с server push, prefetch и тд, выдача поддерживаемых форматов (brotli/gzip, woff/woff2/ttf, webp/jpg/png и тому подобное).
В общем, performance - это целый комплекс мер, решений и инструментов. Подходить к этому надо с умом и четким планом, полным пониманием всего процесса от инициации запроса клиентом и до... а нету точки Б, потому что там свои моменты. 
А еще надо понимать, что ваш медленный DNS может убить всю экономию на PHP runtime. Или криво установленный SSL-сертификат. Или кеширование SSL-сессий, некорректно настроенное под специфику трафика конкретного проекта. Или канал на выходе перегруженный. Или далеко не оптимальный конфиг пула PHP. Или вообще Apache. Или I/O wait зашкаливает.
Грубо говоря, если вы надеетесь найти один волшебный плагин, который будете лепить сверху на каждый сайт и всегда получать супер-мега-быстрый сайт - вы не на то тратите свою энергию. А проводить сравнительные тесты нет смысла, потому что по сути их результаты могут иметь хоть какой-то смысл только когда вы подбираете под один конкретный сайт. Если вы проведете все те же тесты на другом сайте и на другом сервере - получите уже другие результаты.
И еще. Силы надо тратить на то, чтобы динамический сайт был быстрым. То есть, без плагинов кеширования вообще. Если сайт у вас тупит, то попытка замаскировать это сверху плагином кеширования - не самое разумное решение. Временное - да, возможно. Но не решает проблему.

Худший ответ:
ставь WP Super Cache
для ленивого новичка само то - минимум настроек и работает
Вопрос: Как стать data scientist?

Лучший ответ:
Не иссякаем поток.
Надеюсь вы уже ознакомились со ВЧЕРАШНИМ постом:
Машинное обучение, что нужно знать в математике?
Прошли по ссылкам, посмотрели, оценили, выбрали наиболее подходящие именно для вас ( в том числе - по уровню подготовки, по финансовым и пр. возможностям) и пришли спрашивать о каких-то конкретных "ресурсах" а не "о вообще". Или хотите узнать мнения конкретных людей, а не обезличенных пользователях Тостера с непонятным отношением к Data Science.  Ну, или приведенные в указанных постах рекомендациях вам по какой-то причине вообще ничего не подошло и вы хотите получить еще пару десятков ссылок для углубленного ознакомления?

Худший ответ:
ETL специалистом - это не близко к Data Scientist. Как у вас навыками программирования?
Лучше может какое обучение пройти, онлайн-школ масса, выбирайте на свой вкус. За год при регулярном занятии конечно можно даже с вашими знаниями получить профессию и стать специалистом.

Посмотрите подборки подробнее что требуется и какое обучение data scientist предлагают разные школы, например, здесь.

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

А если серьезно, то при регулярном занятии у вас не может не получиться.
Вопрос: Что значит плоский код?

Лучший ответ:
Код, который написан и читается, словно он вовсе не асинхронный (все вызовы друг за другом).
пример из jsconst parseAdminsData = async ()=>{
  const token = await getToken();
  const users = await getUsers(token);
  const admins = users.filter(({isAdmin})=>isAdmin);
  return admins;
}
вот тут два асинхронных запроса, но в коде они выглядят просто как вызовы функций. (без колбэков)

Худший ответ:
вложенный код (nested):for a in range(10):
    for b in range(20):
        for c in range(30):
            for d in range(40):
                if d == 1:
                    if c == 1:
                        if b == 1:
                             if a == 1:
                                  print('nested code')
плоский код (flat):for a in range(10):
    print('flat code')
видно, что вложенный код читается очень плохо - поэтому надо стараться писать плоский код, это сэкономит вам через несколько месяцев время и другому человеку, который будет читать код. 
к тому же, вложенный код работает медленней, чем плоский и его скорее всего, можно привести к плоскому коду.
Вопрос: Где почитать про Управление IT проектов?

Лучший ответ:
Не помню в какой книге прочел исследование, если найду то потом прикреплю, так вот там был доказанный рост скилла работника в отношении 100% и делился он так:
10% Книги, статьи
20% Общение с коллегами, форумы и прочее, перенятие опыта
70% Опыт решения сложных задач.
То есть, сколько бы ты не читал книги это всё равно история для расширения кругозора и просто жвачка для мозгов. Реальный рост скилла дают только сложные задачи и решение проблем именно твоего проекта с твоими особенностями, а еще больше опыта дают неудачи при хорошей рефлексии. Свои шишки набивать надо, чужие не болят. 
Я сам читал книжки, весь маст хэв для pm и мифический месяц, коты, dedline, все эти истории про управление качеством и прочее. Купил потом еще порядка 10 книг, прочел 3 и взял новый проект, в котором за 4 месяца апнулся как от 100 книжек. 
Поэтому как говорит мой начальник, который пришел из ВТБ, главное это:
1. Совать свой нос везде куда можно и нельзя, искать узкие места рабочего воркфлоу и бизнес-процессов и исправлять их
2. Общаться, много и со всеми. Не на тему хз чего, а конкретных болей конкретного человека и думать как их исправить
3. Не тонуть в менеджерской рутине, которой всегда очень много на проектах. Выделять дни, записывать досконально что ты делаешь в течении дня и анализировать какие действия повторяются опять же в течении дня/недели и как этого избежать. 
4. Ну и самое главное, всегда думать как встать над процессом, а не тонуть в нём. Сказка про четыре типа менеджеров. 
Есть лодка, в ней дырка с полметра и лодка тонет. 
Дебил и ужасный менеджер разводит руками. 
Плохой менеджер начинает вычерпывать воду чайной ложкой.
Нормальный менеджер думает как заменить ложку на ведро.
Хороший менеджер думает как залатать дыру. 
Ну и болеть душой за проект. Программисты ваши друзья. Не подчиненные и не обычный ресурс. 
Хороший pm это всегда адвокат разработки, а не её прокурор)

Худший ответ:
Видео-канал тоже можно какой-нибудь посоветовать.
Вопрос: Ubuntu, указывать ли в скрипте пароль от root?

Лучший ответ:
сделайте отдельного пользователя с правами только на чтение и делайте дампы сколько душе угодно. Ограничьте его еще только localhost (поскольку вы это делаете на том же сервере)

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

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

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

Лучший ответ:
тогда откажись

Худший ответ:
Делай на том, на чем умеешь. Если есть сомнения значит, ты подсознательно понимаешь что если будешь делать на том чем умеешь скорее всего не совсем правильно.
Отсюда у тебя есть 2 варианта
1) Пробовать делать на том что не знаешь но подозреваешь что правильно будет. Попутно разбираясь в новых для тебя технологиях.
2) Отказаться
Если ты будешь делать на новых для тебя технологиях то скорее всего сделаешь далеко не качественно,  так как нужен опыт и набивание шишек. У заказчика возникнут вполне адекватные вопросы скорее всего по продукту.
Советую действительно отказаться, но начать изучать те технологии которые бы в этом случае были бы верным решением и попробовать самому для себя реализовать данное задание от заказчика. Полностью его проработав и вылизав. Так ты в следующий подобный раз сможешь браться за работу.
Вопрос: Какую справедливую формулу можно использовать для вычисления истинной симпатии (лайки) к ответу на Тостере?

Лучший ответ:
Никакую. Все выводы из наблюдаемого поведения - субьективны. Реальность из субьективного восприятия получить невозможно. Какой метод рассчета Вы бы ни применили - вы получите субьективную оценку. Т.е. такую которая будет нравится Вам. Но никак не будет отражать реальную суть вещей. 
Вот Вам мысленный эксперимент. Представьте у Вас есть плагин который для Вас на Вашем ответе всегда показывает самое большое количество лайков. Независимо от реальной картины. Вы бы согласились на такую поддельную реальность? Наверное нет? Так что же Вами движет? Чувство несправедливости? Жажда познаний? Вы хотите понять, что делает ответ лучшим? Это бесполезно... 
Вот Вам еще один мысленный эксперимент. Представьте себе вы поймете как писать ответ так, чтобы он был отмечен лучшим. Будут ли данные по такой схеме ответы действительно лучшими или они станут просто собирать максимальное количество лайков? А если есть схема по которой можно дать действительно лучший ответ значит мы открыли универсальный способ познания. Нет? Значит остается только второй вариант. Получится просто ответ с большим количеством субьективной поддержки со стороны читателей. Это только ухудшит ситуацию, люди будут писать ответы ради одобрения окружающих. Вопрос уйдет на второй план. Платформа погибнет.
Вот Вам пример из другой области. На литературных порталах можно прочитать разнообразные, порой полярные отзывы о книге. Есть ли математический метод который скажет, стоит мне читать эту книгу или нет?  Способ один - почитать и узнать. Какую бы вероятностную уверенность ни выдал рекомендательный алгоритм в том, что мне эта книга понравится, она мне может не понравиться. И наоборот.

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

Лучший ответ:
Да, есть так называемый Keyword Effectiveness Index (KEI) - индекс эффективности ключевого запроса. На его основе можете оценить уровень конкуренции.

На русском почитайте:
https://vc.ru/seo/45226-kak-opredelit-konkurentnos...
https://moytop.com/prodvizhenie-sajtov/formula-kei

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

Лучший ответ:
Идеология работы с консолью намного более человеколюбивая чем гуи:
1) Полнота документации. man и --help работают для почти всех утилит и без сторонних сервисов позволяют найти нужные опции.
2) Простота передачи и хранения знаний. Простейший пример сборка OBS для линуха:spoilergit clone --recursive https://github.com/obsproject/obs-studio.git
cd obs-studio
mkdir build && cd build
cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
sudo checkinstall --default --pkgname=obs-studio --fstrans=no --backup=no \
         --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes
Никаких тысяч скриншотов и заумных ссылок. Такие же инструкции есть для большинства популярных решений.
3) Простота и скорость работы на удаленных серверах. ssh это быстро просто и надежно.
Есть для всего: от смартфонов до мака.
4) Обратная связь.  90% утилит пишут белым по черному что они делают, или какая ошибка возникла. Саму ошибку при необходимости легко загуглить.
Если же больше нравится как обезьянка тыкать в кнопочки, с линухом лучше не связываться. Вас ожидает одна боль.

Худший ответ:
Панель управления хостингом это называется.
Вопрос: Как преобразовать текст из кодировки Windows-1252 в UTF-8?

Лучший ответ:
вы делаете ту же ошибку, что и в предыдущих вопросах по парсингу: работаете с уже интерпретированными данными вместо сырых.
когда вы в файле пишите $metro = 'Ìåòðî Ïëàíåðíàÿ 474 ì'; строка приобретает кодировку этого файла, а не исходную, соответственно, любые камлания по конвертации лишены всякого смысла.

Худший ответ:
Для быстрого фикса$metro = 'Ìåòðî Ïëàíåðíàÿ 474 ì';
$metro = iconv('UTF-8', 'CP1252', $metro);
$metro = iconv('CP1251', 'UTF-8', $metro);
var_dump($metro);string(36) "Метро Планерная 474 м"
Однако вам нужно искать проблему, а не рисовать костыли.
Вопрос: Как правильно и красиво обновлять states для вложенных объектов в React?

Лучший ответ:
immutability-helper (каким бы громоздким не казался, задачу свою решает)Ramda (lensProp/lensPath + set/over)immer

Худший ответ:
1. map - метод для преобразования данных, а не для перебора.
2. Если изменяемые только два свойства, то не ясно зачем вам вообще иметь сложную вложенную структуру и держать ее в state.
Вопрос: Создать метод, который проверяет корректность введенной даты; формат даты передается в строковой переменной, где d — день, т — месяц, у — год?

Лучший ответ:
ну... тут программировать придется

Худший ответ:
редирект на https://stackoverflow.com/questions/5366285/parse-...
Вопрос: Как посмотреть всех членов группы «Администраторы домена» в windows server 2003?

Лучший ответ:
Очень давно не видел 2003 сервер, но он же не отличается от остальных в плане организации учётных записей вроде? 
Администрирование /-/ Управление компьютером /-/ Локальные пользователи и группы /-/ Группы
Открыть нужную группу и посмотреть.

Худший ответ:
А там что-то кардинально в оснастках менялось? Они, как были с времени win2k сервера - такие и остались, пунктов только иногда прибывает и все.
Вопрос: Почему при заряде / разряде конденсатор пропускает ток?

Лучший ответ:
Сначала картинка из серии "физики шутят":

С ее помощью можно запомнить, что там конденсатор пропускает, а что - нет.

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

Вынос из каментов:

Чем диэлектрик отличается от проводника? В проводнике есть свободные носители заряда - то есть штуковины (электроны (в металле), ионы (в жидкости)), которые могут свободно перемещаться в веществе.

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

Это не может продолжаться бесконечно, потому что в какой-то момент все "резинки" натянутся (емкость зарядилась) и ток течь перестанет. Но если приложить слишком большое поле, "резинки" порвет, заряды свалят со своих мест - наступит пробой диэлектрика.

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

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

Худший ответ:
Так с чего начать: Scala или Erlang(Elixir?)?
Только вам решать. На мой взгляд лучше выучить оба и добавить ещё Clojure и Haskell. А потом уже выбирать.Что перспективнее у нас/за рубежом?
Просмотрите вакансии. Сравните по количеству предложений и размерам зарплат.И можно их учить без знания Java?
Можно.
Вопрос: Mikrotik как реализовать перенаправление извне на разные IP по доменному имени?

Лучший ответ:
насчёт микротика не скажу, хотя и есть у меня подозрение, что он так не умеет.
лично я для этого использую проксирование через nginx: он умеет в зависимости от того, на какое доменное имя пришёл запрос, перенаправлять его на другие сервера.

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

Лучший ответ:
playlist, track, artist, artist_name
Пожалуйста, приходите еще.

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

Лучший ответ:
В корне проекта создайте новый слой. 
Сделайте ключевой кадр на последнем кадре. 
Пропишите там this.stop();

Худший ответ:
Находите в timeline 30ю секунду и стопаете.
Вопрос: Можно ли начать учить Ruby on Rails без знания Ruby, но со знанием другого бекенд языка?

Лучший ответ:
Конечно можно.
В средние века  образование на том и строилось - семинаристы заучивали латинские тексты, не зная языка (родной-то знали).
Культурная традиция.

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

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

Худший ответ:
Добавьте еще Android/Java/Kotlin. 
В связке с Qt  логичнеес  с С++ знакомиться, а не с С. Тем более насколько я помню и Arduiono на C++.
Линукс бы я с IoT/Arduino местами поменял. А между ними как раз Qt c C++ впихнул.
В целом как дали понять выше для экспериментов типа "нравится/не очень/вообще не моё" нормальное расписание, для нормальных знаний по всему вышеперечисленному - надо ещё или гениальность добавить или несколько лет упорного изучения.
Вопрос: Веб сайт/сервис на golang для разбора практик написания кода, есть ли?

Лучший ответ:
Здесь.
Код понятен, хорошо документирован, на все написаны тесты. Проекту уже 9 лет, прошел проверку временем. Откровенно плохие практики встречаются редко.

Худший ответ:
Чистый Go: Go Clean
Go + Gin: Go Gin
Go + Echo: Go Echo
Чистая архитектура на Go: Go Clean Arch
Так же на официальном сайте Go очень много примеров и документации.
Вопрос: Стоит ли говорить на фрилансе то что ты школьник?

Лучший ответ:
Нет

Худший ответ:
Лучше не говорить о такой информации)
Вопрос: Github некоторые вопросы по работе с ветками?

Лучший ответ:
И вот сам вопрос: на предыдущем скрине правильный-ли ход моих мыслей, дерево должно быть такое?
Да.нужно сместить исток ветки foo на 5 коммит ветки мастер, тип такого:
git rebase master foo

Худший ответ:
приветствую мастеров граффити!
вместо того, чтобы бумагу марать, сканить и прикладывать к вопросу, можно было просто обратиться к документации: https://git-scm.com/book/en/v2
Вопрос: Есть ли разница между энергопотреблением kde/gnome, xfce/mate?

Лучший ответ:
Конечно есть
kde/gnome жрет намного больше ресурсов чем xfce
Я бы их так распределил по обжорству
kde
gnome
mate
xfce
Кде использует видео карту
Так же расход памяти больше
От версии тоже многое зависит

Худший ответ:
Нет.
Куда ж ты без Chromium/Firefox/твоя_любимая_IDE. А они жрут одинаково много против любого десктопа.
Вопрос: Почему в большинстве проектов в сфере Real Estate используется Node.JS, а не PHP?

Лучший ответ:
Смотрите шире.
Сегодня React.js - доминирующая библиотека для рендеринга веб-страниц.
Для хорошего индексирования поисковиками - важно чтобы React.js рендерил веб-страницы еще и на бекенде и поисковики не получали пустые страницы.
Наиболее очевидный способ сделать это - запустить headless-браузер на node.js и отрендерить страницы предварительно на бекенде.
Т.е. связка реакт+нода - очевидна.
Но совсем не обязательно что весь отстальной бекенд сделан на Node.js. Обычно node.js - это так называемый middle layer между бекендом и фронтендом. Там где-то под копотом может быть хоть пхп хоть что-то еще.

Худший ответ:
Стильно. Модно. Молодежно. А еще и дешевле.
Вопрос: Как отсеять часть пользователей по данному признаку?

Лучший ответ:
php $_SERVER["USER_AGENT"]
PS Главное, чтобы целевые приложения  не маскировались под обычные браузеры

Худший ответ:
куки в приложении как вариант