Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Нужно ли задумываться о поддержки ИЕ 9?

Лучший ответ:
СмОтрите, на чём сидит ваша ЦА, считаете возможные профиты и расходы, дальше решаете, что поддерживать.

Худший ответ:
Нет, уже не нужно.
Хотя я добавляю подержку HTML5 (новые теги вроде main), чтобы сохранить читаемость контента.<!--[if IE]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
Вопрос: Как публиковать .NET Core приложение только с необходимым набором библиотек?

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

Худший ответ:
У вас в референсах либо ссылка на пакет NetCoreApp, либо на какой-нибудь Net Standart(пакет совместимости).
Каждая из них может тянуть за собой простыню dll-oк.
Вопрос: Как сделать ярлык или как удобно запускать приложение в Linux (это gui приложение, запускается через консоль)?

Лучший ответ:
Надо создать файл с расширением .desktop на рабочем столе (можно в $HOME/.local/share/applications тогда он будет в меню) с содержимым:[Desktop Entry]
Type=Application
Exec=/usr/bin/...
Icon=application-x-executable
Terminal=false
Name=Name
Name[ru]=Имя
Comment=Comment
Comment[ru]=Комментарий
в Exec, Name, Comment пропишите ваши данные

Худший ответ:
.desktop-файл в ~/.local/share/applications, например.
Вопрос: Как живётся программисту без дискретной видеокарты?

Лучший ответ:
Абсолютно нормально, два монитора, никаких проблем.
WebDev. Куда хуже живется программисту без SSD.

Худший ответ:
Жил... Было плохо... Но жить можно...
Вопрос: Сколько последних версий браузеров вы поддерживаете?

Лучший ответ:
Так вот же https://www.npmjs.com/package/bootstrap-sass
To match upstream Bootstrap's level of browser compatibility, set Autoprefixer's browsers option to:[
  "Android 2.3",
  "Android >= 4",
  "Chrome >= 20",
  "Firefox >= 24",
  "Explorer >= 8",
  "iOS >= 6",
  "Opera >= 12",
  "Safari >= 6"
]

Худший ответ:
Последние версии браузеров либо по требованию заказчика.
Вопрос: Как ограничить доступ к ПОЧТОВЫМ сервисам?

Лучший ответ:
Кратко - никаким.
Потому что ты хочешь взаимоисключающие вещи.

Худший ответ:
Каким образом на ПК можно закрыть доступ на все почтовые сервисы (отправка и приём сообщений) за исключением одного, например mail.ru. Запросто. Запрещаем на файерволе весь трафик, создаем на файерволе правило разрешающее трафик на mail.ruОднако если сайт привязан к другой почте, (YouTube к Gmail.com) возможность авторизации оставалась?Да делать можно будет что угодно, просто трафик на все сайты кроме mail.ru ходить не будет, т.е открываться будет один сайт - майл.ру и только.
Вопрос: Как лучше сделать собственные медиа-клавиши с уникальным функционалом на клавиатуре?

Лучший ответ:
AHK - сам пользуюсь: колесо "мыши" в качестве громкости при наведении курсора на таскбар, средняя кнопка - откл/вкл. звука вместе с микрофоном. Реально удобно!
https://www.autohotkey.com/

Худший ответ:
Идея ясна, но реализовать будет очень сложно.
1. Прошить оригинальный контроллер клавиатуру не выйдет. Придется лепить новую плату со своей прошивкой.
2. Если хотите чтобы клавиши выдавали фиксированные сочетания - это одно, если будет еще интерфейс на пк это другое.
3. Однажды сам думал использовать незанятые коды для реализации, идея не лучшая. Проще просто слать данные по usb и своим софтом уже эмулировать что угодно.
4. Используйте USB HID и не нужны будут драйвера вовсе)
Вопрос: Как сделать прогрессивную загрузку картинок на сайте?

Лучший ответ:
Очевидно что вам нужно написать кастомный скрипт, который, после загрузки страницы, пробежит по всем элементам и заменит там урлы на нужные.
Например так:<img src="image-blur.jpg" class="my_image" />
<paper-card image="/images/image-blur.png" class="my_image" />$(".my_image").each(function () {
    // тут находим атрибуты src или там image, и вырезаем ключевое слово blur из урла
});

Худший ответ:
Почему же lazy load не подходит?
Вопрос: Есть ли смысл подписывать REST API запросы?

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

Худший ответ:
1. Сервер создаёт (генерирует случайно) при регистрации пользователя REST-token и затем, постоянно хранит в своей базе данных связку REST-token'а с клиентом (1-к-1): clientID => REST-token
2. REST-token - сервер передаёт клиенту через E-MAIL или SMS сразу после регистрации и просит ввести выданный код в поле, находящееся внутри запущенного приложения. 
Или же, активировать переходом по ссылке, если это - web-приложение в браузере, открываемое по линку (а не stand-alone, запускаемое с ярлыка мобильного интерфейса).
3. Клиент подписывает каждый запрос к серверу этим токеном.REST-token - клиент никогда не передаёт!
4. Сервер при поступлении запроса от клиента - подписывает все данные запроса токеном того же клиента на своей стороне.
5. Сервер сразу же сверяет: если подписи совпадают - запрос принимается к исполнению.Для предотвращения подбора ключа REST-token - вводится случайно-генерируемая переменная в перечень полезных параметров при запросах к API: r,rand,random и т.д.
Вопрос: Насколько упадёт производительность видеокарты от Майкрософтовских драйверов?

Лучший ответ:
есть аналог от MicrosoftПару дней назад уже писалMS не пишет драйвера, в пакет установки Windows входят WHQL драйвера от производителя актуальные на дату его сборки.
Обновления Windows включают в себя и драйвера, которые производитель захотел распространить.

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

Лучший ответ:
Как не понести ответственность перед юрисдикцией РФ при создании Adult ресурса?Очень просто - не размещайте на ресурсы, материалы нарушающие законы РФ.

Худший ответ:
Закрыть доступ с российских ip и не работать на РФ?
Вопрос: Существует ли автозагрузка переменных в PHP?

Лучший ответ:
если свойства public $controller; нет физически, то можно добавить методы __get() и __call(), от них уже отдавать что вам нужно

Худший ответ:
То, что вы хотите называется [внедрение зависимостей](https://ru.m.wikipedia.org/wiki/Внедрение_зависимости). Для php можете посмотреть на php-di.org
Вопрос: Какая есть литература по обработке видео?

Лучший ответ:
1) Любые алгоритмы в тулбоксе Image Processing Матлаба
2) из старой литературы обработка видео в DirectShow и Media Foundation Microsoft
а) справка SDK
б) Mark D. Pesce. Programming MS DirectShow for digital video and television
в) Turcan, Wasson. Fundamentals of Audio and Video Programming for Games
г) Anton Poligner. Developing MS Media Foundation Applications

Худший ответ:
www.ixbt.com/divideo/avisynth1.shtml
при необходимости всегда можно написать свой плагин на C++
по фильтрации шума - из простейших, фильтр Гаусса, медианный и билатеральный.
есть лекции с нашего спецкурса по сжатию видео и анализу и обработке 3D видео.. но это несколько другое
Вопрос: Изменить цвет метки яндекс карты?

Лучший ответ:
В документацию мама не научила ходить?

Худший ответ:
https://yandex.ru/blog/mapsapi/50404
А вообще глянь-ка тут.
https://tech.yandex.ru/maps/jsbox/2.1/icon_customImage
Мне кажется можно провернуть хак и вложить в ymaps.templateLayoutFactory xml-разметку твоего вектора.
Вопрос: Что написать в соглашении на пользование сайтом чтобы запретить флуд и спам заявок?

Лучший ответ:
Это бесполезно.
Действенные способы борьбы:
1. Сложная капча при отправке заявки
2. Возможность отправки только для зарегистрированных пользователей

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

Лучший ответ:
Если вы хотите описать компонент, используемый в единственном экземпляре, то лучше использовать объект, а не класс. Обработчик событий может быть как в Menu, так и внешний:const Menu = {
  el: document.getElementById('js-main-menu'),
  btn: document.getElementById('js-main-menu__btn'),

  init() {
    this.toggle = this.toggle.bind(this);
    this.close = this.close.bind(this);
    this.open = this.open.bind(this);

    this.btn.addEventListener('click', this.toggle);
  },

  toggle() {
    this.el.style.display = 
     !this.el.style.display || this.el.style.display === 'block' ? 'none' : 'block';
  },

  open() {
    this.el.style.display = 'block';
  },

  close() {
   this.el.style.display = 'none';
  }
}

export default Menu;import Menu from './Menu';

const closeButton = document.getElementById('js-close-button');
const openButton = document.getElementById('js-open-button');

Menu.init();
closeButton.addEventListener('click', Menu.close);
openButton.addEventListener('click', Menu.open);
Демо: https://jsfiddle.net/ey53xuyp/
В случае с классом вешайте хандлеры в constructor:class Menu {
  constructor({ el, btn }) {
     this.el = document.getElementById(el);
     this.el = document.getElementById(btn);

     this.toggle = this.toggle.bind(this);
     this.close = this.close.bind(this);
     this.open = this.open.bind(this);
     
     this.btn.addEventListener('click', this.toggle);
  }  
  ...
}

export default Menu;import Menu from './Menu';

const closeButton = document.getElementById('js-close-button');
const openButton = document.getElementById('js-open-button');
const menu = new Menu({
  el: 'js-main-menu',
  btn: 'js-main-menu__btn',
});

closeButton.addEventListener('click', menu.close);
openButton.addEventListener('click', menu.open);
Если же вы хотите использовать компонентную архитектуру, с наследованием от базового класса компонента, вам лучше использовать React или Vue. Иначе рискуете написать трудно поддерживаемых, плохо масштабируемых велосипедов.

Худший ответ:
Кинь в конструктор и обработчик будет добавлен при создании класса.
Вопрос: С чего начать программировать микроконтроллера?

Лучший ответ:
Учите C для начала.

Худший ответ:
Начать очень желательно с постановки конкретных задач, чтобы определиться какая машина (контроллер) вам нужна, может Arduino (на основе Atmega), может что-то на основе ARM (например, Raspberry), может Siemens, а если задач пока нет, то купите самое дешевое и простое, желательно Arduino Uno, с него начните, знания Си вам пригодятся, да и вообще любого языка программирования.
Вопрос: Как исправить ошибку MySQL Error: Duplicate entry при импорте базы?

Лучший ответ:
Приколько когда спустя 10 минут натыкаешься в гугле уже на своей же пост тут :D

Худший ответ:
В ваш дамп попало две строки с одинаковым значением `node_name_unique`.
Варианта два:Удалить из дампа дубль записи с `node_name_unique` = 'Forum'Убрать в структуре таблицы у колонки `node_name_unique` UNIQUE KEY
Можно убрать у колонки UNIQUE KEY, залить дамп, удалить дублирующую строку с 'Forum' и добавить UNIQUE KEY обратно.
Вопрос: Говнокод или нет?

Лучший ответ:
Код г-но неидеален, и вот, почему:см. комменты в кодеlet a = prompt("Enter a value", 10); // a, b, c дальше не меняются
let b = prompt("Enter b value", 10); // поэтому можно
let c = prompt("Enter c value", 10);  // const
let result;
let discr = (b * b ) - 4 * a * c;
let sqrtDiscr = Math.sqrt(discr); // при отрицат. discr здесь NaN
if(a === 0 && b === 0 && c === 0) { // проверяем уже после вычислений
  throw new Error("The values must be bigger than 0");
} else if(discr < 0 ){ // проверяем уже после вычисления sqrtDiscr
  throw new Error("This Equation have not solution");
} else if(discr === 0 ){
  console.log("This Equation have only 1 solution")
  result = (-b) / (2 * a);
} else if (discr > 0){
  console.log("This Equation have 2 solution");
  result = (- b + sqrtDiscr) / (2 * a) + ";     " + (- b - sqrtDiscr) / (2 * a);
}

console.log(result);
По функциям разбивать есть смысл если из нескольких мест идёт обращение, код повторяется более двух раз. Тут можно в двух последних случаях считать два корня одной формулой, и при нулевом дискриминанте брать только одно из двух равных значений. Но это излишняя, дурная, вредная переоптимизация.
Ещё вы не проверили случай, когда a === 0: у вас будет деление на ноль.

Худший ответ:
Я бы сделал как-то так:<button onclick="go();">Пуск</button>
<script>
	function go () {
		let t= " in ax2 + bx + c",
			a = prompt("Enter a value"+t, 10),
			b = prompt("Enter b value"+t, 10),
			c = prompt("Enter c value"+t, 10),
			result;
		
		if(a === 0 && b === 0 && c === 0){
			return alert ("The values must be bigger than 0");
		}

		var discr = (b * b ) - 4 * a * c,
			sqrtDiscr = Math.sqrt(discr);
		
		if(discr < 0 ){
			return alert ("This Equation have not solution");
		}

		

		if(discr === 0 ){
		console.log("This Equation have only 1 solution")
		result = (-b) / (2 * a);
		} else {
		console.log("This Equation have 2 solution");
		result = ((- b + sqrtDiscr) / (2 * a)).toFixed(2) + "; \n" + ((- b - sqrtDiscr) / (2 * a)).toFixed(2);
		alert (result);
		}
	}
Вопрос: Можно ли поверить в заявление, что на на VDS с 4Гб ОЗУ крутится 20 сайтов Bitrix с посещаемостью по 1-2К в сутки каждый?

Лучший ответ:
Можно ли поверить в заявление, что на на VDS с 4Гб ОЗУ крутится 20 сайтов Bitrix с посещаемостью по 1-2К в сутки каждый?При всей моей не любви к этой системе и любви к VDS (особенно полноценным VDS на KVM или других "полноценных" гипервизорах, особенно к тем что на SSD, а в идеале - с полноценным внешним SSD), и фактической необходимостью сталкиваться в т.ч. и с этой CMS довольно не редко (не по своей воле)... 
Давайте считать математически. 1-2к в сутки, среднеарифметическая будет 1.5к/сутки. Далее, 20 сайтов умножаем на 1.5к - это будет 30к в сутки. Как Вы понимаете, нагрузку на систему создаёт не сам кол-во битриксов, а сам битрикс как таковой. То есть, формально это 1 сайт с 30к посещений в сутки. Делим 30к на 24 часа в сутках, получается 1.25к посещений в час или 21 посещение в минуту, что в свою очередь предполагает отдачу страницы не более чем за 3 секунды (пусть даже за 2 секунда на страницу, с учётом всяких погрешностей). Что для Битрикса - более чем реально.Предполагается, что на сервере размещены не статические лендинги, а полноценные сайты использующие БДОткровенно говоря, я не помню сайтов на Битриксе, не использующих БД вообще.интегрированные со сторонними средами типа 1С (обмен номенклатурой, заказами) и т.п.Это не самая ресурсоёмкая часть в общей системе, к тому же, обмен данными обычно происходит "от случая к случаю", а не "постоянно".
Плюс сервер можно "заоптимизировать" очень неплохо, например использовать Nginx вместо Apache'а, использовать PHP7.x вместо PHP5.x (который примерно вдвое быстрее и с недавних пор стал поддерживаться битриксом), плюс кэширование самого битрикса или, на крайний случай вообще использовать Varnish, которому в большей степени всё равно, что у Вас там на на бекенде, и даже если бекенд генерирует страницу по 30сек., Varnish будет "выплёвывать" её прямо из оперативки за считанные доли секунды. Ну и т.д.
Иначе говоря, при должном умении, можно запустить не только 20, но и 50 и 200 сайтов на битрикс, на сервере подобного "масштаба". Препятствовать тому могут лишь некоторые тонкости (некоторые специфические требования к таким сайтам, при которых иногда и для 1-го сайта ресурсов будет маловато), но, ни одного из таких специфических требований - Вы не указали.

Худший ответ:
Битрикс важно уметь готовить. Я раньше регулярно проводил аудиты сайтов сделанных в других студиях, в 90% случаев не были банально проставлены нужные галочки, что создавало примерно 2/3 нагрузки. 
В общем сайт, сайту рознь. Если банальные рекомендации из уроков Битрикса не выполняются, то даже одному средних размеров магазину может быть тесно на такой VDS. 
Если всё сделано правильно, базы не слишком большие, а обмены не слишком частые, то 20 сайтов - вполне реальная цифра.
Вопрос: Как правильно запросить данные из модели через json?

Лучший ответ:
Можно не плясать с бубном, а почитать документацию про связи, из которой узнать про методы with() и load().
А если не стесняться открывать код базовой модели, то и про свойство with = [] можно узнать...

Худший ответ:
//Первый
$user = User::find($user_id);

//Второй
$user = User::where('id', $user_id)->first();
Вопрос: Как открыть фронтальную крышку корпуса?

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

Худший ответ:
Надо со всей дури тянуть снизу за вырез
Вопрос: Стоит ли писать программу учета на Python + Qt?

Лучший ответ:
Может быть я ошибаюсь конечно, но реально не проще взять 1С? В вашем случае не шибко дорого будет. 
Дистрибутивы под linux есть (как клиент, так и сервер при необходимости), можно подобрать конфигурацию под себя, легко масштабируется, распространенная (программистов под 1с достаточно много, как и материала в сети), легкий для понимания встроенный процедурный язык, универсальная. 
Тоже был против внедрения 1С в компании, правда у нас масштаб крупнее (ИМ) - бухгалтер настояла. Теперь работаю и радуюсь. Нет необходимости придумывать свой велосипед, а все доработки в основном исключительно косметические - для быстрого доступа к функционалу. Ошибок в коде минимум. А со своим велосипедом можно мучаться бесконечно.
UPD: Также не забывайте про безопасность, в которой вы можете накосячить, нормативно-правовую базу, которая в стране у нас меняется с первой космической скоростью и новые протоколы онлайн касс (а 1С под все это затачивается с обновлениями) и так далее.
UPD: Ах да, не забывайте, что Python не шибко быстрый из-за того, что интерпретируемый.

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

Лучший ответ:
это называется спагетти

Худший ответ:
Парадигмы программирования
Вопрос: Требуется ли лицензия?

Лучший ответ:
Причем в этом вопросе Unity3D?

Худший ответ:
Вам требуется налоговый учет за ведение коммерческой деятельности: ИП/ООО.
Спец. лицензий - никаких не нужно. Это обычная розничная торговля.
Вопрос: Почему символ «я» передаётся дубляжом в кодировке CP-1251 на Linux?

Лучший ответ:
1. Перестать маяться фигнёй и использовать программы для отсылки почты, коих немеряно под линуксом.
2. Не использовать кривые кодировки, только UTF-8.
3. Прочитать про стандарты электронной почты (RFC-5321, RFC-5322), чтобы потом не писать вопросы "Почему все мои письма попадают в спам". Особое внимание обратить на фразы, содержащие слова MUST, MUST NOT и REQUIRED.

Худший ответ:
Насморк через .опу не пробовали лечить, пардон? Использовать однобайтную кодировку Windows в скриптах для Linux и потом удивляться, что что-то не работает? Удивительно, как оно вообще работает. Используйте UTF-8 и будет счастье (наверное). И не забывайте про MIME-Encode, чтобы не спрашивать потом, почему мои письма отображаются краказябрами.
Вопрос: Какую базу данных выбрать для типичного тестового задания на вакансию java разработчика?

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

Худший ответ:
0. Тест на "надо спросить у заказчика, что он хочет" - вы провалили
1. Вариантов деплоя слишком много, чтоб тратить время даже на несколько
2. Про все три СУБД требуется уточнить их версии и как их поставлять. От оракла постараться отмазаться - тк проприетарный софт и в репозиториях по-умолчанию его не будет
Вопрос: Всегда ли в IP4 3 точки?

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

Худший ответ:
Вам дали неправильный ответ. IP адрес может записываться как одно число. Например
94.100.180.199 может быть записан как 1583658183, и URI
http://1583658183/
является корректным. Потенциально, есть другие возможности записи адреса, например в форме адреса IPv4 over IPv6, например любой адрес  из сети 
2002:c000:0204::/48 соответствует адресу 192.0.2.4
Еще варианты, например
::ffff:127.0.0.1
он же может быть записан как
::ffff:7f00:0001
Вопрос: Iptables проброс портов?

Лучший ответ:
пытаюсь выполнить ssh 192.168.0.4 -p 2222 получаю фигу
Логично, ведь на 192.168.0.4  слушается 22 порт.
Стучаться надо на  ssh 192.168.0.2 -p 2222, тогда 192.168.0.2 поменяет в соединении адреса и перенаправит запрос на 192.168.0.4, пр чем от своего имени-адреса

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

Лучший ответ:
всем огромное спасибо, разобрался! у них по умолчанию заблокирован 25 порт на сервере, капец...

Худший ответ:
1) Проверить папку SPAM
2) Написать в поддержку
Вопрос: Как заказчику тестить проект в рамках upwork?

Лучший ответ:
В чем проблема записать юзабельность на видео и предоставить заказчику?

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

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

Худший ответ:
Обычно делаю всё сам. Но понимаю, что чаще требуется использовать bootstrap, большая часть из заказов на фрилансе требуют использовать его