Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: За какое время можно обучится фотошопу веб уровня?

Лучший ответ:
Ты можешь научиться за неделю или за месяц или за год, фотошоп не такая сложная и в вебе тем более ничего сверхестественного делать не придется, а если тебя кто то заставит делать 3D в фотошопе можешь смело слать нахер ибо для этого имеются другие прикладные программы (3DS Max например).
Заходи сюда https://photoshop-master.ru и просто делай уроки один за одним по разным категориям, сохраняй проекты, обучайся программе и всякими фишечками которые можно применять. В таких далеко не вебовских уроках ты и научишься использовать фш, а позже поймешь, что в вебе то и делать нехер, делов то просто слои по папкам раскидывать и делать что то из ряда вон элементарное.

Худший ответ:
Для веб-дизайна Фотошоп выступает в роли программы, в которой нужно собирать макеты. Это профессиональная среда, в которой есть где развернуться. Не слушайте советчиков, которые предлагают не прилагать усилий. 
По моим ощущениям, месячный интенсив — это реальный хороший темп для вхождения в Фотошоп.
Нужно уметь пользоваться слоями, векторными формами (так как  в работе часто бывают нужны разные фигуры), масками (отсекающими и масками-слоя), выделять/вырезать, кадрировать и делать нарезку в слайсах,  понимать какую роль играют размер в пикселях и разрешение (чтобы не напортачить с размерами картинок) и знать разницу между разными веб-форматами файлов. Могут пригодиться навыки пиксель-арта и создания гиф-анимации.
Вопрос: Хочу написать архиватор на Python,с чего начать?

Лучший ответ:
С изучения принципов работы архиваторов.

Худший ответ:
А какая разница, на чём его писать? На C++ байты чтоли другие?
Бери алгоритм и описывай.
Вопрос: Как правильно писать ТЗ?

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

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

Лучший ответ:
groupBy
$usersByYear = $users->groupBy(function ($user) {
	return $user->created_at->year;
});

UPD: не увидел что нужно по месяцам. Но сути не меняет, вместо year вернуть год и месяц.

Худший ответ:
Никогда не делайте на php то, что можно сделать базой данных
SELECT GROUP_CONCAT(`id`), DATE_FORMAT(`registered_at`, '%Y-%m') FROM `user` GROUP BY DATE_FORMAT(`registered_at`, '%Y-%m')
Вопрос: Скрипт js для перелистывания страниц, как в телеграме?

Лучший ответ:
вам нужно spa + css транзишоны, если нужно, чтоб урл менялся

Худший ответ:
Для таких целей лучше использовать какой-нибудь front-end framework (vue, react,angular) с роутером и т.д.

Можно сделать и на js + ajax + css транзишн + history.push() , но получается мудрено. Особенно, если у страниц есть свои скрипты или разные шаблоны (layout).
Вот пример(!):
snippet
Вопрос: Суть массивов в js?

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

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

Лучший ответ:
Там нет ошибки, запрос делает ровно то что нужно. Другой вопрос что вы, скорее всего, не понимаете что делаете.

PS: Для того чтобы получить нормальный ответ надо не менять вопрос с уже полученными ответами, а задать новый, в котором нормально описать проблему.

PPS: Тот случай когда копи-паст мог бы спасти ситуацию, но юзер решил писать "от руки"... enctype="multipart/from-data"

Худший ответ:
Нет ошибки, максимальное значение в столбце id, где выполняется условие `prizeId` = 12 как раз так и 6. Вы хотите посчитать, сколько у вас `prizeId` = 12? Как вариант почитайте про оператор COUNT
Вопрос: Смогут ли два профессиональных геймдизайнера одновременно работать в одном проекте?

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

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

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

Операция умножения при выводе много ресурсов не потратит...

Худший ответ:
Благодарю Всех за помощь и информацию в решении задачи.

Учитывая, что данная информация возможно будет полезна для других, опишу выбранный мною способ решения.
Действительно, задачу регулярного обновления цен в зависимости от курса валют, можно решить разными способами.  Для себя я выбрал способ обновления данных с использованием сырых raw запросов к базе данных. Учитывая, что данные курса валют обновляются не часто, только раз в сутки – считаю это будет оптимальным, не ресурсозатратным способом.

Данные товаров, в том числе их стоимости, хранятся в таблице ‘ product’, в которой так же содержаться поля для определения цены товара: 

‘base_price’ – Базовая цена товара, стоимость в рублях, долларах, евро
‘currency’ – Тип, в какой валюте задана базовая цена: в рублях RUB, в евро EUR или долларах USD
‘price’ – конвертированная цена, с учетом текущего курса валюты.



Свежие данные о курсе валют получаются по API Центрбанка РФ  и сохраняются в таблице  ‘currency’.

В контроллере получаю коллекцию и преобразую в массив с необходимыми данными о типе валюты, номинале и значении действующего курса.
$currency = Currency::select('currency', 'Nominal', 'value')->get()->keyBy('currency')->toArray();

Затем с помощью RAW запросов обращаюсь к базе для обновления каждого типа валюты. На пример,  для товаров, базовая цена которых задана в ЕВРО (‘currency’ = 'EUR'), обновление данных будет происходить следующим запросом: 
$countUpdate = DB::update("UPDATE `product` SET `price` = (`base_price` * ?)  WHERE `currency`='EUR'", [ $currency['EUR']['value'] ]);

То есть из таблицы товаров ("UPDATE `product`) выбираются данные товаров где поле ‘currency’ – тип валюты, задано как (WHERE `currency`='EUR'), и для поля `price` устанавливаются значения, где данные базовой цены умножаются на сумму действующего курса валюты (`price` = (`base_price` * $currency['EUR']['value']).

Таким образом, четырьмя аналогичными запросами происходит конвертация в рубли и обновление цен товаров, цена которых задана в валюте.  Используя функции MySQL  ELT() и FIELD() данные запросы можно объединить в один.
Вопрос: Какие преимущества создания сайта на самописном движке перед тем же Wordpress?

Лучший ответ:
Какие преимущества создания сайта на самописном движке перед тем же Wordpress?
Преимущества могут быть только в случае, когда готовое решение вам не подходит, либо затраты на допил готового выше, чем сделать свое.Выиграю я по оптимизации относительно того же Wordpress в техническом плане?
Зависит от задачи. Если WP уже ее решает - скорее всего нет.С какими проблемами могу столкнуться или на что следует обратить внимание?
На этот вопрос можно ответить только на основании ТЗ, или продуктового брифа.Что нужно сделать в самописном движке, чтобы он наверняка был круче CMS (быстрее, оптимизированне и т.д.)?
Если чисто в техническом плане - можете использовать следующие соглашения https://github.com/index0h/php-conventions . Сразу гнаться за скоростью и оптимизированностью не рекомендую, потратите не порядок больше времени.
В продуктовом же плане, сделать ширпотребную cms с теми же задачами, что и у WP и таким же охватом аудитории - это практически не реально на данный момент.

Худший ответ:
Начнем с основы - зачем тебе сайт с кулинарными рецептами? 
Если просто для себя и чтобы было, то можешь делать на чем хочешь и на чем умеешь, нет ограничивающих факторов кроме твоего желания и наличия свободного времени. 
Если на нем деньги зарабатывать, то завтра ставь WordPress и послезавтра начинай деньги зарабатывать. А если будешь пилить самописный движок, то с голоду помрешь пока закончишь.
Вопрос: Можно ли через роутер подключить к видеорегистратору dahya DHI-NVR4104-P-4KS2 дополнительные камеры?

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

Худший ответ:
Маркировка вашего регистратора
4 класс, 1 жёсткий диск , 04 канала, пое, 4к камеры, 2 ревизия
Т.е больше 4х камер нельзя
Вопрос: Как вам такая идея диплома?

Лучший ответ:
а смысл в чём? это не худ.литература: хорошие, отработанные решения принято копировать; реюзабельность кода - преимущество, а не недостаток.
или вы предлагаете каждому студенту переизобретать сортировки, методы обхода списков, стэк и вот эти ваши все сранные алгоритмывсе такое?
любой код, используищий libcurl - плагиат.
любой код, использующий популярный для платформы Х пакет для работы с У - плагиат.
просто потому, что с ними невозможно работать иначе.
и, если ваш руководитель не будет так далек от программирования как только возможно (я таких встречал), он скажет: "окстись, чувак". и, надеюсь, не будет при этом сдержан в выражениях.

Худший ответ:
Идея для диплома: попробуй написать обработчик сообщений в формате чата. Что-то наподобие бота. Человек спрашивает: "Сколько стоит услуга?" или "Почем услуга?" или "Во сколько обойдется мне ваша услуга". А на все три вопроса бот будет выдавать ответ один и тот же, т.к. вопросы похожи. Здесь можно использовать аля машинное обучение(можно создать мелкую нейросеть), библиотеки на python есть. Нужно лишь создать большую базу данных, парсить текст на биграммы, триграммы и т.п. Интересная тема короче, щас темболее все движется в сторону нейросетей, машинного обучения.
Вопрос: Что почитать/посмотреть про дизайн для разработчика?

Лучший ответ:
Dribble. Интерфейсы в целом вау, но обычно просто красивое гавно. Тем не менее некоторые фишки высмотреть можно.

Если много серьезнее настроен, посмотри в сторону неумирающей классики: Алан Купер. Что-то пoнoвee — библиотеку Горбунова. У них специфичный взгляд, я лично не со всем согласен и подход местами дурацкий, но скорее всего то, что ты ищешь.

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

Худший ответ:
Mobbin.design — тут можно смотреть как паттерны интерфейсов, так и сами элементы. Очень полезный ресурс, чтобы въехать, из каких кусочков собирается мобильный интерфейс

Гайды:
https://material.io/ Андроид
https://developer.apple.com/design/human-interface... Айоси

Про доступность:
specialbank.ru/guide
https://weblind.ru/

Про текст:
https://soviet.glvrd.ru/

Про тестирование:
okiseleva.blogspot.com/2014/02/blog-post_6.html

Про всё в целом:
https://www.nickkolenda.com/my-guides/

Дополнительно:
короткая книга Влада Головач: Искусство мыть слона.
Вопрос: Почему у PostgreSQL и MySQL точность даты только до микросекунд?

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

Худший ответ:
В Delphi нормальное решение - целая часть: Года черти откуда, дробная часть Время - по делфийским  понятиям Float. Куда точней...
Вопрос: Почему не включается компьютер после первой сборки?

Лучший ответ:
При оформлении заказа мне сказали, что материнку надо будет прошить. Я не предал этому большого значения, так как ожидал, что биос уже на матери есть и его надо будет лишь обновить. 
Биос на матери, конечно, уже есть. Но чтобы его обновить, мать надо завести. А она, судя по словам продавца, со старым биосом, и на новом проце не заведется. То есть алгоритм такой - взять у друга старый проц, который гарантированно заведется (смотрим версии на https://www.asrock.com/mb/AMD/Fatal1ty%20AB350%20G... , обращаем внимание на "Note1: AMD Ryzen 1xxx series CPUs are able to boot up with all BIOS versions."), завести мать, прошить новый биос (смотрим там же, вам нужен 4.70 или выше, качаем отсюда https://www.asrock.com/mb/AMD/Fatal1ty%20AB350%20G... ), поставить обратно ваш проц.

Худший ответ:
 биос уже на матери есть и его надо будет лишь обновитьТак и есть. Просто качаете обновление и обновляете. 
Обновлять надо для  поддержки вашего процессора. Без обновления она с этим процессором работать не будет.
Вопрос: Как эффективно организовать WIFI в квартире?

Лучший ответ:
Все, что можно сделать по проводу, делать по проводу.
Из решений "бесшовность из коробки" порадовал Keenetic Ultra. Он и двухдиапазонный меш может, и r/v/k из коробки стартуют.

Худший ответ:
просто:
https://store.google.com/us/product/nest_wifi?hl=en-US

дешево - можно и с Сяоми заморочиться

но телек 4к на вайфае  - такое себе удовольствие, гбит лучше
Вопрос: Питон при запуске скрипта пишет: vk.messages.send( ^ IndentationError: expected an indented block — ,в чем проблема?

Лучший ответ:
Если перевести через гугл транслате, получится - "ожидал блок с отступом".

За такие вопросы нужно руки отрывать, и в баню! Интересно, сколько таких вопросов модеры удаляют за день?

Худший ответ:
vk.messages.send(
      user_id=event.obj.from_id,
      random_id=get_random_id(),
      message=("Ответ на команду")
)
сместите вправо на один таб
Вопрос: Почему методы не считывать данные?

Лучший ответ:
На уровне языка существует объявление полей с инициализацией, но не на уровне байткода. Компилятор переносит все операции инициализации в начало объявленного конструктора или в конструктор по умолчанию. Соответственно, ваш код после компиляции будет соответствовать такому:
public class Student {
    private String name;
    private String secondName;
    private int age;

    private String format;
    private String info;

    public void personInfo(){
        System.out.println(info);
    }

    public Student(String name, String secondName, int age) {
        this.format = ("Меня зовут %s %s и мне %s лет");
        this.info = String.format(format,name,secondName,age);

        this.name = name;
        this.secondName = secondName;
        this.age = age;
    }
}
А значит в момент выполнения String.format(format,name,secondName,age) в полях будет содержаться null.

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

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

Худший ответ:
Мое личное ИМХО - лучше использовать вот этот пакет, все в одном файле, не надо создавать кучу файлов типа валидации. Если необходимо можно сразу отправить в очередь а не создавать job прослойку. и тд
Вопрос: Как оптимизировать парсинг цвета для библиотеки NeoPixels на arduino?

Лучший ответ:
1) Упростить алгоритм передачи, убрать по максимуму служебные поля
2) Гнать данные в сыром бинарном формате (что пришло, то и пуляется в ленту), а не "человекопонятном" с кучей преобразований
3) Возможно имеет смысл готовить несколько кадров за раз, оптимально использовать размер пакета данных того протокола через который данные перегоняются, чтобы, опять же, сэкономить на служебных данных

Худший ответ:
Чтобы знать что ускорять имеет смысл для начала сделать замеры.
Например раскидать в коде micros() и выводить в консоль длительности выполнения разных операций

Возможно что strip.setPixelColor сама по себе очень медленная и повтор её 234 раза даёт сильный затуп.
Тогда возможно стоит порезать ленту на несколько кусков и использовать их отдельно, просто протянув провода от ардуины к нужным частям ленты.
Насколько я помню там идёт именно заливка, то есть чтобы зажечь 234 диод надо выполнить перекидывание команды по всем 233 диодам, а если поделить на 3 части, то заливка ленты ускорится в 2 раза.

В идеале библиотечка неопиксела может дать 110 герц на 256 диодах, в примере выше я вижу сразу две процедуры подряд, значит итоговая частота уже падает до 50 герц, но если в коде между процедурами установкой цвета есть какие-то ещё операции, что-то там разбирается из пакетов, или не дaй бог delay(), то частота заливки будет ощутимо меньше.
Вопрос: Как в php сделать событие onclick как в джаваскрипте?

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

Худший ответ:
Никак, тебе нужно в любом случае отправить POST или GET запрос на сервер, от этого и плясать.
Вопрос: Почему не работает margin:0 auto; }?

Лучший ответ:
потому что не автоМОБИЛЬ,
а auto

Худший ответ:
Во-первых, опечатка, а во-вторых, вы задали ширину 100% (при такой ширине займёт всё доступное пространство родительского элемента, и выровняться в нём по центру не сможет).
Вопрос: В чём отличие события и слушателя в JS?

Лучший ответ:
Событие, оно же event, например click, focus, mousedown, touch - то, что происходит.
Функция-обработчик она же handler, у Вас названа как callback - реакция на событие. То есть, что сделать при наступлении события.

addEventListener - дословно: добавить слушатель события. Соответственно указываем событие и слушатель для него.

Худший ответ:
node.addEventListeners( 'click' , function(event){
  // это функция слушатель (обработчик) события click
  // функция выполняется когда событие click случилось. 
  alert(‘клик на кнопку’ );  // выводит сообщение когда кликнули на node
})
Вопрос: Как findstr'ом вернуть не целую строку, а подстроку, удовлетворяющую регулярке?

Лучший ответ:
Вам нужно загнать вывод findstr в for /f и там уже обрезать, делить на части и т.п. над каждой строкой.
Схематично так:for /f "tokens=*" %%a in ('findstr /R ...') do (
  echo.%%a
)
Для справки: for /?

Худший ответ:
Могу порекомендовать GnuWin32, набор утилит из UNIX-like системы, но под Windows.
Там в часности есть grep, он и выдаст требуемый кусок из строки...
Вопрос: Почему не работает !important?

Лучший ответ:
Здравствуйте.

Ошибка в месте написания оператора.
Верно так:
.solut {
color: green !important;
}

Худший ответ:
.solut {
color: green !important; точка с запятой не там
}
Вопрос: Для чего нужен throw в JS?

Лучший ответ:
function скажиМяу(кот) {
  if (!кот.сказатьМяу) {
    throw new Error('это не кот и он не умеет говорить мяу, дурень');
  }
  кот.сказатьМяу()
}
вот примерно для этого

Худший ответ:
Предлагаю посмотреть на вопрос шире – throw используется не только в JS, но при этом для одних и тех же целей. Тут уже есть хорошие ответы:
- Зачем нужны исключения?
- https://sprosi.pro/questions/3445/isklyucheniya-za...
- https://ru.wikipedia.org/wiki/Обработка_исключений
- https://ravesli.com/urok-181-isklyucheniya-zachem-...
Вопрос: Какой ноутбук выбрать для учебы в 2020 году (до 60000 рублей)?

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

Худший ответ:
Планирую связать жизнь со сферой IT.
Значит знаете, что у ноута кроме цены, есть еще КУЧА характеристик.
а понятие комфортно учиться и программировать крайне индивидуально.
Как только формализуете свои хотелки, вопрос сразу же решится на 90% и будет звучать: "Какой из этих 3-х конкретных ноутов выбрать?"
Вопрос: Как правильно сделать адаптивную шапку на сайте с точки зрения SEO?

Лучший ответ:
Здравствуйте.
Конечно, идеальный вариант - обойтись одной разметкой и для десктопа, и для мобильных устройств. Но в ряде случаев это невозможно. 
Тут встаёт выбор, чем нам пожертвовать: можно принести на алтарь скорость разработки, сложность дальнейшей поддержки и UX, с помощью JS отслеживая размер экрана и на лету перестраивая шапку из одной разметки в другую; Поисковики довольны - есть один контент; Пользователи не очень довольны - они эти перестроения могут заметить, либо дольше ждут загрузки; Разработчики очень недовольны (особенно когда год спустя клиент приходит и говорит "а давайте сюда вот добавим вот такой блок" и надо вспомнить логику всех этих хитрых переставлений).  можно пожертвовать потенциальным удобством поисковиков и сделать полный дубль блока для мобильных устройств. Поисковики, вероятно, смотрят с недоверием; Пользователи довольны - никаких перестроений на лету они не видят; Разработчики довольны - получается структура, которую легко можно понять и поддерживать. 
Какой эффект это оказывает на СЕО? Какой-то, вероятно, оказывает, но практически нулевой. 
На сайтах часто отображают логотип дважды - в шапке и в подвале. Также меню дублируют. И телефоны. И ещё бывает повторяющийся контент. И ничего, нормально продвигается.
Логика подсказывает, что дубли контента на странице не очень радуют поисковые системы. 
Практика отвечает, что всем насрать это ни на что не влияет и нужно сосредоточиться на более важных вещах.  
Делайте как вам и пользователям удобнее, у поисковиков есть проблемы гораздо более серьёзные, чем дважды повторённый логотип в соседних блоках.

Худший ответ:
Это легко гуглится. Ответ Гугла - разный html для десктопа и мобилок это ок.
Вопрос: Стоит бросить чтение книги, если она не совсем понятна?

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

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

В идеале стоит больше практиковаться, чем читать, так как реальные проблемы мотивируют читать книги. А нахождение решения насущных проблем в книги - дает дополнительную мотивацию. 

Из книг попробуйте  Head First Изучаем Javascript

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

Лучший ответ:
Последняя итерация периодически обновляемого списка актуальной крипты командой Cryptopals. За почти 2 года ничего не поменялось.
Собственно предлагают использовать NaCl/libsodium и не морщить моск. Ассиметрия там на Curve25519, симметрия - AES-256 в режиме GCM или ChaCha20.Стоит ли писать свой алгоритм шифрования?Если вы задаётесь этим вопросом, то ответ сразу отрицательный. Криптография - одна из областей знания, в которой пока 99% не изучишь - к практике переходить нет смысла, т.к. результат будет заведомо дырявым.

Худший ответ:
Берете ваш язык программирования и смотрите раздел посвященный криптографии. 
Там будут рекомендованные алгоритмы, длины ключа и даже процедуры по повышению безопасности.