Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как сделать очередность товаров?

Лучший ответ:
добавьте колонку sortorder и сортируйте по ней.

Худший ответ:
1. Как советовали выше, добавляем колонку (у меня называется priority - дело вкуса).
2. Определяем ее, например, как decimal(6,3) - то есть число с тремя знаками после запятой.
3. Для новых объектов заполняем ее значением max(priority)+1 - вставка в конец.
4. Когда пользователь решает перетащить объект на другую позицию, получаем значения предыдущего и следующего элементов. Если нет предыдущего, считаем его за 0, если нет следующего - за предыдущий+1. Записываем для сортируемого объекта priority = (prev + next) / 2.
5. Если очень много раз таскать туда-сюда, можем получить ситуацию, когда соседние priority отличаются на 0.001 - обрабатываем этот случай в коде, пересчитывая приоритеты так, чтобы увеличить интервал. Или просто переиндексируем все целиком в фоне с какой-то разумной регулярностью.
Таким образом для сортировки нам нужно выбрать только два объекта одним запросом и изменить только одну строку.
Вместо дробных значений можно тупо добавлять новые с большим шагом - max(priority)+1000.
Вопрос: Cookie-редактор?

Лучший ответ:
возможно firecookie?
addons.mozilla.org/ru/firefox/addon/firecookie/

Худший ответ:
Cookies Manager+ — не пожалеете!
Вопрос: Как создать api дал чужого сайта?

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

Худший ответ:
WrapApi в помощь
Вопрос: Как это свертсать?

Лучший ответ:
<div class="contacts">
	<div class="contacts_item phone">
		<a href="tel:88001234567">
			<span class="code">8/800/</span> 123-45-67
		</a>
	</div>
	<div class="contacts_item phone">
		<a href="tel:+74732564836">
			<span class="code">+7/473/</span> 256-48-38
		</a>
	</div>
	<div class="contacts_item mail">
		<a href="mailto:info@сельхоз-корма.рф">info@сельхоз-корма.рф</a>
	</div>
	<div class="contacts_item callback">
		<a href="#">Заказать обратный звонок</a>
	</div>
</div>

Худший ответ:
а что сложного?
вот такой html используй и стилизуй:<ul>
	<li><span>8 /800/</span> 123 45 67</li>
	<li><span>+7 /473//</span> 256 48 36</li>
	<li><i class="icon-mail"></i> <a href="#">info@сельхоз-корма.рф</a></li>
	<li><i class="icon-call"></i> <a href="#">Заказать обратный звонок</a></li>
</ul>
Вопрос: Можно ли писать приложения — игры на Android?

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

Худший ответ:
Я так понимаю, что тут два вопроса:
1) Можно ли писать игры на андроиде по технологии приложений - без openGL, используя только стандартный UI/Canvas
2) Можно ли игры писать в Android Studio
На оба вопроса ответ - да.
1) Все зависит от игр. Это давно широкое понятие. Написать 2048/сокобан/тетрис - можно без openGL. Или TextRPG - тоже игра. Написать что то с мощным графонием на стандартном канвасе - вряд ли получится оптимально. Можно конечно, но тормозить будет, да и неудобно в плане тех.процесса.
2) Ну это вообще банально. Android Studio - всего лишь навороченный текстовый редактор. И никаких уникальных технологий для разработки она не дает. Можете писать в чем угодно - и будете иметь доступ к тем же методам, функциям и возможностям. Может чуть усилий придется приложить для получения доступа, но проблем с этим нет никаких.
Вопрос: Первое приложение на javascript или как начать?

Лучший ответ:
Вот незаменимая вещь www.codewars.com/. Потренируйся на 8 уровне, поймешь, что слишком просто иди на уровень выше. Не гонись за рейтингом только, лучше разберись в основах. И с пользой и с интересом.

Худший ответ:
Тут недавно интересовались аналогом select2 без jQuery зависимости. Сделайте.
И вам практика, и народу польза.
Вопрос: Какое условие выбрасывания StackOverflowError?

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

Худший ответ:
В дополнение к предыдущему ответу - есть параметр -XX:MaxJavaStackTraceDepth=1024. Т.е. если размер стека вызовов превысит 1024, будет брошен StackOverflowError. По умолчанию выставлено 1024. Но это, как уже было сказано, не единственная возможная причина возникновения данного исключения.
Вопрос: Куда в linux можно деть свободные 6gb оперативной?

Лучший ответ:
Вынуть планочку и продать, очевидно же!

Худший ответ:
У меня свободное место занимают кэши ФС.
Вопрос: Поиск одинаковых символов в строке и их замена. Какие функции лучше использовать?

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

Худший ответ:
strcpy
Искать и считать число повторов лучше вручную, т.к. конкретно такой функции нет.
Вопрос: Linux и swap

Лучший ответ:
vm.vfs_cache_pressure
vm.swappiness
в помощь. настраивайте как вам нравится.

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

Лучший ответ:
codepen.io/Geyan/pen/VPdgZE?editors=110  так вроде 
Дэмо: 

Худший ответ:
Всем спасибо за помощь)
С каждого варианта взял долю решения и всё получилось codepen.io/anon/pen/OWEdGR?editors=1100
Вопрос: Когда вообще используется этот List?

Лучший ответ:
Ваш эксперимент далёк от идеала. Сделайте примерно 1000 одинаковых экспериментов и возьмите среднее + если мы измеряете время вставки, то ненадо учитывать время заполнения контейнера. Надо вызвать resize у вектора и листа, заполнить их (не push_back'ом), а потом измерить время вставки, и так примерно 1000 раз, каждый раз с новым вектором и листом.  И время замерять, после того как вы получили итератор на нужное место в листе, а не до. Т.е. только время вставки.
Про оптимизации пока умолчим.
Применяется лист в зависимости от данных и используемых алгоритмов. Где актуальны приемущества листа (читайте документацию, какие), там и применяется. + еще надо уметь пользоваться контейнерами (а то потом начнется про то что, например, вектор работает медленно и памяти много жрет или что в листе долгий доступ по индексу).
PS Время так можно замерять: en.cppreference.com/w/cpp/chrono

Худший ответ:
У вас получился тест на линейное заполнение контейнера. Одна вставка в середину на результаты не повлияет и разницы между list и vector вы не увидите. Попробуйте вставлять элементы в начало контейнера - картинка будет совсем другой.
Вопрос: Как создать N-последовательность взаимно-контрастных цветов?

Лучший ответ:
Самое надёжное - брать из заранее подготовленного набора цветов. Если хочется именно генерировать, то попробуйте использовать цветовой круг. На противоположных сторонах круга находятся взаимно контрастные цвета. Если взять нечётное (для простоты алгоритма) количество цветов N = 2n+1, то сдвигаясь на каждом шаге на 360*n/N градусов по кругу будем получать цвет, контрастный к предыдущему.

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

Лучший ответ:
Плагин WP-Recall уже выводит и кабинет автора и в нем все его публикации, с пагинацией. С указанием статуса записи (опубликовано или черновик)
А так - все придется делать самому - пагинацию через отступ offset

Худший ответ:
Если в Настройки -> Постоянные ссылки выбран какой-то вариант кроме "Простых", то должно работать так:http://адрес_сайта/author/имя_пользователя/
Вопрос: Когда может понадобиться сохранять объект класса внутри себя?

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

Худший ответ:
Когда конструктор принимает какие то аргументы, так делают. Рекурсия.
Вопрос: Какие есть альтернативы для Gulp, Grunt?

Лучший ответ:
Поскольку вы скорее всего остановитесь на gulp (он шустрее), обратите внимание, что у него есть плагин совместимости с grunt-тасками. То есть смысла в grunt после этого не много.
Альтернатив больше не знаю, но думаю их толком нет - тут уж слишком всё зависит от популярности - активности сообщества.

Худший ответ:
еще, если вы используете модули (и стоит их использовать, 2016-ый год все же), рекомендую глянуть webpack или system.js.
Вопрос: Что не так с Windows 10?

Лучший ответ:
"Ноутбучные HDD" - бывают разные. 5400 оборотов, 7200 оборотов, или SSD (которые так же разнятся по скорости чтения/записи). Уточните, какой у Вас и можно будет отталкиваться от этого. А так в целом, классический вариант "ноутбучного" HDD - это 5400 оборотов и они действительно довольно медленные. В ноутбках по определению все решения "медленные", для экономии батарейки, как минимум.
Помимо модели HDD, запустите "Монитор ресурсов" (есть встроенный в систему, от 7-ки и выше точно), посмотрите какие приложения и какую нагрузку создают, тогда уже можно будет обсуждать вопрос более детально.

Худший ответ:
 Ноутбучные HDD НАСТОЛЬКО медленные? Или это фича 10ки? И то и другое.
1)Ноутбучные винты значительно медленнее десктопных. Это основной тормоз ноутбука. Решение - замена HDD на SSD.
2)Десятка штука самостоятельная запускает множество процессов не сильно спрашивая об этом пользователя. Вещь в себе. И диск грузит временами прилично.
Вопрос: Восстановление пароля ICQ при похищении номера?

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

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

Лучший ответ:
Если тяжело идет то может лучше заняться тем что легко идет, например продажами ? Продажники тоже нужны, иногда даже больше чем программисты.
Python можно учить по официальному туториалу https://docs.python.org/3/tutorial/index.html
Если тяжело идет то лучше поискать сферу которая получается легко. Деньги те же а напряга меньше.

Худший ответ:
Все зависит от Вашей цели. 
Вообще у них есть 2 бесплатных курса - основы программирования, и только недавно вышел бесплатный курс по PHP, можно быстренько их просмотреть, и поймете, чего примерно ждать от курса по Питону.
Вопрос: Через что лучше осуществлять вставку/обновление большого количества записей в YII2, DAO, или AR?

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

Худший ответ:
Если данные правильные то дешевле будет DAO. Если нужна вальвация или присутствуют какие-либо события в модели на сохранение то AR.
Вопрос: Как очищать кэш определенного приложения(программно)?

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

Худший ответ:
зашифруй девайс и вопрос закрыт.
Вопрос: Как в Яндексе искать сложные выражения со спец символами?

Лучший ответ:
Use Google.
Google только недавно научился искать спецсимволы, Яндекс пока что этого не умеет.

Худший ответ:
Ну теперь ваш вопрос в топ1 по запросу=) Выводы сами сделаете?
Вопрос: Digital Ocean убивает процессы пользователей?

Лучший ответ:
Мое предположение, что вам нужно научиться использовать systemd

Худший ответ:
у вас кончилась память и системный линуксовый киллер убивает процесс чтобы система могла жить
как то вы удивительно запускаете джава приложения на 512 мб , экий вы кудесник то 
вы бы еще на 64 и джава ме бы запускали
Вопрос: Как сделать обьясняющую GIF-анимацию?

Лучший ответ:
Могу объяснить как такое сделать на андроиде.
Сначала надо записать видео всех действий с телефона.
Для этого подключаем телефон через USB-кабель к компу (должен быть включен режим отладки через  USB). Можно так же включить в настройках телефона отображение нажатий на экран.
Затем из папки, где установлен андроид SDK (у меня это d:\Android\sdk\platform-tools\) выполняем команду
adb shell screenrecord --bit-rate 8000000 --time-limit 30 /sdcard/video.mp4
Теперь будет писаться 30-секундный ролик всех наших действий на телефоне с битрейтом 8Mbps.
Забираем полученный mp4, редактируем в видеоредакторе и делаем из видео gif-ку. Инструменты можно поискать в сети. Есть так же онлайн-конвертеры

Худший ответ:
Делал и делаю на Flash, можно экспортировать в gif
Вопрос: Как подключить @font-face к кириллице?

Лучший ответ:
При генерации шрифтов в белке есть опция Subsetting. По-умолчанию — там «Western Language», кириллица в них не входит.
Выбирайте нужное (No Subsetting или Custom) и будет вам счастье.

Худший ответ:
Либо в EXPERT... настройках включайте кириллицу у шрифта - скрин, либо выбирайте BASIC настройки (в Basic по-умолчанию все символы используются и ничего не вырезавется)
Вопрос: Unity 5: Как сделать управление под Андроид?

Лучший ответ:
Я начинающий художник, но рисовать я пока не умею.  У меня есть много отличных идей. Я решил нарисовать Мону Лизу с загадочной улыбкой, как у Саши Грей. Я уже самостоятельно нашёл лист бумаги, но не получается пока нарисовать. Подскажите, Мону Лизу лучше рисовать карандашом или синей ручкой? Листок я буду прижимать левой рукой, а карандаш правой. Мне подсказали, что ещё бывает стирательная резинка, но я пока не знаю, как ей пользоваться.
P.S. Если есть вакансия бойфренда для какой-нибудь симпатичной девушки, прошу, возьми меня.

Худший ответ:
Класс. Разработка игра скатилась в асканье и таскание ассетов. Напиши за неделю 3-4 прототипа. Выбери 1. Отполируй и отладь. Чего как не програмист.
Вопрос: Как поддерживать две версии приложения (платная и бесплатная)?

Лучший ответ:
Конечно, можно использовать 2 ветки, конечно, можно делать все в одной ветке и понатыкать везде #ifdef FOR_NISCHEBROD, FOR_REGULAR_CLIENT, FOR_RICH_ONE, конечно, можно расставить тэги, чтобы было проще искать эти места в будущем. 
Но, при увеличении объема логики придется прибегнуть к использованию шаманского бубна, ритуалу выстрела в свою ногу и мольбы праотцам. Добавлять/править логику в этих кусках будет очень непросто.
Другой вариант. 
Делать приложение модульным, где основное приложение является лишь каркасом с базовой функциональностью, лежит в отдельной репе, тестируется отдельно от всего, и где модули это подключаемые расширения (Компоненты, DLC, LIB, Whatever), у которых есть API интерфейс для расширения функциональности основного приложения, и каждый лежит в своей репе. 
Более того, их можно будет тестировать, как вкупе, так и отдельно от основного приложения. При сборке указываем только требуемые расширения. Нэкст лэвэл - подключать расширения динамически, то есть без сборки с приложением.

Худший ответ:
Достаточно использовать один репозиторий с подключением разных библиотек/модулей (с вынесенным/разделённым функционалом) к ядру (основная логика) при компиляции версий.
Вопрос: Как поставить тире в grep?

Лучший ответ:
grep "\-site/" входной_файл

Худший ответ:
longclaps не совсем прав
Правильно так:\-site\/
Попросту, нужно экранировать некоторые символы, поскольку они являются синтаксисом регулярного выражения.
rubular.com/r/di7PUGZ0Mq
Вопрос: Подготовленные запросы в yii2?

Лучший ответ:
Попробуйте вот так:$where = ''; 
if(!empty($filter_time)) $where =" and date_created > now()-Interval :filter_time minute ";
if(!empty($filter_category))
$where.= "and path LIKE ':filter_category%' "; 

$sql = Yii::$app->db->createCommand("SELECT COUNT(*) FROM Pages
JOIN categories ON categories = id_categories WHERE status = 1 $where")
  ->bindValue(':filter_time', $filter_time)
  ->bindValue(':filter_category', $filter_category)
  ->queryScalar();

Худший ответ:
Есть такой код
убейте того кто его написал.SELECT COUNT(*) FROM Pages
Зачем использовать framework если не использовать AR и другие его плюшки?Как, правильно прописать bindValues().
Пример из доков:$post = Yii::$app->db->createCommand('SELECT * FROM post WHERE id=:id AND status=:status')
           ->bindValue(':id', $_GET['id'])
           ->bindValue(':status', 1)
           ->queryOne();
ссылка на доки на русском: https://nix-tips.ru/yii2-api-guides/guide-ru-db-da...
ссылка на доки на английском: www.yiiframework.com/doc-2.0/guide-db-dao.html
Вопрос: Что могут спросить на собеседовании. Ruby, RoR?

Лучший ответ:
Что такое before_filter и что для чего нужен?Что такое MVC?Расскажите как вы пишете тесты?Чем модуль отличается от класса?Какие БД знаете, юзали? Чем отличается mongoDB от mysql? Что такое rake?Что такое environment?Что такое routes? Назовите гемы которые вы используете?Чем отличается авторизация от аутентификации? Какие гемы для этого используются?Что такое rails console? Для чего вы ее используете?При запуске rails server говорит, что такой порт занят, как убить запущенное на нем приложение?
Вспомнил что смог. Удачи :)

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

Лучший ответ:
jshint
jscs
uglify-js
https://codeclimate.com/
тесты-тесты-тесты
З.Ы. Будьте готовы к тому, что в случае работы в команде - 99.99% ваш gjs придется выкинуть. Очень рекомендую по тыкать на досуге live templates в WebStorm

Худший ответ:
Где можно почитать о "правильном" создании компилятора, а то сейчас один огромный костыль отсроенный на регулярках.
гуглить "лексеры, парсеры, абстратное синтаксическое дерево" и т.д. Вы можете взять свой синтаксис, построить AST, обработать его что бы вышел AST итогового JS-а и потом дампнуть его в JS (благо есть готовые библиотеки)
Но в целом лучше дождитесь web assembly и не заставляйте людей писать на вашем самодельном препроцессоре.
По поводу библиотек для статического анализа - eslint.org пожалуй самый мощный из имеющихся в опенсурсе.
Вопрос: Проблемы в работе сайта на bitrix?

Лучший ответ:
Это касается чисто настроек php сервера.
Вот попробуйте время жизни сессии 3 часа - в файле php.ini устанавливаем следующие параметры:session.gc_maxlifetime = 10800
session.cookie_lifetime = 10800
Если у вас нет возможности внести изменения в файл php.ini, то можно сделать установку этих параметров при помощи файла .htaccess. Для этого вносим в него следующие строки:php_value session.gc_maxlifetime 10800
php_value session.cookie_lifetime 10800
Кроме того, вы можете установить время жизни сессионной куки из PHP при помощи функции session_set_cookie_params. К примеру:<?php
session_set_cookie_params(10800);
?>

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

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

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

Лучший ответ:
%body
    %header
        .container
Обычно так все делают

Худший ответ:
Положите то, что вы хотите растянуть, в ещё один блок и задайте ему ширину 100%.%body
   .container width=100%
     .container
       %header
Вопрос: Как развить в себе аналитические способности и математическое мышление?

Лучший ответ:
тренируйтся.

Худший ответ:
Математика не поможет научиться программировать. Но освоив такие понятия как функция, выражение, переменная, в математическом плане станет легче осваивать материал по программированию. Нужно понять что вызов функции эквивалентен ее значению. Попробуйте сразу в питоне освоить  lambda, filter, map, reduce вдруг пробьет. Но не огорчайтесь если сперва покажется трудным. Нужно пересилить свой мозг.
Вопрос: Как использовать normilize с gulp?

Лучший ответ:
1. Если у тебя уже установлен Gulp и настроен локально в папке проекта, то в консоли переходишь в папку этого своего проекта и вводишь npm install node-normalize-scss --save-dev
2. Потом в основном sass-файле делаешь импорт @import "normalize";
3. В таске по компиляции sass в css в пайп добавляешь строчку кода includePaths: require('node-normalize-scss').includePaths
Вот полный код и документацияvar gulp = require('gulp');
var sass = require('gulp-sass');
 
gulp.task('sass', function () {
  gulp.src('path/to/input.scss')
    .pipe(sass({
      // includePaths: require('node-normalize-scss').with('other/path', 'another/path') 
      // - or - 
      includePaths: require('node-normalize-scss').includePaths
    }))
    .pipe(gulp.dest('path/to/output.css'));
});https://www.npmjs.com/package/node-normalize-scss

Худший ответ:
Подключить сгенерированный css, я полагаю:<link rel="stylesheet" href="normalize.css">
Также можно глянуть предоставленный в репо test.html: https://github.com/appleboy/normalize.scss/blob/ma...
Вопрос: Почему на Nginx не заводится Laravel?

Лучший ответ:
Посмотреть причину ошибки в логах nginxtail -f /var/log/nginx/error.logtail -f /var/log/nginx/access.log

Худший ответ:
Вообще PHP работает? 
Создайте файл test.php и запишите в него:<?
echo phpinfo();
При переходе по адресу вашлокальныйсайт/test.php что происходит?
Часто вижу 500 на новых серверах, потому как php5-fpm слушает не там, где надо. Сначала попробуйте тест, сообщите результаты, в зависимости от этого подскажу, где лечить.
Вопрос: Везде ли стоит использовать фото/картинки с платных фотобанков при дизайне?

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

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

Лучший ответ:
Правильно разбить на подсети, в вашем случае, означает, что между исходной маской и конечной маской могут влезть как минимум n различных комбинаций. Проще говоря, степень двойки в количестве битов, которое мы должны прибавить к исходной маске, должна быть больше или равна n.
Рассмотрим на ваших примерах.
1. 162.14.0.0/16 на 12 подсетей.
Берем ближайшую степень двойки, которая больше 12. 2^4 = 16. Т.е. маска у нужных подсетей должна быть не меньше 16 + 4 = 20. Разнумеровывать подсети, пожалуй, не буду - в задачу это не входит и даже если вы хоть немного уловили суть, полагаю, разнумеровать получится без труда.
2. 198.8.9.0/24 на 8
Аналогично находим степень двойки. 2^3 = 8. Маска подсетей - 24 + 3 = 27.

Худший ответ:
198.8.9.0/24 бейте по 27 маске получится по 30 хостов в подсети
162.14.0.0/16 на 12 подсетей получается по 5,4 тысячи хостов примерно, бейте по 19 получится по 8 тысяч хостов в подсети или по 20 тогда будет по 4 тысячи хостов
А вообще в гуглу наберите "ИП калькулятор" и будет вам счастье. Умение задать правильный вопрос содержит половину ответа.
Вопрос: Как Вы боретесь с FOUC (появлением неоформленного контента)?

Лучший ответ:
normalize.css а дальше уже смотря какой у вас дизайн был. По минимуму стилизировать всё, что может вдруг когда-то вылезти из какой-нибудь (_|_) На большее часто смысла просто не вижу идти. Опять же очень многое зависит от того, какая у вас методология вёрстки. Мож там у вас всё на reset и вот таком кошмаре ul.list-1>li>p>span+b

Худший ответ:
Просто засунуть необходимый CSS в head если его не слишком много.