Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какие варианты верстки таких блоков + адаптив можете предложить?

Лучший ответ:
если адаптивно то по любому на мобилках они 100% экрана 
а извращаться только на декстопах ну максимум на планшетах и то не рекомендуется

Худший ответ:
А сама реализация блоков - псевдоэлементами, или картинками?
Вопрос: Как упорядочить CSS?

Лучший ответ:
csscomb.com
если используете SublimeText то 
для причёсывания csscomb https://github.com/csscomb/sublime-csscomb
для форматирования cssformat https://packagecontrol.io/packages/CSS%20Format

Худший ответ:
Минификатор csso, объединяет повторы селекторов и вообще очень много всяких крутых штук делает.
Возможно линтер чем то сможет помочь: styllint
Вопрос: Что можно сделать лучше в указанной форме с точки зрения юзабилити?

Лучший ответ:
Ответить на вопрос, какая именно информация должна быть на общей страничке, сможет только тот, кто занимается покупкой тракторов на постоянной основе и регулярно просматривает подобные паспорта. 
У такого человека в голове уже сформировался шаблон из вопросов, ответы на которые дают понять подходит/нет. И в первую очередь он будет чекать информацию по этим вопросам. Очевидно, станет удобнее, если все ответы будут вынесены на одну страничку.
Ваша задача узнать какую информацию по аппарату клиент просматривает в первую очередь и агрегировать её в одном блоке. Проводите опросы, следите за поведением клиентов, собирайте статистику, тестируйте разные варианты.

Худший ответ:
"чтобы можно было заглянув в одну страницу быстро оценить его состояние на текущий момент, где он находится, кто ответственный"
значит в первую очередь нужно вывести эту информацию
состояние: исправен
местонахождение: Ветское фермерское хозяйство. 
ответственный:  Кулачев Б.А.
а все технические хар-ки убрать в детали. Нужно понять для чего будет использоваться такая информационная сводка. Как правило для облегчения принятия решений. т.е. пользователь будет иметь два-три основных вопроса при обращении к странице. Напр: "Нужно ли в этом году планировать деньги на ремонт", "Сколько исправной техники будет иметься к началу посевного сезона"  На основе этих данных начальник будет составлять прогноз и отчет. Важно поэтому облегчить восприятие критичной информации. Например, для этого  имеет смысл численные характеристики представить визуально:  остаток ресурса, срок до следующего техобслуживания. 
Наверняка раньше использовали эксель для этого, и там наверняка были сводные графики. Гляньте туда, чтобы понять информационные нужды пользователя.
Вопрос: Почему через раз запускается html видео в Google Chrome?

Лучший ответ:
Всем спасибо! Атрибут muted помог!

Худший ответ:
гугл бразуер тупит в плане видео, добавьте еще автоматический запуск видео на js. Там метод Play. Я так решил проблему.
 window.onload = function() {    document.getElementById('videoID').play();
);
и еще добавляем Mute в видео
Вопрос: Как привально посчитать каждый блок по отдельности?

Лучший ответ:
https://jsfiddle.net/unnq8m3m/2/
Ошибка в том, что в цикле нужно было искать данные блоки от this, в текущем, вы же просто плюхали класс ('.b-progress-bar-percent') который, естественно, проставлял одно везде

Худший ответ:
https://jsfiddle.net/unnq8m3m/1/$('.b-progress-bar-percent').text(totalEarned * 100 / 2000000 + '%');
Нужно было разместить внутри цикла и изменить селектор на такой$(this).next().find('.b-progress-bar-percent').text(totalEarned * 100 / 2000000 + '%');
Чтобы записывать значения в нужный див а не во все сразу как было у вас.. поэтому у вас в 3 дивах было только последнее полученное значение из цикла равное 100%
Вопрос: Есть ли смысл делать одноуровневые url?

Лучший ответ:
Вроде как лучше структуру иметь, чем все в одну стопку, как минимум во всяких метриках удобнее смотреть как раз по структурам, так ясно какие модули популярны, какие подразделы (разделы новостей/статей) и какие документы в них

Худший ответ:
Никакого смысла делать одноуровневый url нет. Наоборот, это только ухудшит ваши позиции в поиске.

Url никак не влияет на ранжирование сайтов. Об этом уже не раз и не два говорили представители «Яндекса» и Google.
С другой стороны, сайту очень полезно иметь разделы и подразделы. Так что лучше создавать иерархический url.

Например, mysite.ru/russia – это раздел, в разделе есть подразделы mysite.ru/russia/politica/ и mysite.ru/russia/ecomonika/.
Почему большое число разделов и подразделов помогут вашему сайту продвинуться в поиске? Да потому что поисковые системы любят большие сайты, с большим числом рубрик! Это для поискового бота (да и для человека) будет означать, что ваш сайт может решить все проблемы пользователя в данной тематике.
К тому же разделы нужно создавать под заранее составленное семантическое ядро. Сначала создаем ядро, выстраиваем в нем иерархию, на основании этой иерархии создаем на сайте разделы и подразделы.
По url должно быть ясно, к какому раздел относится статья.
Да и в целом не ясно, почему вы хотите отказаться от иерархии и сделать на сайте плоскую структуру? Потом вам «Вебмастер» будет рассказывать, что на вашем сайте нет разделов и что ваш сайт «плоский».
Вопрос: PhpShtorm выдает ошибку. Кто знает что это и что с этим делать?

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

Худший ответ:
Он вам светло-серым по тёмно-серому пишет: динамические подключения файлов обработаны его статическим анализатором не будут.
Вопрос: Как сделать чтобы border при наведении появлялся слева направо, когда убираю курсор, исчезал тоже слева направо?

Лучший ответ:
бордер чего?
https://codepen.io/gomoto27/pen/yYoqaa

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

Лучший ответ:
Возможно, кому-то пригодится:
проверьте /bitrix/admin/security_hosts.php (Настройки - Проактивная защита - Хосты/домены), если тут стоит галочка "ограничивать" и отмечено "перенаправлять", то будет редиректить на указанный домен. Либо отключите ограничение, либо пропишите свой поддомен в список разрешенных.

Худший ответ:
покажи .htaccess
Вопрос: Как скруглить блоки сайта с CSS?

Лучший ответ:
Как вариант это обычный border-radius у верхнего и среднего блоков снизу, при этом один наезжает на следующий сверху.

Худший ответ:
Чисто CSS — clip-path, если мне не изменяет память. Но там полно браузерных артефактов. Лучше использовать SVG маски.
Вопрос: Лучший способ центрирования картинки напротив текста по центру, в не зависимости от изменения размера шрифта, картинка по центру?

Лучший ответ:
код бы выложили на codepen что ли , это вроде не сложно но не ясно что Вы имеете ввиду

Худший ответ:
В данном случает предлагаю использовать list-style-image: url('red_triangle.png'); т.е. картинку в место маркера для элемента списка.
В вашем примере достаточно картинке и тексту добавить vertical-align: middle;
codepen.io/aliencash/pen/BzPpJW
Вопрос: Есть ли какой то способ максимально просто передать сообщение на компьютер?

Лучший ответ:
Очень часто бывает такое что приду к кому либо в гости и надо с его ПК отправить себе какой то текст
Флешку носи с собой.
У человека есть почта, в которой он уже залогинен.
Десктопный Телеграм в котором он уже залогинен.
Есть всяческие службы paste, где не требуется логин.
и пр.
и т.п.

Худший ответ:
Гуглдокс, страничка имени себя (можно свой профиль) в Википедии, любой pastebin
Вопрос: Как подменить ip на ip на подобии файла hosts?

Лучший ответ:
Средствами windows не знаю, а если поставить маршрутизатор на пути и выполнить DST-NAT, то ваша задача решена.

Худший ответ:
Можно попробовать с помощью роутинга. типа при запросе ip 1.1.1.1 >>> отправить на 2.2.2.2
Вопрос: Как вставить html код в PHP?

Лучший ответ:
что вам собственно нужно то?
ну, например, так echo '<b>' . array_shift($errors) . '</b>';

Худший ответ:
Если у вас хтмл шаблон то можно и так<b><?= array_shift($errors)  ?></b>
Вопрос: Как собрать QT C++ прорамму под младшую версию stdlibс++.so.6?

Лучший ответ:
Наилучшие варианты, как мне кажется:Собирайте в vagrant, соответствующем целевой машинеСобирайте в docker, соответствующем целевой машине

Худший ответ:
Собирайте на целевой машине, так будет правильнее.
Вопрос: Как такое сделать на Angular.js? И вообще на нем ли нужно?

Лучший ответ:
Как бы это базовые вещи при работе с angular (да и другими собратьями).
Тут даже тыкать некуда. Это основы. Просто открыть документацию по Anguar, и буквально в первых же разделах будет вся эта информация.

Худший ответ:
В контроллере держите список редактируемых элементов. А в нем уже потом добавляете/редактируете данные.
Коротко по некоторым пунктам (другие слишком очевидны, по-моему):2. Появляется форма(в модальном окне)
https://github.com/likeastore/ngDialog4. Потом это модальное окно можно снова открыть. изменить поля, нажать отмена и поля останутся старыми. Или нажать сохранить и поля изменятся
В модальном окне используется отдельная переменная, после чего при сохранении - пишется/обновляется элемент в списке, при отмене - ничего не делается.8. Ну а потом в нужный момент все это отправляется на сервер :)
Для этого добавляете сервис (не делайте запрос в контроллере), через него и взаимодействуйте с сервером.Писать за меня это естественно не нужно. Если это делается на angular - ткните в нужное место в документации. 
Как и было сказано, это обычные CRUD операции, которые очень просто реализовать
Вопрос: Django и React.js как соединить?

Лучший ответ:
Вам больше не нужно использовать django, чтобы рендерить html-ки. Этим будет заниматься react. Вам нужен API сервер, и я так понимаю, подойдет что-нибудь такое (ну или гугл).
Если можете написать API, то значит нет смысла искать видео-уроки/просто уроки по комбинации Ddjango + React, и вам нужно лишь подтянуть знания по react/redux/react-router или подобной связке.
Если даже в теории ваша задача не разбивается на 2 части (написание API и написание одностраничного приложения), значит django и react.js в данный момент вам никак не соединить.
p.s. если есть уже существующий сайт, где используется шаблонизатор от django и рендерятся страницы, то можно взять любую из них, где много динамики (например, удаление и добавление строк в таблице, какие-то xhr запросы и т.д.) и переписать для начала только ее на react.

Худший ответ:
SPA на Django + React.js
Вопрос: Как передать более 1 строки html через data-*?

Лучший ответ:
в атрибутах перенос строки нельзя, ай-ай-ай. Сделайте скрытый блок и туда кидайте или в localStorage

Худший ответ:
Не совсем понял вопрос, но мне кажется, что можно просто все закодировать в JSON, а где надо, парсить его.
UPDATE:
Сделайте так: echo "<pre>$data</pre>"
Вопрос: Какой из этих подходов в ООП лучше и как они называются?

Лучший ответ:
с самого начала у нас есть более-менее абстрактный класс
Так не должно быть. "абстрактные" классы это способ устранения дублирования, нам больше важны интерфейсы объектов и полиморфизм. Но конкретно в рассматриваемом примере нам важна только инкапсуляция.
Далее оба способа и чем они отличаются. В первом мы просто создаем объект, который уже содержит какое-то состояние по умолчанию. Во втором мы создаем объект с нулевым состоянием, и потом просим его сменить свое состояние на новое.
Вот и вся разница. Далее вход идет инкапсуляция. То есть наше состояние должно быть изолировано внутри объекта, и доступ к нему напрямую из внешнего мира должен быть закрыт. 
Если мы хотим создать объект с каким-то состоянием по умолчанию - мы берем первый вариант (либо как в примере прописывваем прямо как значение свойства, либо  сэтим в конструкторе). 
Если мы хотим создать "пустой" объект и уже потом определить его состояние - мы выбираем второй вариант. Как правило этот способ создает много побочных эффектов если не контролировать его, да и обычно это делают не потому что так правильно а потому что подругому не умеют (типичный пример - сущности доктрины. Многие просто не представляю себе как с ними работать без сеттеров).
Если же мы хотим создать объект но он не может быть пустым, объект должен требовать начальное значение в момент создания. Тогда мы просто передаем значение в конструктор. Без этого значения (или с неправильным) мы не сможем создать объект. К примеру если у пользователя обязательно должен быть email и пароль имеет смысл "заставлять" разработчиков явно передавать их в конструктор объекта. Это эдакая вариация.
А теперь попробуем первый и второй подходы вместе + третий кейс с обязательными параметрами:class User {
     private $id;
     private $email;
     private $password;

     public function __construct($email, $password) 
     {
           // это ваш первый пример только без наследования, оно не нужно
           // в нашей задаче идентификатор пораждается
           // при создании объекта самим объектом, состояние по умолчанию
           $this->id = Uuid::uuid4(); 

           // мы требуем входящие данные что бы задать начальное состояние
           $this->email = $email;
           $this->password = $password;
     }

     // мутация состояния, второй вариант.
     public function changePassword($password) 
     {
            $this->password = $password;
     }
}
То есть вся разница только в том, откуда приходят данные для формирование объектом своего состояния. Изнутри (первый случай) или снаружи (второй случай). Оба подхода вполне себе можно использовать вместе.
Ну и да - зачем в вашем примере наследование и нейкий "абстрактный" класс - не понятно. Наследование это не принцип, это механизм для достижения полиморфизма подтипов. С ним нужно быть осторожно, особенно если с полиморфизмом не разобраться сначала.

Худший ответ:
Не нужно создавать наследников если в них нет дополнительной логики. Принцип Оккама.
Вопрос: Создать объект на основе массива?

Лучший ответ:
Конечно, можно написать оптимальнее.
Есть одно негласное правило JS:Определяй структуру объекта в конструкторе и никогда не меняй после! 
Еще хуже добавлять объекту свойства в цикле.
Так будет точно правильнееfunction AObj(arr){
    arr.forEach( v => Object.assign(this, { [v]: objVal } ) );
}
var aObj = new AObj([1,2,3]);

Худший ответ:
Суть также, без цикла не обойтись:const arr = [1,2,3];
const objVal = { current: 0, deffault: 1 };

const result = arr.reduce((p,c) => {p[c] = objVal; return p;}, {});
// {"1":{"current":0,"deffault":1},"2":{"current":0,"deffault":1},"3":{"current":0,"deffault":1}}
Вопрос: Для скан кодов 27 или 13 нужно использовать константы?

Лучший ответ:
Так делают для улучшения читабельности кода. Чтобы не было "магических чисел", используются константы с понятными именами:const escapeKeycode = 27;
const enterKeycode = 13;
https://habr.com/post/328244/

Худший ответ:
27 и 13 и есть константы. Можно использовать их непосредственно.if (keyCode == 27) { ...
Если очень хочется отдельные имена, это тоже можно:const code27 = 27;
const code13 = 13;
if (keyCode == code27) { ...
Вопрос: Как увеличить скорость гигибитной сети?

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

Худший ответ:
эээмм, с такими вводными - во всём. Их, причин, столько, что пальцев рук не хватит перечислять. Давайте больше инфы. Очень намного больше.
Вопрос: Как использовать Telegram Bot API и MTProxy?

Лучший ответ:
Telegram Bot API не имеет никакого отношения к MTProto. Оно работает по HTTP. И, соответственно, MTProto proxy к нему не применим.

Худший ответ:
Никак. Насколько мне известно, MTProxy позволяет коннектиться только к серверам Telegram.
Похожий вопрос: Как добавить MTProto Proxy в бота на C# использующего Telegram Bot API?
Вопрос: Как расширить шифрованный LVM?

Лучший ответ:
Важную инфу перед началом таких действий необходимо забекапить!
Сначала расширь раздел /dev/sda2 resize2fs
потом криптоконтейнер cryptsetup
потом лвм физическое устройство pvresize
потом резайз lvresize того раздела внутри криптоконтейнера, внутри лвм, который нужно увеличить
потом для диска внутри lv (logical volume) resize2fs
Ниже линк на слегка устаревшая инструкция
Лучше использовать gparted
Лучше НЕ использовать fdisk, а если использовать, то ребутиться не обязательно
https://help.ubuntu.com/community/ResizeEncryptedP...
lvm разбивает pv на чанки, а потом делает из набра чанков тебе lv 
lv может состоять из чанков в разных частях pv и соответственно, в разных частях реального устройства (или устройств)

Худший ответ:
Вобщем, делается это дело так:
Загружаемся с "живой" оси, конечно же.
Открываем fdisk'ом диск (fdisk /dev/sda), находим нужный раздел, получаем инфу о разделах (p), запоминаем сектор, где начинается раздел (Start LBA), затем удаляем раздел (d), создаем раздел (n), такого же типа (ext or prm), такой же номер раздела и fdisk спросит начальный сектор, вводим как был ранее, последний сектор оставляем по-умолчанию (по-умолчанию заполнить все до конца), открываем шифрованный контейнер, открываем LVM (vgscan --mknodes and vgchange -ay), затем натравляем cryptsetup resize cryptcontainer -v тем самым расширяя криптоконтейнер, затем расширяем физический том LVM - pvresize /dev/mapper/cryptcontainer, pvchange -xy /dev/mapper/cryptcontainer. Теперь расширяем нужные логические тома lvm. lvresize --size +1G /dev/crypt/swap (если по объему), и заполняем остальные разделы полностью lvresize -l +100%FREE /dev/crypt/root. Сохраняем изменения pvchange -xn /dev/mapper/cryptcontainer. Проверяем целостность ФС (в моем случае btrfs) btrfsck /dev/crypt/root (ошибок быть не должно!), теперь ресайзим саму ФС - монтируем /dev/crypt/root /mnt, btrfs filesystem resize max /mnt. смотрим - df -h - вуаля!
Теперь, как обычно: umount /mnt, vgchange -an, cryptsetup luksClose cryptcontainer, sync, reboot...
Вопрос: Как заставить компьютер думать что модем это не сотовая связь?

Лучший ответ:
Начнем с основ. USB-модем в системе может определяться в системе 2мя способами: как телефонное соединение, с модемом, и как RNDIS устройство - эмуляция Ethernet соединения по USB.
В первом случае установка соединения целиком и полностью обеспечивает ОС. В случае RNDIS - модем сам хранит настройки провайдера и подключает и отключает соединение, для ОС он выглядит как обычный Ethernet роутер. В таком варианте, USB-модем может установить соединение, даже просто воткнутым в зарядное устройство USB.
Переключение режимов модема зависит от модели модема, с помощью специальных AT-команд. Остальное настраивается правилами маршрутизации и фаервола ОС.

Худший ответ:
Мобильный хот-спот не видит сеть мобильной (сотовой) связи.Что значит не видит? А он разве должен видеть? Конкретизируйте что вы под этим подразумеваете.
Хот- спот это точка доступа. Его задача давать доступ беспроводным пользователям в интернет. Он принимает wifi подключение пользователя и передает его трафик на шлюз. Вот и все. Никаких мобильных сетей он видеть не должен.При подключение локальной сети (Ну соединение 2 ПК проводом локальной сети) интернет пропадает (Программа модема показывает что интернет есть, но скорость загрузки и выгрузки равна 0.). Что значит пропадает? Шлюз провайдера доступен? ДНС сервера доступны? Какие настройки сети?
Вопрос: Как продвинуть проект, размещенный на GitHub?

Лучший ответ:
> Где лучше поделиться проектом, не причиняя вред чужим пабликам и проекту?
На reddit в профильных подреддитах. Для русскоязычной аудитории - на хабре(если написать качественную статью).

Худший ответ:
Я как то публиковался на codeproject.com и аудитория там гораздо дображелателней чем на хабре хоть и поменьше но судя по алекса информитру это один из популярнейших сайтов о программировании в индии.
Вопрос: Как удалить кеш файлы оставив файл .htaccess?

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

Худший ответ:
как то так наверное if ($file != "." && $file != ".." && file !=".htaccess") {
Вопрос: Как перевести в Wordpres + Woocommerce название полей ACF для товаров с помощью WPML?

Лучший ответ:
Перечитал все, что нашел, но так и не смог найти правильного решения ... и пришлось "наколхозить". Написал функцию, которая проверяет есть ли название поля ($fields['label']) для соответствующего языка, затем по ключу поля ($field['key']) присваивает нужное значение лэйблу. В итоге пришлось жестко привязаться к ключам полей, но зато работает)))
-

Худший ответ:
Перечитал все, что нашел, но так и не смог найти правильного решения ... и пришлось "наколхозить". Написал функцию, которая проверяет есть ли название поля ($fields['label']) для соответствующего языка, затем по ключу поля ($field['key']) присваивает нужное значение лэйблу. В итоге пришлось жестко привязаться к ключам полей, но зато работает)))
-
Вопрос: Какие практики популярны при создании Lite & Pro версии приложения?

Лучший ответ:
можно розделить на две версии вот так (в build.gradle)productFlavors {
        PRO {
            applicationId "com.app.pro"
        }
        LITE {
            applicationId "com.app.lite"
        }
    }
и тогда в lite - держать обрезанную версию классов, а в pro дописывать в классы функционал.

Худший ответ:
Вот более развернутый пример для различных приложений (на выходе два APK, два приложения в маркете):android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 25
        //vectorDrawables.useSupportLibrary = true
    }

    signingConfigs {
        debug {
            storeFile file('***\\debug.keystore')
            keyAlias 'androiddebugkey'
            keyPassword 'android'
            storePassword 'android'
        }
    }

    productFlavors {

        pro {
            applicationId = "com.example.pro" as ProductFlavor
            applicationId 'com.example.pro'
            buildConfigField "boolean", "pro", 'true'

            ***

        }
        lite {
            applicationId = "com.example.lite" as ProductFlavor
            applicationId 'com.example.lite'
            buildConfigField "boolean", "pro", 'false'
            
            ***
        }
    }
    buildTypes {

        debug {

            buildConfigField "boolean", "debugBuild", 'true'

            ***
        }

        release {

            buildConfigField "boolean", "debugBuild", 'false'

            ***
        }

    }
}
Но порекомендую все же использовать IAP разблокировку (встроенные покупки) и глобальный ключик pro, по которому вкл/откл рекламу и функционал.
Во всяком случае - сразу используйте полноценные классы, никаких последующих сравнений/слияний. Плавали, знаем - извращение еще то.
Вопрос: Здравствуйте, возможно ли сверстать данный блок с помощью флексов?

Лучший ответ:
Нет. Делай на гридах.

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

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

Худший ответ:
Android Services и есть, название такое специально для маскировки, ищите в списке сторонних приложений.
Вопрос: Является ли преступлением обход блокировок Роскомнадзора?

Лучший ответ:
Обход блокировки, пока что, нарушением не является. Закон не запрещает заходить на заблокированные сайты, закон просто обязывает провайдеров блокировать доступ к ним.
А вот лайк - дело серъёзное, даже на незаблокированном сайте. За неосторожный лайк можно и срок получить.

Худший ответ:
Нет.
За лайк тоже самое - закон никак не запрещает лайки ставить.