Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Laravel 5: как лучше выводить данные из бд?

Лучший ответ:
if (status === 1) {
    echo '<зелёный>Новый</зелёный>';
} elseif (status === 2) {
    echo '<синий>Выполнен</синий>';
} elseif (status === 3) {
    echo '<красный>Отказ</красный>';
} else {
    echo 'Што?';
}

Худший ответ:
class Order extends Model
{

    // ... Тут стандартное начало модели
    
    protected $appends = [
        'status_color'
    ];

    
    public function getStatusColorAttribute() {

        switch($this->status) {
        
            case 1:
            
                return 'зелёный';
            
            break;
            
            
            case 2:
            
                return 'синий';
            
            break;
            
            case 3:
            
                return 'красный';
            
            break;
            
            default:
            
                return 'хз';
            
            break;
        
        
        }
    }

}
Вопрос: Парсинг средствами powershell, возможно ли забрать значение с сайта?

Лучший ответ:
да, возможно.

Invoke-webrequest...

Invoke-restmethod...

$ie = New-Object -ComObject 'InternetExplorer.Application'...

$web = New-Object Net.WebClient...

и даже через selenium webdriver можно

Худший ответ:
Да это возможно, погуглив "wget powershell"
Вопрос: Как создать хэш из строки типа md5 с минимальным набором символов a-zA-Z (без цифр) и с минимальными коллизиями?

Лучший ответ:
В выборе "Сложность вопроса" должен быть четвертый пункт
- Сложный
- Средний
- Простой
- Дурацкий

Худший ответ:
Два варианта:
1. Посмотрите здесь.
2. Создайте таблицу-связку: [имя css-класса] -> [ID] -> [сочетание на множестве по ID: короткое имя класса]
Вопрос: Как быстро изменить схему таблиц?

Лучший ответ:
есть 2 проверенных варианта:
1) github gh-ost. 
2) percona toolkit

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

percona toolkit - работает через триггеры. потому мигрировать таблицу для которой уже есть триггеры не выйдет. но зато она работает быстрее

gh-ost - читает бинлог. соотв. будет работать даже если есть триггеры, но работать будет медленно (в моем случае он переливал данные с где-то с такой-же скоростью как они добавлялись)

в итоге я в свое время использовал для миграций перкону. миграции мелких таблиц в пару гигабайт проходили в течении 10-15 минут незаметно для бекенда.

Худший ответ:
https://www.percona.com/doc/percona-toolkit/3.0/pt...

умеет разбивать alter table на мелкие chunks и не мешает работать с базой
Вопрос: Как сделать надежную защиту для личной страницы?

Лучший ответ:
во первых у тебя не хватает сессии. записывай свой логин в сессию и проверяй на странице. если есть сесия с таким значением то пропускать на страницу а если нет или не совпадает то не пропускаем на домашнюю страницу. сслыка по сессиям https://www.php.net/manual/ru/reserved.variables.s...
а вообще по хорошему надо к этому же хранить логин и пароль в базе данных и и пароль хранить как хешированый https://www.php.net/manual/ru/function.hash.php

Худший ответ:
1. Хранить пароль в открытом виде - неправильно.
2. На каждой странице вводить пароль - неудобно. Лучше в сессии запомнить, что вы уже его спрашивали$password = '...'; // результат работы crypt('пароль');
if (empty($_SESSION['login'])) {
  if($_POST["login"] === $login && !empty($_POST["password"]) && crypt($_POST["password"]) === $password) {
    // здесь создаем сессию, и пишем в нее что-то типа
    $_SESSION['login'] = TRUE;
  }
}
Это черновик, а не готовый код, в нем не хватает некоторых проверок. Применяйте с головой =)
Очень желательно ознакомиться с вот этим:
https://www.php.net/manual/ru/faq.passwords.php#fa...
Второй вариант - использовать авторизацию веб-сервера. Например, для nginx:
https://nginx.org/ru/docs/http/ngx_http_auth_basic...
Вопрос: Для чего используются геттеры и сеттеры в Java?

Лучший ответ:
Вопрос, кстати, очень даже не глупый.
Вы абсолютно правильно заметили насчет нарушения инкапсуляции гетерами и сеттерами, но никто же не заставляет вас их писать. Если вы считаете, что объет должен быть иммутабельным - устанавливаете все поля final и инициализируете их только через конструктор. Насчет геттеров - тоже, в зависимости от бизнес-логики, не всегда они нужны.
По этой теме почитайте литературу про ООП (например "Объектно ориентированный подход" Вайсфельда).
И еще, например, Егор Бугаенко по этой теме имеет мнение (относиться к нему стоит со здоровым скептицизмом).
https://www.youtube.com/watch?v=lfdAwl3-X_c&t

Худший ответ:
но зачем тогда ставить уровень доступа private на переменные, если все равно через геттеры и сеттеры можно их считать из другого класса.
1. Например чтобы можно было внутрь сеттера добавить какую-нибудь логику по валидации, к примеру.
2. Чтобы можно было использовать их совместно с интерфейсами
Вопрос: Можно ли изменять конфиг файл yml в symfony 4 с помощью кода?

Лучший ответ:
$this->getContainer()Это прикольно и удобно
Это не хорошо.
Править сконфигурированный контейнер можно в compiler passes
Больше его нигде в коде не нужно доставать в принципе. Никаких $this->getContainer().
Конфигурируйте и инжектите сервисы через конфигурацию - https://symfony.com/doc/current/service_container.... .
Сейчас вы просто используете контейнер не по назначению.

Худший ответ:
1. Если вы работаете с симфони 4.1+ , то получение параметров конфигурации следует производить с помощью Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;class SomeClass{
    private $params;
    public function __construct(ParameterBagInterface $params)
    {
        $this->params = $params;
    }

    public function someMethod()
    {
        $parameterValue = $this->params->get('parameter_name');
    }
}
2. Если у вас возникла необходимость править файлы конфига динамически, то скорее всего вы не удачно спроектировали логику приложения. Этот вопрос можно сравнить с чем-то вроде, "а можно ли редактировать css файлы с помощью кода" , ответ - можно, но действительно ли это необходимо ?
Вопрос: Как расчитать стоимость заказной статьи на сайт?

Лучший ответ:
Да нисколько это не стоит. Вам писали не авторы, а копипастеры.

Худший ответ:
да берите с потолка чего париться то , к примеру 1000.
хорошая цена
Вопрос: Почему нет docker образа yii2-nginx из коробки?

Лучший ответ:
nginx сам по себе не умеет обрабатывать php.
Ему нужен кто-то, кто может это делать. Это может быть apache, либо php-fpm.
гуглите "реверс-прокси"

Худший ответ:
Есть еще 7.2-fpm. Честно говоря не до конца понимаю, что это. Это и есть связка с nginx?
Почти наверняка это Nginx+PHP-FPM. 
Установите и узнаете. Ничего не мешает в эту связку добавить Apache.
Вопрос: Малой захотел программировать, что ему сказать?

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

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

Лучший ответ:
Я где-то слышал, что у юнити есть сайт с документацией. Видимо, его украли, раз вы задаёте этот вопрос. К счастью, у меня сохранилась ссылка: https://docs.unity3d.com/ScriptReference/Random-in...using UnityEngine;

public class Example : MonoBehaviour
{
    void Start()
    {
        // Sets the position to be somewhere inside a sphere
        // with radius 5 and the center at zero.

        transform.position = Random.insideUnitSphere * 5;
    }
}

Худший ответ:
Берешь точку спавна, и по двум осям делаешь рандом в определенном пределе. Грубо говоря от -1 до 1 по x, y. z = z точки спавна
Вопрос: Имитационное моделирование или гейм-движок?

Лучший ответ:
В Матлабе (Симулинке) есть
1) Driving Scenario Designer
2) 3D-редактор
А уж модели (физика, уравнения) - какие угодно применяйте. (мне нравится алгоритмы описывать в графе состояний Stateflow)

Худший ответ:
А гейм-движок по сути это и есть имитационное моделирование. Только разукрашенное разными картинками и с существенно заниженными требованиями к точности.
Вопрос: BeONmax — развод или нормальные курсы по программированию?

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

Худший ответ:
BeONmax это конечно не совсем школа в привычном всем понимании, тут оплачивается подписка на определенное время, можно на год, можно на месяц. Я ради пробы выбрал месячную подписку, понравилось то, что по сути ты получаешь полный доступ ко всем материалам и можешь без проблем записать и скопировать видео и другие. Могу порекомендовать также посмотреть обзор на сайте Это Развод чтобы понять что тут и как. Возможно, все это есть в свободном доступе, но искать материалы и тратить время нет желания, когда все уже собрано в одном месте. Так что советую попробовать.
Вопрос: Что означает стрелочная функция обернутая в круглые скобки? var x = ( () => this )?

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

Худший ответ:
Ну, во-первых, разница как раз большая.
1. Стрелочные функции всегда анонимные
2. Они не имеют собственного контекста
3. Стрелочные функции не могут быть использованы как конструктор
4. Ключевое слово yield не может быть использовано в теле стрелочной функции
5. Стрелочная функция не может содержать разрывы строк между параметрами и стрелкой.
...
Используя стрелочные функции, запись становится короче, но некоторые операции вы обязаны выполнять в классическом слитье, все из-за того же контекста
Вопрос: Реален ли такой дженерик в TypeScript?

Лучший ответ:
Вот так с указанием на аргументы:
function wrapper<T extends { start(...args: unknown[]): unknown }>(target: { new(): T }, ...args: Parameters<T['start']>): T {
  let instance = new target();
  instance.start(...args);
  return instance;
}


class RandomClass {
  start(arg1: string, arg2: number) { /* ... */ }
}
let instance = wrapper(RandomClass, 'Hello, world!', 777); /// все ок
let instance2 = wrapper(RandomClass, 777); /// ошибка

Худший ответ:
function wrapper<A extends any[], T extends { start(...args: A): void }>(target: { new(): T }, ...args: A): T {
  let instance = new target();
  instance.start(...args);
  return instance;
}


class RandomClass {
  start(arg1: string, arg2: number) { /* ... */ }
}
let instance = wrapper(RandomClass, 'Hello, world!', 777); /// все ок
let instance2 = wrapper(RandomClass, 777); /// ошибка

ошибка правда немного странная ругаться будет на RandomClass а не аргументы, возможно можно заставить ругаться на агрументы, не уверен.
Вопрос: Как верстать с хорошими показателями Google Speed?

Лучший ответ:
Вам в детстве мама говорила: все пойдут прыгать и ты пойдёшь?

Первая причина оптимизировать это если клиент в неадеквате и требует 100%. 

Второе это желание наколоть алгоритмы этой проверки. На самом деле думайте головой над каждой рекомендацией. И что то делайте ну или игнорируйте

Худший ответ:
А как react app, который сделан при помощи create-react-app оптимизировать?
Вопрос: Wordpress не видит background-image.кто может помочь?

Лучший ответ:
Выносишь бэкграунд из css в html -> тег style:<div class="bg" style="background-image: url(<?php bloginfo( 'template_url' ); ?>/assets/img/bg.png);">Получаешь путь до темы:<?php bloginfo( 'template_url' ); ?>Далее просто прописываешь, где лежит картинка.

Худший ответ:
Скорее всего подключили css из корня шаблона, а картинки лежат, например в assets/img, в то время как в самих стилях при верстке использована структура проекта 
project
  |-----img/... 
  |-----css/style.css
В любом случае wordpress тут не при чем, ищите ошибку в путях. В css можно использовать по-прежнему относительные пути, wordpress тут ничего не сломает, это что касается стилей, в html надо юзать функции для формирования урлов.
Вопрос: Как настроить доступ к локальному серверу из глобальной сети?

Лучший ответ:
У любого из провайдеров взять белый IP адрес, поднять VPN сервер, и сделать маршрут через VPN в сеть другого офиса.но завтра сменю на Keenetic Giga KN-1010Такое вы на нем не сделаете. Это чисто SOHO девайс, для домохозяек - включил и интернет заработал, не более того.
Банальные микротики недорогие взять на оба офиса, на одном сервер, с другого подключаться.
Только совсем уж дешевые за 1,5тыс лучше не брать, не потянет VPN сервер.

Худший ответ:
В качестве ленивой альтернативы предложу zerotier: https://www.zerotier.com/
Вопрос: Стоит ли учиться на UI/UX дизайнера?

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

Худший ответ:
Нет никаких UX/UI дизайнеров.

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

Я знаком с некоторыми людьми, которые работают в крупнейших исследовательских компаниях в СНГ — у них в штате десятки юиксеров, фигигсеров и так далее. И все они как один вопят про то, как они исследуют проблемы, фигачат CJMы, лепят стикеры на стены, постят всё это в соцсети. Но по факту — посредственная, дерьмовая, безкультурная и псевдополезная работа в большинстве случаев.

Юиксер в дизайне — это как вайтишник в программировании: его всегда рекомендуется лишний раз пнуть и состричь бабки.

Очередной юиксер бежит редизайнить приложение какого-нибудь NIKE, в макете которого есть все тренды, кроме смысла.

И важно понимать кухню продаж. Большинству заказчиков не нужен хороший продукт. Большинство арт-директоров — не заинтересованы в росте подчиненных: тут и конкуренция, и "свои" люди, и так далее, и так далее. Это разные миры, с разным отношением к жизни.

Сам дизайн — всё меньше про дизайн. Сопливый юиксер хочет сидеть в комфорте, отрисовывая прямоугольники в Фигме, получать ЗП, ездить на море и постить дебильные посты об исследованиях.

Я их понимаю.

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

Стоит ли учиьтся на UI/UX дизайнера?
Отвечая на вопрос, конечно стоит учиться дизайну. Это полезный НАВЫК. Как и редактура, как и вёрстка, как и кодинг. Идеальный вариант — дорасти до продуктового менеджера, или создать свой проект. Даже если нет — эти навыки полезны очень много в каких сферах.

Углубился и понял,что веб программирование я к сожалению в силу возраста (за 35 лет) уже не потяну - не угнаться наверное.
Надо быть полным кретиноидом, чтобы ставить на себе крест в таком возрасте. Парень, ты пишешь, что ДЕСЯТЬ лет ты работал в конторе, сталкивался с версткой и так далее. Так в чём ты там увидел сложность и за чем ты там угнаться не можешь? 

В целом тьма, надеюсь, что у вас ничего не получится! ;-)
Вопрос: Как узнать когда пользователь покинул мой сайт на php?

Лучший ответ:
1. на РНР - точно нельзя.
2. Если страница открыта, то это совсем не значит, что пользователь её читает. Он может быть в другой программе или вообще на кухне
3. Идея заведомо дурацкая и не стоит ни одной минуты времени, затраченной на неё.

Худший ответ:
Ну как вариант мааааленький скриптик на JavaScript

let timerId = setInterval(function(){
    let request = new XMLHttpRequest();
    request.open('GET', 'https://mysite.com/i-am-online.php', true);
    request.send();
}
,60000); //количество миллисекунд через которое отправлять запрос, допустим раз в минуту

ну а тут https://mysite.com/i-am-online.php сохраняем время последнего посещения
Вопрос: Возможно в моем случае открыть порт?

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

Худший ответ:
Статический IP адрес может быть серым, т.е у вас всегда будет 192.168.x.x
Хоть адрес и статический, но не публичный (белый).
Уточните этот вопрос у поддержки.
Вопрос: Что будет если закончится срок поддержки Ubuntu?

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

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

Лучший ответ:
Можно. Но не нужно.

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

Лучший ответ:
Полно! Гуглите!
Главное - желание "понять как" и разобраться.
Без этого - "просмотр" ничего не даст.

Худший ответ:
Для примера:
https://codernet.ru/books/js/razrabotka_igr_na_yaz...
https://www.youtube.com/watch?v=Z1CWojNd2yc&list=P...
Только вам это зачем?
Вопрос: Автоматизированное тестирование с помощью Winium(Selenium) + Python для desktop: с чего начать?

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

Худший ответ:
А что не так с официальной документацией, в которой есть все функции (да, представьте себе) и большое кол-во примеров?
Более того - банальный запрос selenium python и 2 ссылки из первых 3х дают очень подробный мануал с картиночками и пояснениями.
Сам Winium подключается ровно так-же, как и другой WebDriver.
Вопрос: Почему в офисах обычно стоит windows 7?

Лучший ответ:
Конечно очевидный - это финансы. Если 7 устраивает, зачем платить заново за 10.

Худший ответ:
1) одни люди: перевод существующей базы на 10 - это деньги
2) другие люди: мы контролируем внутреннюю сеть, кто-попало в коммутатор не воткнется (чтобы устроить атаку через незакрытую уязвимость), мы внедрили все что нужно (антивирус, firewall, SRP, SMB signing в полный рост, остальное по вкусу)
3) третьи люди: нафига?
4) ну может еще какие варианты

От себя: вчера поменяли компьютер одному сотруднику. Была 7, стала 10. Сотрудник адекватный, не вредный, с виндой общается спокойно на уровне продвинутого пользователя. Сегодня захожу к нему, спросить что и как, он отвечает, что тяжеловато и есть вопросы.
Вопрос: Есть ли смысл покупать наушники с костной проводимостью?

Лучший ответ:
Увидел рекламу AfterShokz, стало интересно, но покупать жаба задавила. Взял с Али по цене около 2 тысяч рублей. Штука прикольная - слышно окружение. Это плюс. Уши устают меньше - это тоже плюс. Теперь минусы. Если слушать на большой громкости, то окружающие тоже будут всё слышать. Если гулять вдоль дороги, то шум проезжающих машин таков, что полностью перебивает звук из наушников. Для музыки может и не критично, но я музыку слушаю редко. В основном, аудиокниги. А когда половину каждого предложения не слышишь, это напрягает. Качество звука тоже не айс. Правда в комплекте есть беруши. С ними качество звучания становится заметно лучше. Даже басы появляются. Но с берушами теряется смысл таких наушников.
Не исключено, что в брендовых ситуация с качеством лучше, но что-то сомневаюсь.

Худший ответ:
Купил не самые дешёвые, но из нижней ценовой категории. Точно покупать не надо. Качественно музыку не послушать, да и речь посторонние шумы забивают.
Вопрос: Глючит браузер WIN 7 x64, в чем может быть проблема?

Лучший ответ:
1. Всё-таки сделайте проверку диска. И желательно не из-под загруженной Windows. Какой-нибудь Hiren's LiveUSB качните, например.
2. Adwcleaner - это хорошо, но недостаточно. Как минимум проверьте ещё Malwarebytes Antimalware. Совсем хорошо будет, если получится каким-нибудь Live-USB прогнать (например, от DrWeb). Avast - то такое... Я б на него не особо полагался.
3. В приватном режиме браузера тоже такая фигня наблюдается?

Худший ответ:
Возможно проблема с винтом. ЦП не особо решает.
Вопрос: Где взять svg код иконок?

Лучший ответ:
подскажите пожалуйста , есть ли где-то svg код иконок для html?В сети их как грязи, например тут.Сейчас использую awesomeТам тоже несколько тысяч.но хотелось бы убрать лишние скриптыНе вижу ни одной помехи для этого. и что лучше awesome или svg кодFontAwesome - можно скачать отдельно, в SVG формате (каждую иконку отдельно).на странице по 20-30 таких кодов может быть?С точки зрения сокращения обращений к серверу - встраивать SVG в страницу - лучше. С точки зрения читаемости такого кода - думаю, хуже.
P.S. Есть масса различных инструментов для анализа скорости загрузки страницы и оценки ряда прочих факторов. Например, Google Page Speed. Лучше - когда показатели высокие и/или вписываются в норму, остальное второстепенно.

Худший ответ:
1 находим сайт с ЛЮБЫМИ векторными иконами
2 смотрим код иконки в инспекторе
3 контролцконтролв
Вопрос: Как повысить шансы при устройстве на работу junior frontend разработчику?

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

Знать больше других, стараться больше других.
Нет.
Нет.


Худший ответ:
1) Никак нельзя выделиться.
2) Да можно но смотря как вы будете обучаться. Сейчас количество видеоуроков и статей заоблочное, не 2000 год.. Один человек решил что до мидла дорости можно только в веб студии и устроился в такую где ему пришлось разгребсти тонны гомнокода и через 1.5 лет работы он не стал мидлом даже и близко.

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

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

Худший ответ:
первый вариант правильный. я не пойму в чем проблема
Вопрос: Как выглядит рабочий процесс при разработке (сайта) на Node.JS с ES6 модулями?

Лучший ответ:
Webpack devserver делает пункты 2,4,5 сам в автоматическом режиме.

Худший ответ:
nodemon, причем тут webpack, если запускаете сервер на node.js
Вопрос: Что означают фигурные скобочки и то что в них написано в векторе с++?

Лучший ответ:
Это тоже initializer list, только чуть другого фасона. Пример по ссылке:
auto s4 = std::string{"HelloWorld"};

Худший ответ:
Это тоже initializer list, только чуть другого фасона. Пример по ссылке:
auto s4 = std::string{"HelloWorld"};