В первом приближении Vagrant — это такой CLI для VirtualBox. То есть, утилита, которая говорит «создать виртуалку», «запустить виртуалку» и так далее. На самом деле, Vagrant представляет собой нечто куда большее. В частности, помимо VirtualBox есть немало других так называемых провайдеров — VMWare, Amazon EC2, LXC и libvirt.
Я видел много истерии вокруг Unity (десктоп окружения, а не графического движка). Многие люди предпочитают Убунте, скажем, Linux Mint, именно потому что там MATE. Или выбирают сборки Ubuntu с GNOME/Xfce, объясняя это только тем, что не хотят использовать Unity. Сам я пользуюсь Unity на протяжении последних пяти месяцев и нахожу ее просто прекрасной DE.
Эта заметка в первую очередь предназначена для начинающих разработчиков. Во всяком случае, тех из них, кому еще ни разу не доводилось устанавливать и настраивать Nginx. Цель поста заключается в том, чтобы показать, насколько легко и непринужденно происходит эти самые установка с настройкой, а также что Nginx не нужно бояться и не стоит без лишней необходимости перекладывать его настройку на админов.
В общем, у меня новый ноутик. Мой ультрабук Toshiba Portege Z930-DKS все еще довольно хорош по нынешним меркам. Но если вам захочется запустить локально тяжелое серверное приложение, которым вы занимаетесь на работе, попрогать на Scala или, скажем, поэкспериментировать с распараллеливанием алгоритмов искусственного интеллекта, вы обнаружите, что для таких задач нынешние ультрабуки не годятся. К тому же, на Toshiba у меня стала отваливаться клавиша «N», а купить Fujitsu мне подвернулась возможность всего лишь за 70% его цены.
Как ни крути, но Java — популярный язык программирования и программистам довольно часто приходится иметь с ним дело, нравится им это или нет. Причины могут быть разные. Возможно, вы хотите запустить примеры к прочитанной недавно книге. Или вы работаете с софтом, написанном на Java (Cassandra, Voldemort, Hadoop, ZooKeeper, Jenkins, …). Или вы просто играетесь с одним из относительно новых языков под JVM, например, Groovy, Scala, Clojure или даже каким-нибудь Frege. В общем, Java уже повсюду, и хочешь не хочешь, а приходится в ней немного разбираться.
Примем за рабочую теорию, что мы здесь все взрослые и осознаем важность использования менеджера пакетов. Есть много способов упаковать приложение, написанное на Erlang, в deb, rpm или еще какого формата пакет. Здесь я опишу один из множества таких способов, основанный на использовании утилиты FPM.
Чем больше метрик вы пишите, тем лучше. Метрики помогают найти в программе места, нуждающиеся в оптимизации. По метрикам вы можете понять, что именно послужило причиной сбоя в ночь с субботы на воскресенье. Если в очередном билде имеется баг, который не удалось найти в тестовом окружении, вы сразу же узнаете об этом во время выкатки. Одним из наиболее распространенных решений для сбора метрик является Graphite.
Не знаю, как сейчас, а в свое время одной из главных причин, почему никто не хотел пользоваться Linux, было отсутствие игр под него. Точнее, игры были, но из них достойные можно было пересчитать на пальцах одной руки. Многие игры можно было запустить под Wine, но это было не всегда просто, а для рядового пользователя — и вовсе непосильной задачей. Так вот, недавно я провел небольшое исследование и выяснил, что ситуация за последние пять лет сильно изменилась.
Этот выпуск полностью посвящен Linux’ам. Я пользуюсь Ubuntu, но подозреваю, что многое из написанного также будет справедливо и для других дистрибутивов. Сегодня мы выясним, как установить самое свежее ядро и, если что-то пошло не так, откатиться к старой версии, как посмотреть список установленных в данный момент TCP-соединений, как найти руткиты в системе и не только. Предыдущие выпуски: двенадцатый, одиннадцатый, десятый, девятый.
Непрерывная интеграция (continuous integration) — это очень, очень хорошо. Вы настраиваете ее один раз, и ваши волосы моментально становятся гладкими и шелковистыми. В этой заметке будет показано, как просто происходит установка и настройка системы непрерывной интеграции Jenkins.