Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как грамотно настроить gulp-imagemin чтобы удовлетворить PageSpeed Insights требование?

Лучший ответ:
Гугл-у просто вариант losless не нравится, ему подавай оптимизацию С потерей качества, увы... для этих целей нашел для того же imagemin, дополнения imageminJpegRecompress и imageminPngquant
после такого таска:// Таск для оптимизации изображений
gulp.task('img:prod', function () {
	return gulp.src(path.src.img) //Выберем наши картинки
		.pipe(debug({title: 'building img:', showFiles: true}))
		.pipe(plumber(plumberOptions))
		.pipe(gulp.dest(path.prod.img)) //Копируем изображения заранее, imagemin может пропустить парочку )
		.pipe(imagemin([
			imagemin.gifsicle({interlaced: true}),
			imageminJpegRecompress({
				progressive: true,
				max: 80,
				min: 70
			}),
			imageminPngquant({quality: '80'}),
			imagemin.svgo({plugins: [{removeViewBox: true}]})
		]))
		.pipe(gulp.dest(path.prod.img)); //И бросим в prod отпимизированные изображения
});
гугл-у все нравиться

Худший ответ:
Использовать сжатие с потерей качества (lossy) и использовать плагины для типов файлов, пример: pngquant для png. У imagemin есть к нему обёртка. Кроме этого, если это не хотелка заказчика или работодателя, то на это можно вполне забить. Ни Гугл, ни Яндекс не смотрят что у Вас с оптимизацией сайта: где расположены стили и скрипты, несколько минифицированы они и конкатенированы и насколько можно сжать картинки (если они уже сжаты) и никто кроме заказчиков и людей с завышенным ЧСВ на это не смотрит. Всем важна скорость загрузки сайта. Если скорость вполне приличная, то минификация на 30 килобайт увеличит скорость загрузки на 0,01%(утрируя), а если у Вас грузиться за 5+ секунд, то тут уж надо включать голову почему так, а не минифицировать картинки
Вопрос: Как сделать так, что бы при делении было десятичное число в C#?

Лучший ответ:
и в чем проблема?
вам надо просто делить не два int, а преобразовать в decimal ..можно одно а можно и оба..decimal sum =  (decimal)a / b;
приведение типов и все такое)
в вашем случае при делении int на int вы получите int (уже до целого преобразованное) и только потом его скастует в sum  (decimal).

Худший ответ:
Система счисления тут ни при чём. Вам надо перейти к плавающей арифметике.
Вопрос: Как настроить Маршрутизацию VPN MikroTik?

Лучший ответ:
Если не сильно заморачиваться, то на каждом роутере-клиенте добавьте статичный маршрут для сети 192.168.0.0/21, а в качестве шлюза укажите адрес vpn сервера (из сети 10.20.1.0/24)

Худший ответ:
Комп с IP 192.168.2.50 не видит комп с IP 192.168.3.20  правильно, у вас же маска /24
Вопрос: Как можно реализовать очистку кэша по желанию разработчика?

Лучший ответ:
просто автоматом менять название файла или добавлять версию или таймстемп, тогда каждый раз для браузера это будут другие файлы, например:<link href='style.css?v92' />
<script src='main.js?20160523'></script>

Худший ответ:
Если речь идет о кешировании js, то как говорилось ранее, необходимо добавлять версионность файлов при деплое на продакшин.
Если хотите принудительно обновить ангуларовские шаблоны, то для этого есть команда$templateCache.removeAll();
Ее можно прописать при запуске аппа:app.run(['$templateCache', function ( $templateCache ) {
    $templateCache.removeAll(); }]);
Вопрос: Как правильнее формировать письма?

Лучший ответ:
Что значит стоит отказываться от дивов ?)
Письма, email рассылки верстаются только таблицами! Такое правило!
Возможно в будущем дивы и заменят табличную верстку в письмах, но пока для поддержки большинста почтовых клиентов только table.

Худший ответ:
Верстать дивами можно. В том числе для реализации адаптивности. Таблицы нужны для аутлука и задания отсступов padding. Отступы задаются ячейкам таблицы. Вертикальный margin можно использовать для блочных элементов
Вопрос: Как избавиться от мерцания элементов при загрузке страницы используя v-if в Vue.js?

Лучший ответ:
Вынести шаблон компонента из элемента в X-Template

Худший ответ:
Попробуй поставить v-cloak на то, куда ставишь v-if
https://vuejs.org/v2/api/#v-cloak
Вопрос: Как убрать браузерную обводку слайдера?

Лучший ответ:
А попробуй так:.slick-slide:focus {
    outline: none;
}

Худший ответ:
крайне странно что консоль говорит? откуда он берет outline.slick-slider:focus {
    outline: none !important;
}
можно конечно использовать important
Вопрос: Как искать код компонентов, модулей, шаблонов?

Лучший ответ:
Дело в том, что они все лежат в разных папках, то в папке conponents, то в папке templates и на это очень много тратиться время.
Да, иерархия там сложная, но она есть и довольно чёткая. Есть понятный алгоритм подключения шаблонов, компоненты могут лежать только в трёх местах и т.д. Пройдите курс для разработчиков ещё раз - там все нюансы описаны.

Худший ответ:
На сколько я помню, был не плохой плагин для phpstorm`а, находил компоненты\шаблоны с наивысшим приоритетом по ctr+клик, вроде неплохо справлялся.
Вопрос: Какие есть альтернативы VueX?

Лучший ответ:
Мне кажется вам просто нужно попробовать. На нем сильно проще и меньше писать чем на том же redux. Это однозначно самый правильный выбор, имхо, для vue на данный момент, если вы хотите хранить состояние в одном месте. Map getters, mapsetters позволяют проксировать  функции из хранилища. Геттеры позволяют не писать повторно функции извлечения данных из хранилища в разных компонентах. Эта либа  будет наверняка развиваться и поддерживаться синхронно с vue. Вообщем, у вас нет других вариантов)

Худший ответ:
redux еще есть, некоторым нравится (хотя мне лично кажется что это стокгольмский синдром).
Вопрос: Как в laravel 5 откатить определённую минрацию?

Лучший ответ:
нельзя откатить случайную миграция из середины проекта.
Только все/одну/несколько с конца. (В Laravel 5.3 добавили откат нескольких)

Худший ответ:
Можно откатить несколько шагов назад через
php artisan migrate:rollback --step=COUNT
где COUNT = количество миграций, которые нужно откатить

Откат миграции из середины может быть невозможен, поскольку нарушит последующие изменения, внесенные другими миграциями либо ограничения ключей БД.
Вопрос: Как объединить процедуры с одинаковым кодом в Delphi?

Лучший ответ:
Например так:type
  TArrayHelper<T> = class
    class procedure CoolProc(var arr: TArray<T>); // Ваша процедура
  end;

…

implementation

class procedure TArrayHelper<T>.CoolProc(var arr: TArray<T>); // Реализация Вашей процедуры
var
  Tmp: T;
begin
    Tmp := arr[0];
    arr[0] := arr[4];
    arr[4] := Tmp;
end;

procedure TForm1.Button1Click(Sender: TObject); // Проверка работы
var
  i: integer;
  iarr: TArray<Integer>;
  sarr: TArray<String>;
begin
  iarr := TArray<Integer>.Create(1, 2, 3, 4, 5);
  sarr := TArray<String>.Create('one', 'two', 'three', 'four', 'five');
  TArrayHelper<Integer>.CoolProc(iarr); // Вызов для целых чисел
  TArrayHelper<String>.CoolProc(sarr); // Вызов для строк
  for I := 0 to 4 do
  begin
    memo1.Lines.Add(IntToStr(iarr[i]));
    memo2.Lines.Add(sarr[i]);
  end;
end;

Худший ответ:
Как вариант можно оставить одну процедуру например str, а перед вызовом преобразовывать массив int в массив str.
А что у вас делает абсолютно одинаковый код внутри блока?
Вопрос: Как делать перенос строки в textarea?

Лучший ответ:
Горе от ума :)
https://jsfiddle.net/webirus/fpp6q10h/1/

Худший ответ:
Если текст указывается прямо в html, то переводы должны вставляться в виде специальных символов, а не буквально текстом. Если значение заполняется через js, то там уже так: https://jsfiddle.net/d5fqv0ma/2/
Вопрос: Вычислить по IP — миф или реальность?

Лучший ответ:
Вычилять по IP умеют всего 2 категории специалистов: школьники, поставившие друг другу хедшот в cs =)))спецслужбы

Худший ответ:
Только техническими средствами - никак. Да, можно различные базы запросить по whois, они покажут, кому принадлежит данный IP, графический traceroute может показать его примерное расположение. Но все это верно только в том случае, если не использовали VPN - в этом случае - ну узнаете Вы что это IP анонимайзера а то и exit-ноды Tor - сильно поможет? 
Точное расположение IP провайдер может дать. Соответствующим органам. 
Если в Вашу почту зашли с постороннего IP, обращайтесь в саппорт провайдера и обязательно поменяйте пароль на сложный. А лучше всего не используйте ее для хоть сколько-нибудь конфиденциальной информации - потому что в шутках об админах, ржущих над фотками юзеров, есть доля правды. Или вернее как говорила одна моя подруга - "В каждой шутке доля шутки, остальное все всерьез"
Вопрос: Как выбрать из большого лог-файла?

Лучший ответ:
Если в лоб: https://ru.wikipedia.org/wiki/ClickHouse

Худший ответ:
Задача звучит как описание дерева отрезков, поскольку операция объединения множеств ассоциативна.
www.e-maxx-ru.1gb.ru/algo/segment_tree
Думаю вы можете сделать его реализацию с хранением данных на диске, а в памяти держать только оффсеты начала/конца суточных диапазонов. Их будет всего около тысячи за 3 года.
Вопрос: Как вы организуете свою работу?

Лучший ответ:
Про GitHub.
1) Любой проект, даже самый маленький начинаю в новом репозитории. Потому что:
- мало ли что из него вырастет,
- код в Гитхабе это бэкап, не засерается место в Дропбоксе или других облаках,
- мгновенный поиск по коду в репозитории, актуально когда проект уже достаточно большой,
- легче спросить совета у коллег или показать проблему, когда исходники можно посмотреть онлайн,
- проект удобно хоронить, если он заглох, или закинуть в портфолио, если он клевый. 
2) Создал себе на Гитхабе две дополнительные организации внутри своего аккаунта.
- «paulradzkov-forks» — для форков чужих проектов.
- «paulradzkov-heaven» — кладбище для старых проектов, куда перемещаются все неактуальные проекты.
Эти две дополнительные организации позволяют очистить основной аккаунт от мусора. В нем теперь только несколько актуальных проектов, в которых легко ориентироваться.
3) Перемещаю все старые проекты из Дропбокса на Гитхаб в «paulradzkov-heaven». Проектов много, это долго, но освободилось уже несколько гигов (т.к. там кроме кода psd-исходники, архивы с инсталляторами и прочее). Место в облаках заканчивается, а на Гитхабе — резиновое.
Это кладбище уже пригодилось, когда у меня попросили поискать исходники проекта, над которым я работал 3 или 4 года назад, а я через минуту ответил им ссылкой на нужный репозиторий. Не пришлось никуда лезть, распаковывать, искать, запаковывать, отправлять почтой или закачивать в облако. 
Повторюсь, что на Гитхабе классный поиск по исходникам: если нужно посмотреть, как что-то сделал в старом проекте, но не помнишь в каком — можно довольно быстро найти искомое без возни с архивами.
Итого. 
Код должен лежать на Гитхабе.
В том числе старые проекты.
Используйте организации, чтобы рассортировать проекты, если их много.
Порядок там, где у каждой вещи есть своё место. Придумайте себе правила порядка заранее и соблюдайте их, чтобы не тратить время на ликвидацию беспорядка.

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

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

Худший ответ:
Для начала нормально, но без знания английского будет немного сложнее.
Вопрос: Если я делаю макет сайта в Photoshop, значит я отстал от жизни?

Лучший ответ:
Нет, это значит что ты делаешь макет сайта в фотошоп.

Худший ответ:
Если я делаю макет сайта в Photoshop, значит я отстал от жизни?
Абсолютно верно. Плюс тебе в карму за то, что это понимаешь.
Юзай фигму - тогда не будет нужен ни скетч, ни зеплин, ни макинтош. Ни даже денег на лицензионное ПО. Нужен только браузер. Разработчики из макета будут извлекать инфу точно так же, как из зеплина, т.к. фигма и дизайнить позволяет, и код с ассетами может экспортить. Плюс она гораздо круче зеплина извлекает код для iOS/Android (помимо стандартного CSS).
Вопрос: Как оптимизировать Android Игру для устройств с различными разрешениями экрана?

Лучший ответ:
Вроде там стандартно всё...
Есть anchor-point's у кажого GUI-эелемента и согласно им они привязываются к местоположению на экране.
Качество изображений - всегда можно подменить на нужное при старте приложения исходя из разрешения экрана устройства.

Худший ответ:
У нас проблема в том, что смещаются все UI компоненты, такие как Panel, Button, etc. Как быть с ними, требуется подгонять под каждый экран или можно сделать проще?
_______________
Решение для 2D игр - это определние Якорей аналогично границам UI объектов, то есть, если у вас прямоуголный Panel, то нужно задать такие-же Anchors, то бишь повторить ими контур. В инспекторе будет Custom Anchors.
Вопрос: Какие мобильные процессоры поддерживают архититектуру 64?

Лучший ответ:
Перечень слишком большой, почти все qualcomm начиная с 410 
Может лучше рассмотрите orangepi/raspberry? 
Тот же ARM, но с нормальной поддержкой linux
Запуск классической linux ос на мобильном проце в 50% не возможен, в остальных крайне проблемный. Умеете собирать кастомные ядра и писать драйвера?

Худший ответ:
Или малинка или подобное. Если надо прям x64  - ну тогда к примеру Intel NUC.
Вопрос: Передать файлы между линукс виндовс компьютерами?

Лучший ответ:
FTP
HTTP
SSH
TELNET
SMB
и т.д.
способов передачи очень много

Худший ответ:
SFTP. Из под Винды подключаетесь к Линуксу и копируете все что надо.
Вопрос: Как в react сделать привязку для динамически создаваемых елементов?

Лучший ответ:
На мой взгляд, при соблюдении следующих пунктов, все должно работать молниеносно:
- грамотно сформированный (нормализированный) state
- разбивка компонентов на container/presenter
- корректное использование shouldComponentUpdate, и реконсиляция (key, index на коллекциях) в целом.

Худший ответ:
Если вся вёрстка предсказуемая и клетки календаря не предполагают взаимодействия — отдайте все вычисления и формирование DOM примитивов Web Worker-у. Тогда в React весь компонент можно будет реализовать как stateless функцию, забыв о проблемах с производительностью и рендерингом.
Вопрос: Как удалить не сколько запись в одном запросе(в Yii2)?

Лучший ответ:
всё. нашёл ответь...если кому нибудь тоже нужно вот пример Category::deleteAll(['in','category_id',$id])

Худший ответ:
Category::deleteAll(['category_id'=>$id]);
Но учтите что не будет срабатывать события при этом (beforeDelete и afterDelete)
Вопрос: Как правильно учить библиотеки в Python?

Лучший ответ:
"Магические" числа для Питона (верс.3.5) -- это 33, 13, 68, 37, 44, 2, 11(два раза), 17.  Это есть -- 33 ключ. слова
языка, 13 встроенных типов, 68 билт-иновских функций, 37 разделов в лайбрари референс (написано --держать под подушкой) , 44 - методов эстээр (без спецметодов), 2 метода у тюплов, по 11 у списков и словарей и 17 у множеств. В Пит3.7 чуть поменяется но не важно пока. Такой подход (через выучивание этих внутренностей) хорош для тех, кто уже что-то знает и Питон идет как второй язык (есть с чем сравнивать).
Постепенно делаете приоритетность  в 37 разделах, (какие группы модулей за какими номерами стоЯт) понятно, опираясь на модель данных и дальше уже по ним. 
 Для примера, например,  сначала получите эти числа программно, (типа как у keyword.kwlist)

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

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

Худший ответ:
Причин может быть уйма - большая нагрузка на сервер отдачи, он банально не справляется, перегружен канал где-то на пути к серверу, и провайдеры режут скорость,  программа скачивания качает с перерывами, 
Обновление винды в десятке вроде как по торренту качается, там все зависит от наличия пиров.Что делать ? -__-Ждать.
Вопрос: Что делать программисту в конце спринта?

Лучший ответ:
Пишите тесты, вкрячивайте мониторинги, алерт системы, докрутите ci\cd - в общем, занимайтесь техдолгом.

Худший ответ:
смотреть мемчики вконтакте
Вопрос: Надежены ли сервера от Hetzner?

Лучший ответ:
За последние годы в hetzner обслуживали более 50 серверов.
Держим там продакшен нескольких проектов.
Соотношение цена/качество считаю идеальным.
Из подвохов - обратите внимание на заявленную память и диски: Память должны быть с ECCУ дисков должно быть написано data center class / enterprise class
Года 3 назад у них была мода ставить жестко б/у диски, сейчас вроде бы исправились.

Худший ответ:
Мой скромный вклад. Запустил там штук 15 серверов, большую часть напрямую у Хецнера, часть у FastVPS, не так давно на одном из тех что в FastVPS вышел из строя один диск, проблема была решена в течении нескольких часов после заявки. Изредка (раз - два в год) бывают кратковременные (5 — 10 минут) проблемы с сетью в отдельных датацентрах, впрочем часть из них - обновление сетевого оборудования о котором заранее высылают уведомление.
В целом впечатления положительные, с таким ценником найти такие конфигурации очень не просто.
Вопрос: Как подключить файл в PHP?

Лучший ответ:
Есть несколько моментов, которые нужно учесть при подключении файлов.В целом есть два варианта их подключения, через require и через include. Оба сделают одно и то же, но второй вариант выдаст warning при отсутствии файла, а первый - fatal error.Оба варианта имеют свои подварианты, а именно require_once и include_once - в случае использования такой записи файлы включаются в код единожды, и если вы где-то два раза попытаетесь подключить их, подключение произойдет только один раз.Путь, который по умолчанию используется в обоих вариантах, зависит от настроек среды, в каких-то случаях он может быть не задан, и тогда путь считается от файла, в котором вы подключаете другие файлы, а в каком-то будет установлена переменная конфигурации include_path и вся ваша логика нарушится. В связи с этим настоятельно рекомендуют подключать файлы с помощью такой конструкции: include __DIR__ . '/dir/file';, где __DIR__ - "магическая" переменная, содержащая абсолютный путь до папки вашего срипта.Слеши в пути отличаются в разных системах, получить нужный вам можно через предопределенную константу DIRECTORY_SEPARATOR.Если вы подключаете конкретно конфиг вашей системы, вы можете сделать вот так в скрипте: $config = include __DIR__ . '/config.php';, а в конфиге сделать что-то вроде return = ['pass'=>'...', login=>'...'], после чего в основном скрипте получать переменные через что-то вроде config['pass'] - в целом, работать все будет и без этого, но зато так повысится читаемость вашего кода.

Худший ответ:
1) чтобы точно знать что и как подключить, используй полный путь $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'somefile.php'
2) используй глобальную константу DIRECTORY_SEPARATOR, т.к. в разных ос разные разделители папок.
Вопрос: Port 22: connection refused при подключении по ssh?

Лучший ответ:
> В Windows Firewoll порты 21 и 22 открыл
вообще-то openssh server и windows - вещи трудно совместимые. вы уверены, что установили именно серверную часть и именно на windows?
> с чем еще может быть связана ошибка?
с тем, что вы установили не то, что надо.

Худший ответ:
порт закрыт, проверить можете через telnet
Вопрос: Как печатать конверты для CD/DVD в linux?

Лучший ответ:
 и никаких не нужно линий. 
А вообще, google://"конверт для cd шаблон pdf"

Худший ответ:
Может подойдет шаблон для Libre/Open office
templates.openoffice.org/en/search?query=dvd
Вопрос: Добавить классы каждому div в цикле wordpress?

Лучший ответ:
Здравствуйте!
Заведите счетчик вне цикла и внутри цикла инкрементируйте, а затем присваивайте его в виде класса.
Только к счетчику добавьте какое-нибудь слово... myClass + $i

Худший ответ:
Прям чтоб каждой записи свой класс наверно ни как, но можно уникализировать класс добавив к нему например id поста, получится типа <div class="post-111"> поскольку id не повторяются его можно считать уникальным для каждой записи
Вопрос: Что использовать для тестирования JavaScript/NodeJS?

Лучший ответ:
Protractor весьма популярен. Cypress тоже неплохая штука - позволяет делать много чего интересного с минимальными усилиями

Худший ответ:
В js дохрена фреймворков для тестов, но в целом они довольно убоги. Советую избегать тех, которые специально под какие-то фреймворки написаны, это jest, protractor, karma и тому подобное говно. 
Моча и чай кстати норм, для e2e nigthwatch хорош.
Вопрос: Где можно купить исходники игр под Android?

Лучший ответ:
Можно проискать в маркетах конкретных движков. В том же юнитевом AssetStore могут быть прям готовые проекты.

Худший ответ:
Да как правило нет таких мест.
Если игра писалась для монетизации ее размещают в плеймаркете и получают деньги, а исходники лежат в сейфе под охраной.
Если игра чисто для души и код открыт - он на гитхабе.
Какой смысл продавать исходник игры кому-то?К примеру сайт themeforest.net Там продаются вещи,  которые полезны владельцам сайтов на wordpress, исходниками игр и прочего софта там явно не торгуют.
Вопрос: Как мне прописать GET параметры в URL на Ajax?

Лучший ответ:
вам нужно работать с history API с фолбэком на хэш-навигацию

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

Лучший ответ:
Возможно, подойдет серия (из 7 книг) "Вся высшая математика".Здесь вы можете посмотреть, подойдет вам стиль изложения или нет.

Худший ответ:
Это шедевр! Спасибо, очень хотел найти такую энциклопедию по вычислительной технике.
От себя могу посоветовать только вот такую серию книг по математике:  matematika.deagostini.ru
В данных сериях книг представлены практические аспекты математики в нашей жизни. Есть хорошо иллюстрированные примеры.
Вопрос: Как завести Ростелеком оптоволокно в микротик?

Лучший ответ:
Спросите сперва сможет ли Ростелеком прописать у себя ваш ONU, купить модуль под gpon и поставить не проблема, просто внезапно окажется что РТ не хочет/не может прописать его у себя

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

Лучший ответ:
Рисковать быть забаненным Гуглом - молодца, вперед держать.
И бизнес твой будет процветать.

Худший ответ:
Гугл отдаст аккаунты тебе подобных, когда налоги введут...
Аферта начнет распространяться и на граждан СНГ. которым все пох было))
Вопрос: Можно ли хранить весь код в БД и правильно ли это?

Лучший ответ:
Запросы к базе надо сводить к минимуму. Мне кажется, глупо говорить, что они нагружают сервер, ну и увеличивают время загрузки страницы. Это, блин, логично. 
Храните гребаный код в гребаных файлах. В чем проблема? 2к17 год, давайте, блин, в базе данных хранить верстку, просто потому что потому. Извращенцы. Скоро отдельный сервер будут делать, чтобы на него за версткой ходить, а на боевом просто echo file_get_contents("http://....
Знаете, даже во многих CMS стараются свести к минимуму работу с БД -кэшируют результаты запросов на некоторое время или до ручного обновления. Т.е, хранят результат во временных файлах и отдают юзеру. Ну а мы давайте каждый раз будем за статикой бегать на localhost, че бы нет.....мне кажется все же есть такие люди у которых на продакшене подгружается разметка из БД. 
Ну да, есть. Без работы вон сидят.

Худший ответ:
 Я ужасно сильно люблю маленькое количество строк в файлах. 
То есть для вас общепринятые нормы не авторитет? И меня просто дико распирает на это, я готов все страницы сайта подгружать из БД..
Если это касается только контента, то так и надо.
А если вы собираетесь хранить в базе логотип, иконки соцсетей, кнопки и остальные элементы дизайна - это бред.