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

Лучший ответ:
1) Заводите массив (или html атрибут) с url до изображений. В таком случае браузер не будет их загружать. 
2) Создаем невидимый элемент img который будет служить прелоадером.
3) Биндим на него JQ метод .load
4) При прокрутки страницы до определенного изображения, передаем url картинки прилоадеру.
5) Как только он отвечает нам, ставим этот url в src или background-image.
Можно создать несколько прелоадеров, или генерировать их при необходимости, а потом удалять.
---------------
Если же нужно что-бы загрузилась вся страница, то можно сделать div:.loader {
  postition: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;

  background: red;

  z-index: 99999;
}
Дальше вешаем обработчик на окно $(window).ready ->
  $('.loader').remove()
В этом случае, сайт появится только после того, как все элементы загружены и нарисованы

Худший ответ:
Есть плагин (он платный).
ilyabirman.ru/projects/emerge
Вопрос: Какой монитор лучше для верстальщика (FullHD или WQHD)?

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

Худший ответ:
и два монитора разного разрешения для сравнительного анализа
Вопрос: Не более шестисот символов без хабраката — этого хватает?

Лучший ответ:
Имхо стало лучше. В ленте смотрю на топики. Читаю по ссылке даже если топик короткий, ибо все равно интересны камменты.

Худший ответ:
А я и не заметил разницы =) Может все стали хабракатом пользоваться видя обрывки в конце?
Вопрос: В какую энергию преобразует CPU потребляемое электричество при своей работе?

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

Худший ответ:
CPU тратит энергию на работу - т.е на движение внутри процессора, на нагрев, на излучение.наблюдается "работа" (преобразование информации), которая не является "работой" с точки зрения физики,Нет. Там не наблюдается никакой работы по преобразованию информации.
Как вы верно заметили это вообще не является работой с точки зрения физики.
Там выполняется работа  - движение электронов, нагрев, излучение.
Чтобы заставить что-либо двигаться быстрее нужна энергия, чтобы нагреть что-то нужна энергия, чтобы заставить тело активней излучать тоже нужна энергия.
C точки зрения физики абсолютно одинаково - что процессор просто греется, что вычисления производит. 
Это одна и та же работа.
Поэтому процессор это довольно эффективный нагревательный элемент.
Вопрос: Лучшая программа для управления финансами?

Лучший ответ:
Zenmoney
Уже года 3 с ними работаю.

Худший ответ:
Управление финансами - это слишком расплывчатая цель. Чтобы получить адекватный ответ, вам нужно более чётко сформулировать задачи, для решения которых ищете программу.
P.S. В большинстве случаев для небольшого бизнеса подойдёт именно Excel. Плюс этого решения заключается ещё и в том, что пока вы его будете настраивать под свои задачи, много нового узнаете об экономике своего бизнеса (проекта).
Вопрос: Ограничение скорости на микротик?

Лучший ответ:
wiki.mikrotik.com/wiki/%D0%A0%D1%83%D0%BA%D0%BE%D0...
А касательно количества устройств - если они за NAT (а скорее всего так), то никак (можно косвенно, снифая траффик, но этот вариант не для вас судя по всему).

Худший ответ:
Ограничить скорость - l0ser140 дал неплохую ссылку. Про как узнать сколько подключено там - по мне проще сделать статику для "своих" устройств, и посмотреть сколько "чужих". Например, через Leases в DHCP-сервер. Либо в онлайн режиме кто грузит канал: Tools - Torch
Вопрос: Где купить теплоизоляцию 1мм?

Лучший ответ:
"Теплоизоляция толщиной 0,5-1,5 мм" ничего толком не теплоизолирует, вот ее и нет нигде...
А так - байковая тряпочка, мягкая салфетка, что угодно в этом роде - эффект будет одинаковый.
"желательно самоклеющуюся" - как советовали, "пенофол 2мм самоклеющийся" разрежьте по толщине, или спрессуйте до нужной толщины. Или из женского ассортимента - "Ежедневки" - тоже самоклеящиеся и толщину без проблем отрегулируете.

Худший ответ:
Отличный сайт, на котором вам помогут с выбором теплоизоляции и не только ost-drain.ru
Мне очень помогло
Вопрос: Программирование под IOS. Objective-C или Swift?

Лучший ответ:
Если у Вас ноль знаний по ObjC, то теперь уже скорее swift. Теперь уже = после релиза xcode 7 и swift 2.0. Раньше я бы Вас сказал, скоре ObjC.
Однако, не верьте тем, кто говорит, что Apple отдает предпочтение Swift. 
И не верьте тем кто говорит, что Apple отдает предпочтение ObjC. 
Что там в головах у разработчиков Apple, имхо и Богу неизвестно. 
Они на забили на ObjC, он развивается. Например, в релизе xcode 7 в ObjC появились генерики и nullabilty аннотации. Поэтому, с высокой вероятностью знать ObjC тоже потребуются. Хотя многие проблемы, которые годами сидят в языке, все еще не решены.

Худший ответ:
это как плюсы или шарп для винды
обжект или свифт
Вопрос: Open source система похожая на Facebook или VK для локальной сети

Лучший ответ:
Есть просто чудо реализация Social Engine
Кряки и нуленый версии есть на nulled.cc

Худший ответ:
chinascript.ru/ вот тут вроде занимаются локализацией похожих систем, только там не совсем понятно что с лицензиями. Какое-то время думали на таком движке соц сеть в интранете поднять, но в итоге начальство купило битрикс «корпоративный портал».
Вопрос: Как сделать редирект автоматом по полному URL?

Лучший ответ:
Если с помощью апачевского mod_rewrite, то вот так:

RewriteCond %{HTTP_HOST} yyy.ru
RewriteRule (.*) http://xxx.ru/$1 [R=301,L]


Худший ответ:
не работает, лепит без слеша, как и в случае с RedirectMatch…
Вопрос: Что значат восклицательные знаки?

Лучший ответ:
Это преобразование к типу boolean, т.е. запись вида!! variable
по смыслу соответствует вот этому:Boolean(variable)

Худший ответ:
вот тут задавали этот вопрос
Вопрос: Как предотвратить многократное выполнение функции php?

Лучший ответ:
Если это кнопка, то самый простой способ присваивать после нажатия атрибут disable ...

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

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

Худший ответ:
Можно так
Вопрос: Как забрать URL при 404?

Лучший ответ:
Не редиректить, а просто отдавать html о несуществующей странице.

Худший ответ:
Передать в виде GET параметра: 404.html?from_url=/not_existed.html
Вопрос: Как удается получить заказ на бирже?

Лучший ответ:
Отвечаю как заказчик, выставлял свои заказы, получал дебильные отклики:
Большинство получаемых ответов - абсолютно шаблоны. Их авторы не потрудились даже прочитать задачу, понять, а смогут ли они ее выполнить и пр. и пр.
Это настолько достает, что многие заказчики выставляют в описании задачи ловушки типа "если вы дочитали до сюда, то можете смело мне писать, укажите в вашем отклике на мою работу ключевую фразу "ёжики не могут иметь детей потому что колючие"
Нужно откликаться так, чтобы было понятно, что ты прочитал задачу.
Можно сразу предложить варианты решения (пара предложений, без деталей).
Не надо занижать цену.
То что заказчик выбирает самого дешевого - это заблуждение.
Нормальный заказчик выбирает самого адекватного.
Низкая цена - это не показатель адекватности, а совсем наоборот.
Сам я прекрасно брал работы, даже когда начинал обращение с предложением поднять оплату в 1,5-2-3 раза относительно желаемого заказчиком. 
Разумеется, это все было не с потолка, а с моих реальных оценок сложности работ.
Не пиши отклик, если не видишь внятного описания задачи.
С большой вероятностью сами не знают что хотят и не разбираются в том, кто им нужен.
Больше времени потеряешь.

Худший ответ:
Напишите конструктивный отклик, возможно с вариантами решения. В общем, чтобы заказчик понял, что вы действительно понимаете суть проблемы и можете ее решить. Часто выбирают именно такого исполнителя, который "погрузился" в задачу еще до выполнения.
Вопрос: Зачем подавать данные в json?

Лучший ответ:
Допустим я могу через сокетное соединение передавать с node js сервера объект javascript без обертки в jsonНе можете, вебсокеты - это текстовый протокол, для передачи объектов необходима сериализация, и json для этого идеально подходит.

Худший ответ:
документация
void send(
  in DOMString data
);
void send(
  in ArrayBuffer data
);
void send(
  in Blob data
);
Вопрос: Несколько COUNT() + JOIN = одинаковые значения?

Лучший ответ:
Попробуйте COUNT(DISTINCT r.id).

Худший ответ:
Ну так при JOIN, строк то и там и там одинаковое, значит COUNT работает правильно.

Нужно сделать 2 подзапроса отдельно к каждой таблице в этом участке кода COUNT(`r`.`id`) AS `rcnt`. Ну если я правильно понял задачу.
Вопрос: Как выбрать модель из трех примерно равных по ROC?

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

Худший ответ:
Погуглите стэккинг и бэггинг.
Вопрос: Перенести файлы с одного компьютера на другой?

Лучший ответ:
На виндоус шарите папку, затем открываете её с линукса и копируете.
www.howtogeek.com/howto/29167/3-easy-ways-to-conne...

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

Лучший ответ:
Просто нарисовать фоновыми градиентами к одному блоку.
https://jsfiddle.net/02hfmet3
Адаптивный и с контентом внутри https://jsfiddle.net/kn3ha48d/

Есть еще вариант с 2мя псевдоэлементами, но подходит только для однотонного фона и фикс ширины. Во-первых, из-за обводки, во-вторых, из-за округления. Если блок будет иметь фикс ширину, то округление не важно, просто нужно скорректировать в зависимости от четности или нечетности. 
https://jsfiddle.net/xm91ny4q/

Худший ответ:
1 блок + 8 spanов с абсолютным позиционированием отрицательно к блоку
Вопрос: Как сверстать HTML email?

Лучший ответ:
Без фреймворков не обойтись, иначе мозги вскипят. Мы используем https://github.com/dudeonthehorse/kilogram
И в догонку таблица поддержки CSS разными клиентами Email https://www.campaignmonitor.com/css/

Худший ответ:
Только таблицы будут отображаться корректно во всех почтовых клиентах
Вопрос: Как сделать чтобы можно было обращаться к сайту на Django по адрессу «sitenmae.ru», а не «sitename.ru:8000» и не запускать runserver каждый раз?

Лучший ответ:
Nginx + uwsgihttps://habrahabr.ru/post/226419/
Все просто и по шагам

Худший ответ:
На DigitalOcean хороший гайд на эту тему + поищите там же про supervisor.
P.S: Если ипользуете python3, не забудьте установить python3-dev 
А по всем непонятным моментам и ошибкам(Если возникнут) есть куча информации в гугле.
Вопрос: Как запускать приложения на сервере в песочницах?

Лучший ответ:
На сервере запускай виртуальную машину и через неё пробуй. Docker и Vagrant в помошь

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

Лучший ответ:
Добавьте к видео атрибут pip="false".

Худший ответ:
Настройки - Настройки внешнего вида - Разрешить просмотр онлайн-видео в отдельном окне - Убираем галочку.
Вопрос: Оставляете ли вы авторство на сайтах если разрабатывали её в компании и стоит ли это делать?

Лучший ответ:
humanstxt.org
Можно указать учасников и их роли
Добавить раздел про компанию не проблема - формат ни к чему не обязывает

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

Лучший ответ:
Выполните в командная PHP-строке битрикса код (подставив id товара на свой)://<?php

$productId = -1;

if (!\Bitrix\Main\Loader::includeModule('catalog')) {
    throw new \Bitrix\Main\SystemException('Ошибка подключения модуля "catalog"');
}

$addResult = Add2BasketByProductID(
    $productId, 
    1, 
    [
        'LID' => 's1',
    ], 
    []
);

if (!$addResult) {

    $strError = '';

    /** @global $APPLICATION $ex */
    if ($ex = $APPLICATION->GetException()) {
        $strError = $ex->GetString();
    }

    echo sprintf('Ошибка добавления товара %s в корзину: %s', $productId, $strError);

} else {

    echo sprintf('Товар %s успешно добавлен в корзину', $productId);

}
Если будет ошибка добавления товара, то будет ясно от чего она.

Худший ответ:
Могу предположить, что товары не зарегистрировались в модуле торгового каталога при импорте. Чтобы проверить, можно поискать эти товары в таблице b_catalog_product. Если их там нет, то товары не зарегистрированы в торговом каталоге и не могут быть добавлены в корзину.
Так же проверьте, является ли инфоблок торговым каталогом.
Вопрос: Можно ли в 16 найти работу фрилансером?

Лучший ответ:
про законность на мелких суммах на фрилансе даже думать не за чем. это слишком мелкие деньги.

Худший ответ:
Да.
Вопрос: Максимальная ширина сайта в 2015 году?

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

Худший ответ:
А это что, уже тенденция? Какая разница то, если он адаптивный!
Вопрос: VirtualBox опасен ли для SSD?

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

Худший ответ:
SSD Intel 320 серии, купил сразу, как только появился в РФ. Сценарий использования: Windows с включенным файлом подкачки, 3 виртуальные машины, хром с сотней вкладок. Компьютер работает 300+ дней в году. Поверьте, вы скорее купите новый SSD, пока сломается ваш старый. Разумеется есть проблемные SSD, перед покупкой нужно читать отзывы, обзоры и лишний раз не жадничать.
Вопрос: Что делать если на почту пишет мошенник?

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

Худший ответ:
1. Сначала уточните (а вдруг) кто ваши дальние родственники, какую-то минимальную информацию о них, чтобы можно было проверить
2. Скорее всего это развод в 99.999% случаях, будьте аккуратны и есть п.1 не подтвердится - ничего не предоставляйте
3. Если п.1 подтвердится - мои поздравления !
Вопрос: Почему не находит страницу?

Лучший ответ:
изучите пеп8 - там четко указано как нужно именовать функции#
    url(r'^$', views.BookList, name='BookList'),
    url(r'^category/(?P<category_slug>[-\w]+)/$', views.BookList, name='BookListByCategory'),
    url(r'^book/(?P<id>\d+)/(?P<slug>[-\w]+)/$', views.BookDetail, name='BookDetail'),
    url(r'^contacts/$', views.ContactsPage, name='ContactsPage'),

Худший ответ:
В Django регулярки проверяются по порядку и при первом совпадении вызывают представление.
Когда пользователь в URL напишет /contacts/ - то это это будет соответствовать шаблону:url(r'^(?P<category_slug>[-\w]+)/$', views.BookList, name='BookListByCategory')
Поэтому срабатывает представление BookList. Внутри у вас скорее всего написано что-то вроде:category = get_object_or_404(Category, slug=category_slug)
Что и вызывает 404 ошибку, так как категории contacts не существует.
Исправить легко, нужно просто перенести последнюю строку наверх. Главное, чтобы у вас потом не появилась категория с slug='contacts'.urlpatterns = [
    url(r'^contacts/$', views.ContactsPage, name='ContactsPage'),
    url(r'^$', views.BookList, name='BookList'),
    url(r'^(?P<category_slug>[-\w]+)/$', views.BookList, name='BookListByCategory'),
    url(r'^(?P<id>\d+)/(?P<slug>[-\w]+)/$', views.BookDetail, name='BookDetail')
]
Вопрос: Какой роутер выбрать для впн (стоечный)?

Лучший ответ:
микротик

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

Лучший ответ:
решается например в посгресе внешним джойном
select *
from contacts c1
outer join contacts c2 on c1.id=c2.id
where c1.user_id=x and c2.user_id=y

Худший ответ:
В T-SQL (MS SQL) можно через операции над множествами:WITH User1Contacts AS (
    SELECT id as cotact_id FROM contacts  WHERE user_id = 1
),
User2Contacts AS (
    SELECT id as cotact_id FROM contacts  WHERE user_id = 2
)
SELECT * FROM User1Contacts 
EXCEPT
SELECT * FROM User2Contacts
INTERSECT наоборот выберет только общие контакты
UNION - объединение контактов обоих пользователей (без дубликатов)
Т.е. говоря языком операций над множествами
INTERSECT = A ∩ B
UNION = A U B
EXCEPT = A \ B
Вопрос: Docker — архитектурные вопросы о деплое и не тольно?

Лучший ответ:
1) nginx-proxy
2) копируйте исходники в образ (в dockerfile), собирайте либо локально либо на CI-сервере эти образы и пушьте их в docker/distribution (либо платный docker-hub либо разверните свой, это с докером делается за минут 10).
3) Прямо в контейнере с PHP. Либо заведите отдельный контейнер для php-cli и зачедите отдельный контейнер для исходников, и через volumes_from расшарьте между ними. Вариант с cron на хосте тоже достоен существования, но это не ок в большинстве случаев.
4) обновлять базовый образ. А там уж как организуетесь.
5) Можно, смотрим пункт 2.
6) Вообще тут можно схитрить. Вы можете же хранить зависимости прямо в репозитории, в смысле коммитить вендоры. Но вы этого не делаете. На момент когда запускается docker build ваших образов, все зависимости уже должны поставиться. И для каждого из перечисленных вами средств разработки уже есть свой контейнер, готовый. Берем и юзаем.
7) как мы выяснили в пункте 6 - композера на проде быть не должно. вообще как, вы оттещенный образ со стэйджинга должны просто "мувать" на продакшен. В этом плане риски при релизе минимальны.
8) тут опять же по разному. Мне удобнее прямо из контейнера коннектиться например в sentry или graylog и скидывать туда логи. Ну или мы должны пихать логи в stdout/stderr контейнера и далее агрегировать их снаружи, тут так же есть куча вариантов.
9) все это отдельные контейнеры, все это вместе связывается башем и docker-compose. Все это разварачивается либо через docker-machine и CI либо просто через CI. Docker-machine будет "удобным" только с версии 0.7 или 0.8.

Худший ответ:
Зачем в наше время пилить Docker вручную, когда есть Nomad, Kubernetes, Mesos, Swarm, Cocaine или, на худой конец Consul
Вопрос: Как запустить 2 сайта на локале?

Лучший ответ:
<VirtualHost 127.0.0.1:80>
    ServerName  www.ez.dev
    ServerAlias ez.dev
виртуалхост такой же должен быть, меняется только домен
далее надо привязку имени с ip сделать, 
делается в файле etc/hosts
127.0.0.1 ez.dev
127.0.0.1 dt.dev

Худший ответ:
Вы порт 8888 указывали в ez.dev?
А вообще поставьте порт 80 в обоих случаях.
Вопрос: Как сделать принудительную работу связки NGINX+Apache с http на https?

Лучший ответ:
В вашем вопросе нет сути ибо понять написанное можно вообще множеством способов :)
Вам необходимо принудительно перенаправлять пользователей c http на https?

Худший ответ:
Недавно нашел тут!blog.kplus.pro/adm/how-enable-https-on-website.html
Плюс еще получение сертификата от Woosign
Насколько получение сертификата тебе актуально я не знаю. Но есть nginx и про http, httpsserver{
    listen 80 default_server;
    server_name exemple.com;
    rewrite ^(/.*)$ https://$host$1 permanent;
}
Вопрос: Уместен ли return в void функциях? Как лучше else-if-else или множественные return`ы?

Лучший ответ:
Стандарт кодирования, это такая вещь, из-за которой любят поломать копья. Он - как поэзия, сложно измерить его вклад в вашу жизнь. На мой взгляд, самое правильное - сформулировать свой стандарт (он может на 100% совпадать с каким-то уже существующим), обосновать его самому себе и жить спокойно. Стандарт можно пересматривать по необходимости время от времени.
Скорее всего, вам нужно разбить эту функцию на две (или больше). Без полного кода точно не сказать.
Существует мнение, что чем меньше уровней вложенности в коде (второй вариант), тем лучше. Но это только мнение и вы сами должны понимать, когда его принимать в расчет, а когда нет.
Разумеется, это понимание нужно выработать, но сделать это можно только практикуясь. Так что, пишите код, читайте книги, читайте чужой код и постепенно выработаете свой стандарт (Хотя, почитать что-нибудь на эту тему, конечно, совсем не вредно - https://refactoring.guru)

Худший ответ:
Портянки if-else не любит никто. Это раз. Некоторые не любят множественные return`ы. Это два.
Лично для меня удобен вариант с return`ами. 
Если сравнивать, с большим количеством вложенных if-else`ов, код становится разреженным - сложно глазами все удержать. А с return`ами более компактно получается. 
Кроме того, если, например, метод запускается с некоторой вырожденной комбинацией параметров и часть кода получается незадействованной, то сразу видно, что в таких то условиях в методе никаких больше действий выполнятся не будет, а не искать где-то там в конце закрывающие скобочки и разбираться относится ли оператор в межскобочном пространстве недалеко от конца метода к данной области видимости.
Множественные return`ы не любят потому, что вроде как одна точка входа и одна точка выхода - это хорошо. Что, мол, бывают случаи, когда независимо от условий, перед выходом из метода нужно будет выполнить какое-нибудь общее действие, типа освобождения ресурсов. Но, это бывает далеко не всегда. И слепо следовать принципу: "одна точка входа/одна - выхода" не стоит. 
В общем, ответ на ваш вопрос: "Пиши читабельный код и DRY (Don`t Repeat Yourself)"
Вопрос: Какие требования для web-developer php?

Лучший ответ:
вы написали все скилы которые ему нужны, их в вакансии и укажите

Худший ответ:
Прикольные HR'ы нынче пошли.какие дополнительные (или основные) фрейм-ворки должен знать для наших задач?
Может быть, это мне вас стоит спросить? Для ваших же задач, а не моих вам нужен разработчик.я в этом особо не разбираюсь, поэтому хочу вникнуть.
Просто так, получив ответ на 1 вопрос на тостере, вы не вникните в это. Для того, чтобы вникнуть - в этом нужно "вариться".Помогите, пожалуста, определить требования и критерии отбора, которые помогут найти нужного специалиста :)
Вы бы хотя бы написали, на какую позицию разработчика рассматриваете. middle, senior?
Вопрос: На чём лучше поднять почтовый сервер для малого предприятия?

Лучший ответ:
Zimbra, ставить одной командой, настраивается ещё проще, есть интеграция с АД

Худший ответ:
просто я хотел засунуть почтовиый сервер в докер, что бы потом его было проще перенести на другой сервер, да и проблем с обновлением безопасности не было, а то до этого у нас стоял сервер на RHEL 5 к которому никто не прикасался уже лет 5, и когда встал вопрос с обнавлением (а там так же крутился оракл несколько сайтов, плюс оракловый веб сервер) и в общем обновление exima привела к массовой поломке всего и вся. В связи с этим я захотел развести все сервисы по докам: апач в своём доке, почта в своём
Вопрос: Разница в git и mercurial?

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

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