Все записи автора shade

Vagrant и chef-solo

vagrant_header_background-482a12a7

Vagrant — это такой теоретический способ упростить жизнь разработчикам в сложном окружении. Бывает, что у приложения есть большое количество разнообразной обвязки, требуемых зависимостей, или, что еще сложнее, оно запускается только в конкретной операционной системе или с определенными версиями библиотек. Вот в этом случае Vagrant может сильно упростить и автоматизировать процесс развертывания окружения разработки.

Как это работает? Есть Vagrantfile, в котором написано, какой базовый образ виртуальной машины взять, и каким образом его налить, то есть, поставить и настроить нужный софт.

Базовый образ — это образ диска виртуальной машины от одной из популярных платформ виртуализации. Поддерживаются и VirtualBox, и Parallels и VMWare. Важный момент заключается в том, что под каждую платформу виртуализации (провайдер в терминах Vagrant) нужно готовить отдельный образ, а потом его поддерживать. Для сборки образов существует Packer от HashiCorp же, но я им не пользовался, предпочитая использовать минимальный образ, который не нужно часто обновлять.

Читать далее Vagrant и chef-solo

Несколько gems для работы с терминалом

1__ruby

Короткий список ruby gems для работы с терминалом или Rails консолью. На все случаи жизни, если потребуется что-то напечатать или спросить у пользователя. На Locum.ru очень активно используются все четыре в различных внутренних консольных инструментах.

  • Highline для проектирования интерактивных интерфейсов. Ввод-вывод на терминал, множественный выбор, цвета, все дела. Очень сильно облегчает задачу спросить что-нибудь из консоли или дать выбрать.
  • Thor для проектирования консольных приложений. Самые разные опции с кучей синтаксического сахара для парсинга аргументов командной строки. Сравнивая с далекими девяностыми, понимаешь, насколько стало проще получать желаемое.
  • Colorize для вывода цветных букв на терминал. Простой gem, который удобно использовать для выделения сервисных сообщений в Rails консоли. Как и положено хорошему инструменту, очень прост в использовании.
  • Terminal table для рисования ASCII табличек. Достаточно передать массив, а табличку он нарисует сам. Задача, для которой раньше нужно было написать кучу кода, теперь решается в пару строк.

И в качестве послесловия: в Gemfile  есть группа :console , которая подключается только из консоли.

Очень хороший пост Пети про адаптацию детей к новым условиям жизни в другой стране

Нам говорят, скоро всё тут взорвется

Пока государство очень профессионально и аккуратно уничтожает демократию в отдельно взятой стране, в социальных сетях всё чаще можно прочитать злорадные комментарии в духе: «Чем круче завернуть гайки, тем быстрее всё взорвется и Россия обновится.»

Простите, а взорвется — это как? Горящие покрышки, стрельба по Белому дому, мародеры на улицах и нечего жрать? Схлопнувшийся бизнес, передел собственности и сфер влияния, банки не выдают кредиты, суды не работают.

Такого взрыва мы ждем здесь с неподдельным интересом и замиранием сердца? Мои египетские друзья звонили мне в первые дни революции, это образованные и интеллигентные люди, занятые в сфере IT. Им было страшно. Страшно ходить на работу, за едой в супермаркет. Страшно выйти на балкон. Потому что группа сплоченных уголовников решила сменить режим и оказалась способна на это.

Не дай Бог здесь пройдёт тот же сценарий, хотя он возможен. Мы, жители интернетов, сытые специалисты на крае достижений современной науки, видим новый виток истории. Видим, но ничего не будем менять. Дух пассионарности не горит в наших сердцах, любого заметного лидера быстро низводят в СМИ до банального уголовника, который отнял у народа их ценное. Наша среда вот уже пару лет не может родить никакой альтернативы действующему строю. И не надо, не для того мы здесь. Смотрите на экранах макбуков за происходящим, ведите летописи. История идет своим путем и это пройдёт.

Но, вдруг, если инакомыслие просочится и захватит умы людей простых, открытых. Если пропустят наши власть предержащие рождение Зверя, что поведет за собой толпу, тогда вздрогнут все. Так было в Аргентине, в Египте, в Украине. Было так и в России. Я не призываю молча смотреть и терпеть, но желания ваши могут стать реальностью.

Революции — всегда регресс, учит нас учебник по истории. Давайте эволюционировать, нести знание и созидание в этот мир. Ну и гнев сдерживать.

При обновлении lxc не забудьте поправить конфиги

Начиная с версии 8.0 появился параметр lxc.network.ipv4.gateway, и, если его не добавить в файл конфигурации, маршрут по умолчанию в контейнере не встанет, и внешки на нем не будет.

Подробнее на askubuntu.com

Генерация статики на лету

Введенный в Rails 3 Assets Pipeline очень сильно ускоряет загрузку статики. С другой стороны, стало сложнее работать с по-настоящему статическими страничками, вроде 404 и 500, особенно, если они опираются на те же таблицы стилей и графику, что и остальная часть проекта.

Как мне кажется, элегантное решение получается, если при деплое генерировать html-файлы нужных страниц и включать их в сборку.

Читать далее Генерация статики на лету

Оттенки серого

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

Так получается, что мы часто забываем, что наше окружение создаем мы сами, а не какое-то гипотетическое «правительство» или «государство», его мы тоже сами создаем. И то, что нас по утрам окружает, зависит напрямую от наших действий и мыслей. К сожалению, менталитет российского гражданина второго десятилетия XXI века редко включает в себя понятия порядочности и гуманизма. Нам очень долго показывали, нас учили, что законы нужно презирать.

Что нарушать правила, воровать по мелочи и не попадаться — доблесть. Что распихать локтями, пролезть без очереди — признак сильного характера и высокой приспособленности к жизни. И вот теперь у власти, на всех государственных постах стоят тебя самые люди, которых так учили. На руководящих постах многих организаций — то же поколение. А их подчиненные и граждане (электорат) бьются в бессильной злобе, но не из-за жизненных принципов, а потому что «не повезло». Не повезло пролезть, урвать, мелко подставить, залезть повыше.

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

Хочется верить, что люди не все такие. Что сменится одно-два поколения и станет принято не обманывать и уважать других. Но пока мы сами заслужили такой мир.