Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Redmine. Стоит ли связываться?

Лучший ответ:
Болшая часть кода redmine сложно назвать чем-то хорошим. Методы на 50+ строк тут считаются нормой. В проекте тонны легаси-кода. Так как история редмайна началась ооочень давно, когда даже rails еще не был мейнстримом, часть решений redmine стали конфликтовать с аналогичными решениями rails, которые появились несколько позже. Все эти проблемы решаются стандартным для руби способом, манкипатчингом. В итоге нет нормальной поддержки i18n, нет sprockets (подключить костылями можно, но даже после того как оно заведется, проблем будет достаточно), фронт из нулевых (и внешне и внутренне), адекватность внутренней логики часто под большим вопросом, особенно что касается старого кода.
Стабильная версия redmine работает на rails 4.2, но на подходе новая версия с rails 5.2.
Отдельно по системе плагинов. Если коротко, то она ужасна, хоть и работает. По факту плагин мало чем отличается от гема, все происходит в общем нэймспэйсе, как если бы мы просто добавляли код в основной репозиторий. Система предоставляет возможность иметь в каждом плагине собственные миграции и указывать зависимости от других плагинов. Но и ни тем ни другим лучше не пользоваться, если есть такая возможность. Пройденные миграции сохраняются в базу с именем плагина и плагин после этого не переименовать без плясок с бубном. Если миграции имеются в зависимых плагинах, нужно иметь ввиду, что сначала пройдут миграции одного плагина, а потом другого. Порядок загрузки плагинов - по алфавиту, если плагин зависит от другого, но тот еще не загружен, будет исключение. Есть официальный механизм решения этой проблемы, но уже сто лет как не работает, в итоге опять костыли. Хоть в редмайне и есть тесты нет единого решения для тестов в плагинах, опять костыли. В плагинах почти никто не пишет тестов. При этом постоянный манкипатчинг в плагинах меняет поведение редмайна и ес-но ломают оригинальные тесты. Совместимость между плагинами на том же уровне. Для расширения вьюх есть система хуков, но их маловато, поэтому плагины полностью переопределяют вьюхи и партиалы. Очевидно, что если разные плагины переопределяют одни и те же партиалы, выигрывает последний.
Но при всем при этом, так как это руби, обходные пути можно найти почти всегда, положительные тенденции в кодовой базе имеются, хотя и на низком уровне. С минимальными костылями можно переиспользовать систему фильтров как в задачах. Хотя с некоторой кривостью данной сиспридется смириться или долго и мучительно слать пулл-реквесты (которые в случае redmine оформляются в виде задач на redmine.org с прикладыванием патчей).
О себе. 5 лет работаю с redmine, но, так как задачи не связаны напрямую с redmine и rails, особой боли не испытываем. Жить можно.

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

Лучший ответ:
Присваиваем разные id. При нажатии на кнопку получаем значения поля https://jsfiddle.net/q4h1045m/<input id="elem1" type="text" name="quantity" placeholder="Количество">
<input id="butt" type="button" value="Кнопка"/><br><br>
<div id="str"></div>butt.onclick = function() {
		var val = document.getElementById('elem1').value;
		document.getElementById('str').innerHTML="Вы ввели: "+val;
};

Худший ответ:
<input onclick="alert(this.value)">
Получит свое значение при клике на нем<input onclick="alert(this.parentNode.name.value)">
Получит значение любого другого поля с name="name"
Вопрос: Как в yii2 проверить, отмечена ли галочка?

Лучший ответ:
Расширенная версия:[['is_checked'], 'required'],
  [['is_checked'], 'boolean'],
  [['is_checked'], 'default', 'value' => true],

Худший ответ:
Решил вот так:
['checkbox', 'required', 'requiredValue' => 1]
Вопрос: Как реализовать приложение, которое работает с удаленной базой данных?

Лучший ответ:
Попробуйте Firebase, в частности Realtime Database. Удобно тем, что никакого бэкенда писать не нужно.

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

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

Худший ответ:
Сложно )
Начните с реализации интерпретатора. Возьмите самый простой из языков, например лого или кукарачу, не знаю что нынче в школе преподают. 
Напишите лексический, синтаксический и семантические анализаторы.
Когда заработает попробуйте добавить языковых конструкций: новые операции, функции и т.д. 
Я думаю полгода - год у вас на это уйдет.
Потом возьмите какой-нибудь простой знакомый язык, basic / подмножество Java. Напишите интерпретатор.
Потом переделаете интерпретатор в генератор промежуточного кода.
Потом сделаете компилятор промежуточного кода под одну конкретную платформу.
Вопрос: Алгебра логики и алгоритмизация?

Лучший ответ:
Д.Кнут "Искусство программирования"
"Конкретная математика" (то же самое для детей)

Худший ответ:
Здесть  есть учебник по компьютерной логике, также я бы советовал “Дискретный анализ” Романовского.
А еще, можете найти в интернете гарвардской курс по программированию CS50 он переведен наверное уже на все языки мира)
Вопрос: Проблема с asycn/await?

Лучший ответ:
Почему в принципе должно быть по-другому?
Вы сделали вот такое:new Promise(function(resolve, reject) {
    seq.authenticate().then(function(result) {
        console.log("Connection ok"); 
        resolve(result);
    });
});
console.log('ttt');

Худший ответ:
Консольлог с ttt перенеси сразу за эвойт testconnection, до фигурных скобок
Вопрос: Как нарисовать обрамляющую линию вокруг располагающихся рядом фигур?

Лучший ответ:
Вот тут всё хорошо описано https://habrahabr.ru/post/144921/
Множество вершин многоугольников одного цвета составить не проблематично.
UPD. Первое пришедшее в голову решение:
Берем множество всех граней этих шестиугольников. Далее проходимся по нему и удаляем все, которые лежат между шестиугольников одного цвета. В итоге имеем множество граней, необходимых для постройки необходимой фигуры.
Можно даже абстрагироваться от шестиугольников и сделать это для любых фигур.

Худший ответ:
Это диаграмма Вороного, если вы смогли ее реализовать на каком нибудь языке, то для вас не должно составлять труда ее раскрасить. На JS такое умеет d3js , вот код модуля.
Вопрос: На каком языке пишется программа для электронного блока управления для автомобиля?

Лучший ответ:
Все зависит от модуля. По опыту в машиностроении скажу что в данный момент эбу это чистый с либо вот это. Ассемблером никто не балуется, так-как это производство, а на производстве нужно работать быстро, а писать на асме занятие затратное по времени. С++ в эбу,пока не встречал, зато активно используется в программах сопровождения, терминалах и другом embedded.
Если интересует электроника, тогда нужно учить все связанное с железом и  href="https://ru.wikipedia.org/wiki/%D0%AF%D0%B7%D1%8B%D...">вот этот ужас. Плюс основы логики, битовые операции, основы пк(ну там как работает проц и как он обменивается данными с другими частями пк, и как один пк обменивается данными с другим пк на уровне железа что бы иметь представление о том как работает электроника), принципы работы CAN строги и обязательны а также знание конкурирующих шин.
Если душа ближе к программухе тогда с/с++, алгоритмы, ооп, работа с ос, разработка драйверов, linux тут стандарт де факто так что знания этой ос на уровне уверенного администратора это минимум, знание CAN и аналогов, битовые операции(and, xor, or маски), немного логики, знание систем счисления(2,16) и умение переводить из одной в другую. Начальные знания по электронике, основы пайки.

Худший ответ:
на C/CPP/Asm
можно сюда например посмотреть для саморазвития https://rusefi.com/wiki/index.php?title=Main_Page/ru
Вопрос: Знатокам самоучкам Java, Ютуб канал с уроками для Чайников?

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

Худший ответ:
Изучал Java с нуля. Имел базовые понятия программирования со школы (переменные, ветвления, циклы, процедуры)
Вот по этому руководству: DevColibry
Вопрос: Как сделать кнопку/ссылку «смотреть полностью»?

Лучший ответ:
Использовать jedfoster.com/Readmore.js
Или просто скрывать по высоте

Худший ответ:
Попробуй так:$(document).ready(function(){
        $text=$('.main-text');
        
        $('.main-text-more',$text).click(function(e){
            if($text.hasClass('hide')) {
                $text.removeClass('hide');
            } else {
                $text.addClass('hide');
            }
        }); 
 });<div class="main-text hide">
  <p>Текст</p>
</div>
<div class="main-text-more">Подробнее</div>.main-text {
    max-height: 3000px;
    position: relative;
    overflow: hidden;
    -webkit-transition: max-height 0.7s ease-out;
    -moz-transition: max-height 0.7s ease-out;
     -o-transition: max-height 0.7s ease-out;
    transition: max-height 0.7s ease-out; 
}
.main-text.hide {
    max-height: 400px;
}
Вопрос: Нужно ли в переменной path в конце пути писать слеш?

Лучший ответ:
Можно. А иногда и нужно. Была версия Photoshop, в которой программист забыл добавить слеш. Поэтому у меня TEMP=C:\Temp\. Иначе в корне диска плодились temp*.tmp.

Худший ответ:
в PATH - не нужно. Но лишний слеш не мешает.
Для других переменных это может быть иначе.
Вопрос: Когда использовать Vuex?

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

Худший ответ:
Есть проблема - коммуникация между компонентами, не находящимися в одном иерархическом древе. Ее решение - это использование экземпляра Vue, как шины, для подписки/вызова событий.Пример в официальной документации.
Когда есть вероятность, что такое решение может быть недостаточно мощным или удобным, стоит брать на вооружение Vuex. Помимо этого, Vuex позволяет также намного более прозрачно структурировать ваш код, особенно в этом могут помочь его система модулей.
Но все же бытует мнение (не мое), что острой необходимости во Vuex нет и лишь 1% проектов может его реально потребовать. Однако это не повод от него отказываться, конечно же :)
Вопрос: Какие есть платежные системы?

Лучший ответ:
А вы подумали, - а захотят ли эти все ребята там регистрироваться?
Из универсальных - банки да всяческие Western Union.
Все новомодные технические - в любом случае охватывают только незначительную часть ваших планируемых контрагентов.
И в любом случае  - одной не обойдетесь. 
Есть очень специфические (при этом немаленькие) страны, под которые все равно придется подстраиваться.
Посмотрите любой глобальный сайт - у них по 2-3-4 альтернативы по работе с платежами.
Из универсальных - только прием платежей через карты VISA/MasterdCard. А вывод платежей - разными методами предлагают.
И то - не всех эти методы удовлетворяют. Даже в количестве 2-3-4 варианта на выбор.

Худший ответ:
paymentwall неплохо, даже в Китае работает
Вопрос: Как правильно создать окружение virtualenv?

Лучший ответ:
Это не в питоновском шелле делать надо, а в ОС(например, в bash)

Худший ответ:
Django by Example хорошая книга. Но попробуйте для начала Django Girls Tutorials. Там подробный ответ в том числе на ваш текущий вопрос (ссылка на него и ведет сразу), написанный простым для понимания языком.
Вопрос: Можно ли разрешить доступ к документ-серверу Onlyoffice только с конкретного Nextcloud/Owncloud?

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

Худший ответ:
Вот что я в итоге сделал:
Вопрос: Как вернуть определённое значение из функции?

Лучший ответ:
def DD():
    aa = "ddcc"
    dd = 2
    cc = 3
    return aa,dd,cc
result, _, _ = DD()
вот так

Худший ответ:
можно распаковатьa, b, c = DD()
Вопрос: Как делать GUI в Java?

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

Худший ответ:
Правильнее разделять логику и представление.
Вопрос: Laravel routes, что за синтаксис (uses ..., as ...)?

Лучший ответ:
uses -- это коллбек, то есть то, что будет выполнено, когда ваш шаблон пути совпадет с путем в браузере, переводится как "использовать", в примере используется метод контроллераas -- имя роута, чтобы потом к нему из view например обратиться и получить путь
судя по этому куску -- там много роутов и они связаны общими разделами, потому можно объединять их в группы и неймспейсы и тем самым улучшить читаемость кода!

Худший ответ:
uses -- это коллбек, то есть то, что будет выполнено, когда ваш шаблон пути совпадет с путем в браузере, переводится как "использовать", в примере используется метод контроллераas -- имя роута, чтобы потом к нему из view например обратиться и получить путь
судя по этому куску -- там много роутов и они связаны общими разделами, потому можно объединять их в группы и неймспейсы и тем самым улучшить читаемость кода!
Вопрос: Как обойти авторские права, изменив частично изображение?

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

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

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

Худший ответ:
Ответ менеджерам: 
"Потребуется не менее [[[1/3 от ориентировочного времени на решение задачи]]] часов на расчёт трудозатрат по данной задаче. Мне считать или приступать к непосредственной реализации поставленной задачи?"
Любой выбор менеджеров - Вы в выигрыше!)
Вопрос: На каком фреймворке сделать свою CMS для развлекательного сайта?

Лучший ответ:
0 берешь buzzy
1 доделываешь то, что нехватает, и выпиливаешь то, что не нужно
2 ураПодскажите, что лучше использовать для такой задачи: Laravel, YII, или что-то еще?
Ларавель Может есть какие-то готовые стартовые решения для последующего расширения функционала?
OctoberCMS

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

Лучший ответ:
1. Парсить однопоточно, чтобы дополнительно не нагружать сайт.
2. Поставить таймаут повыше.
3. Если страница недоступна - долбить её повторно, пока не скачается.
Долго будет парситься, но алгоритма другого нет.

Худший ответ:
Поискать в Архиве Всея Интернета
https://ru.wikipedia.org/wiki/%D0%90%D1%80%D1%85%D...
Вопрос: Как остановить всю css и js анимацию при прокрутке страницы?

Лучший ответ:
Остановить никак. При событии скролл удаляйте классы с анимацией, если это css, и установите какой-то флаг, который будет активен при скроле на жс и проверяйте его.

Худший ответ:
Подключи WoW.js и показывай то, что видно
Вопрос: Как «прочувствовать» рекурсию?

Лучший ответ:
У меня точно такаяже проблема была в свое время, тоже не понимал до конца, в итоге понятие полностью пришло когда сделал простенький метод рекурсивного рыскания по файлам.
Пример алгоритма:функция_поиска( url ){
      если (url.файл()) тогда *делаем нужное к примеру смотрим расширение или имя*
      иначе цикл_перебора_содержимого_каталога вызов функция_поиска( url )
Лично я въехал с таких задач в рекурсию.
Еще и сразу, за static методы бьют по рукам а бывает и по голове. Лучше сразу учитесь их избегать и использовать только для финализированных констант.

Худший ответ:
Как сделать этот код "правильнее", потому что не думаю что разумно было бы постоянно писать: "СколькоТроек(тожесамоечисло, тожесамое число)"?private static int ThreeCounterImpl(int number, int current) { ... }
public static int ThreeCounter(int number) { return ThreeCounterImpl(number, number); }
Вопрос: Как получить только цифры из строки MySQL?

Лучший ответ:
Не хранить в столбце значение и размерность.
Вообще.
Никогда.
Если вам нужно хранить расстояние, то создаете 2 столбцаЗначение ,  Размерность
100.25, км

Худший ответ:
В своем решение я применил такую функцию:CREATE FUNCTION digits( str CHAR(32) ) RETURNS CHAR(32)
BEGIN
  DECLARE i, len SMALLINT DEFAULT 1;
  DECLARE ret CHAR(32) DEFAULT '';
  DECLARE c CHAR(1);

  IF str IS NULL
  THEN 
    RETURN "";
  END IF;

  SET len = CHAR_LENGTH( str );
  REPEAT
    BEGIN
      SET c = MID( str, i, 1 );
      IF c BETWEEN '0' AND '9' THEN 
        SET ret=CONCAT(ret,c);
      END IF;
      SET i = i + 1;
    END;
  UNTIL i > len END REPEAT;
  RETURN ret;
END
И ее использовал в запросе:SELECT digits(t.somecol) FROM tablename
Вопрос: Как повесить посредников только на определенные RESTful роуты?

Лучший ответ:
Можно в самом контроллере указать Мидлвари:
https://laravel.com/docs/5.5/controllers#controlle...

Худший ответ:
Или через обратную функцию для группы роутов:Route::group([ 'middleware' => 'auth' ], function() {
    Route::resource('photos', 'PhotoController');
    Route::resource('other', 'OtherController');
})
Вопрос: Почему медленно работает убунту?

Лучший ответ:
Драйвера на видеокарту установлены?
У вас компиз и файрфокс на двоих съели два ядра. Это очень странно...

Худший ответ:
Если процессор - старый AMD, то в новых ядрах может быть сломан его драйвер. Это проявляется в том что частота процессора не меняется в зависимости от загрузки и всегда выставлена на минимум. В общем, в /proc/cpuinfo надо попробовать посмотреть.
Еще можно попробовать Low-Latency ядро поставить вместо стандартного.
Вопрос: Как бы вы приняли проект на поддержку/сопровождение?

Лучший ответ:
1) Нужно понимать что делает этот проект, и выполняет ли задачи которые на него возложили. Нет ли еще не реализованных фич, незакрытых багов, про которые знает только пара людей. Потому что на бумаге фича есть, а по факту она, еще не на 100% сделана, а только заложили на будущие какие то модули, или баг который воспроизводится в определённой последовательности, но вероятность попасть на неё крайне мала. Так же нужно понимать кол-во пользователей у этого проекта, чем больше тем хуже для Вас т.к доступность проекта должна быть не менее 99.95%
2) Если бы я принимал проект с таким стэком технологий и всё сопровождение ложись бы на меня, я бы потребовал документацию по этому проекту, всё что только есть, чего нет должны будут дописать старые сотрудники. И дополнительно поддержка не менее 6 месяцев(возможно платная-тут нужно рассматривать варианты).
3) Понимание стэка который используется, если вы все эти технологии знаете на среднем уровне, то хорошо, если нет искать людей на аутсорсе которые Вам объяснят что к чему и помогут за деньги поддерживать проект на плаву.
4)Обязательно заказать аудит от незаинтересованных лиц. Если бюджет позволяет, то от двух компаний. Так же проверить модули/код которые используются в проекте на "юридическую чистоту",  что бы не было ограничений на продажу проекта, предоставление проектом коммерческих услуг(платные подписки и т.п) т.к есть модули которые бесплатны для собственного использования, но платные для коммерческого использования(тут подпадает и продажа проекта, и предоставление платных опций пользователям проекта и т.п). Ну и что бы в случае чего проблемы легли на разработчика либо компанию которая делала аудит.
5)Понимать свою компетенцию, насколько Вы готовы отвечать за то что Вам передают. Опять же проект разрабатывала целая команда, а сейчас его вешают целиком на Вас. Вы в состоянии поддерживать этот проект? А развивать, фиксисть баги? Если нет, то тогда первым делать искать людей которые это могут, и принимать всем в месте. Делить проект на части и делить эти части между компетентными сотрудниками которые в состоянии в случае чего аргументировать своё решение/мнение. 
Ну для начала как то так, то что пришло в голову сразу, на самом деле там еще очень много всего. Всё зависит от конкретной ситуации.

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

Лучший ответ:
Берите топовое железо, не ошибетесь: Platform: i9/Xeon или Threadripper 2950 + MSI MEG X399 CREATION RAM: 32/64 ECC, Crusial норм, напримерVideo: MSI 1(2) RTX 2080 (можно и TI, но у них сейчас слишком много брака) ROM: 1(2) Samsung 970 PRO 1TB M.2PSU: Seasonic Titanium 1000 / Seasonic Platinum/Gold 1300 - ибо гарантия 12 лет
Корпус и охлаждение — на свой вкус и слух. Если что, кулеры Noctua рулят и очень тихие. Если видеокарт две будете брать — то имеет смысл брать БП на 1300 для оптимальной нагрузки на БП (так то и на киловатт легко потянет, но он тогда будет уже напрягаться и греться сильнее). Так что БП пусть лучше будет с запасом.

Худший ответ:
Берите топовое железо, не ошибетесь: Platform: i9/Xeon или Threadripper 2950 + MSI MEG X399 CREATION RAM: 32/64 ECC, Crusial норм, напримерVideo: MSI 1(2) RTX 2080 (можно и TI, но у них сейчас слишком много брака) ROM: 1(2) Samsung 970 PRO 1TB M.2PSU: Seasonic Titanium 1000 / Seasonic Platinum/Gold 1300 - ибо гарантия 12 лет
Корпус и охлаждение — на свой вкус и слух. Если что, кулеры Noctua рулят и очень тихие. Если видеокарт две будете брать — то имеет смысл брать БП на 1300 для оптимальной нагрузки на БП (так то и на киловатт легко потянет, но он тогда будет уже напрягаться и греться сильнее). Так что БП пусть лучше будет с запасом.
Вопрос: Какие есть хорошие и не дорогие сервисы для SMS-уведомлений?

Лучший ответ:
Некоторое время назад остановился на smsc.ru = это к вопросу о хороших сервисах. Могу рекомендовать как пример качественного продукта.
Но по-моему, есть дешевле.

Худший ответ:
В нашей компанией компании для этих целей используется сервис: https://sigmasms.ru/servisnie_rassilki/ Цена адекватная, а шаблонный трафик для уведомлений стоит не очень дорого. Рассылаемся с буквенным именем, все доходит.
Вопрос: Можно ли сделать такое с помощью Html и Css и если да, то как?

Лучший ответ:
https://habrahabr.ru/post/126207/
найди там "Звезда (5-конечная)"

Худший ответ:
Капитан Америка - CodePen
Вопрос: Где можно поговорить с носителями?

Лучший ответ:
Технический английский это не разговорный английский.
Любые lingualeo, duolingo и так далее - пару месяцев - подтянут навыки чтения и словарный запас, и грамматику. Плюс Ted Talks для закрепления. Ну и парралельно чтение документации на английском.
А разговорный вообще к грамматике мало значения имеет, тут только общаться/слушать/смотреть кино. Быстро не выйдет, но технический английский и общий уровень intermediate - обычно более чем достаточно для устройства джуна-мида.

Худший ответ:
Вы кем вообще устраиваетесь работать? Программист (не лид) не общается с иностранными клиентами. Да и с иностранными разработчиками тоже редко. Сколько устраивался работать программистом и проходил собесы - жестких требований к языку небыло нигде. Либо вы для себя планку задрали и не рассматриваете "эти вот местные конторки".
Вопрос: Что стоит почитать для администрирования VPS на 5 — 10 сайтов?

Лучший ответ:
1) Мониторинг + сигнализированрие в случае проблем.
2) Бекапы и их восстановление из ситуации "Шеф, все пропало" то есть сервак, на котором твоя VPS сдох и восстановить его нельзя.

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

Лучший ответ:
или так (останется только тени добавить)

Худший ответ:
вот так