Google Analytics

четверг, 4 сентября 2014 г.

Первые впечатления от Docker

Вы используете виртуализацию для разработки и тестирования? А может для каких-то своих экспериментов с новым и не стандартным ПО? В таком случае скорее всего вы уже столкнулись с главным недостатоком обычных систем виртуализации - каждый контейнер - это отдельный образ(или каталог в случае с LXC и OpenVZ), который содержит в себе полноценную инсталляцию одного из дистрибутивов Linux + дополнительно установленное ПО. При этом и загружается контейнер именно как ОС(со всеми системными службами, находящимися в автозагрузке), в то время как зачастую есть необходимость запустить в виртуальном окружении лишь парочку приложений. Да и поддержка актуальной версии базового окружения (к примеру Centos + LAMP) превращается в нетривиальную задачу.

И тут на сцене виртуализации появляется новая(и очень яркая) звезда - Docker. Docker позволяет создавать одни образа на базе других. Вы можете взять базовый образ Censtos, создать на его базе новый образ, добавив LAMP, и использовать полученный вами образ в качестве основы для десятков ваших проектов. Мало того, образ созданный на базе другого образа является не более, чем суммой отличий между состоянимем файловой системы образа, использованного в качестве базы, и вашим образом. В результате вы не только экономите время в процессе поддержвания зоопарка ваших контейнеров, но и дисковое пространство.

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

суббота, 5 января 2013 г.


Столкнулся я на днях с задачей: как измерить скорость работы флеш-брелка(моей любимой флешки ADATA S102/32GB Pro) в Linux? Специальных утилит для измерения скорости в Linux не обнаружил(может плохо искал), и решил я задействовать для этих целей тяжёлую артиллерию в лице утилиты dd.

Итак, измерение скорости записи на флешку состоит из двух этапов:

cd < путь до каталога, в который смонтирована наша флешка>
dd if=/dev/zero of=tempfile bs=5M count=1024 conv=fdatasync,notrunc

Обратите внимание на bs=5M и count=1024. Параметр bs=5M говорит dd брать данные из файла-источника блоками по 5MiB(мебибайт), а параметр count=1024 указывает, сколько раз нужно повторить данную процедуру. То есть в результате на флешку записывается файл с данными из /dev/zero размером 5MiB x 1024 = 5GiB(гибибайт). Если у вас флешка меньших размеров, стоит уменьшить или размер копируемых блоков данных, или их количество.

Результат измерения скорости записи(помним, что NTFS в Windows довольно неповоротливая ФС(по сравнению с FAT32), в Linux ситуация только усугубляется, и скорость работы NTFS вообще становится очень невысокой, кроме того на скорость работы флешки так-же повлияло отсутствие USB 3.0):

Да, я ранее запостил новость о моём новом блоге, на wordpress. Так вот, данный пост - это перепост с моего блога lordofgale.org. Я планирую часть материалов публиковать на обоих блогах, часть - только на данном блоге, или на новом. Поэтому если вам нравится данный блог, посетите и lordofgale.org, возможно там вы найдёте интересную для вас информацию.

воскресенье, 2 сентября 2012 г.

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

Скриншот сабжа сделанный сегодня для этого поста.
Старичок всё ещё жив, главная страница отображается до сих пор корректно.

Собрал материал, которого хватил бы на пару десяток страниц, но статику под хостинг на narod.ru верстать было лень. Я решил автоматизировать рутинные процессы, и зарегистрировал себе услугу бесплатного хостинга с поддержкой PHP. Написал скрипт, который роутил все запросы на index.php(при помощи правил mod_rewrite), и в зависимости от того, по какому пути вызывался статичный файл с HTML(которого на самом деле,естественно не было) брал текст и метаинформацию из набора файлов, содержащих данную информацию, и вставлял её в нужные места HTML-шаблона. Думаю, каждый в своё время начинал с чего-то подобного.

По сравнению со статикой, где не только материал, но и его оформление нужно было верстать ручками для каждой статьи(или копипастить тескст материала в HTML-шаблон ручками) - это был явный прогресс. К сожалению, посещаемость сайта была не очень большой. Ведь контента на нам было очень мало. И его  прикрыли. Кажется, нужно было что-бы сайт имел не менее десяти уникальных посещений в день... Потерял я свой первый сайт на PHP-скрипте. А его прототип с одной главной страницей на narod.ru до сих пор жив, существует сам по себе как призрак из прошлого.

Посмотрел я на своё первое творение, понастальгировал... Вспомнилось, как учил азы PHP в 2006 году, как писал себе программу-будильник на fasm в RadIDE. Она умела выключать ПК по таймеру, проигрывать звуковой сигнал или выбрнную мелодию, открывать и закрывать программу указанную в настройках. Для меня 2006 и 2007 годы были очень интересными. Изучал ассемблер, WinAPI и прочие низкоуровневые вещи. Экспериментировал с Linux. Сайт в частности верстал в Bluefilsh, под Ubuntu linux. Мне тогда казалось что я так много знаю...

С тех пор много воды утекло. Я изучил основы Python, познакомился с Javascript и, совсем немного, с Ruby. Намного лучше стал разбираться в коде на PHP. Всё это очень интересно. Хочется досконально изучить парадигмы и шаблоны проектирования. И много других интересных вещей. Наверно, жизнь очень интересная штука именно потому, что возможности нашего познания безграничны. А наш разум постоянно пребывает в состоянии голода. Это прекрасно.

Возможность вспомнить себя таким, каким я был лет 5-6 назад лишь помогает осознать, как много нового я смог узнать за этот промежуток времени. И как много того, что я  планировал изучить хотя-бы поверхностно, я так и не узнал в силу различных причин. Что не умалило моей тяги к познанию чего-то нового. Чем больше интересных вещей мы узнаём, тем интересней жить. Не останавливайтесь в своих стремлениях. Не оставляйте дело, которое можно сделать сегодня, на потом. Не получилось что-то из того, что планировалось? Не страшно, важен сам факт личного роста и вашего развития. Нужно уметь двигаться вперёд. Идти к цели, не обращая внимания на препятствия, которые могут возникнуть между вами и вашей целью.

Если вы обнаружите, что за некольео прошедших лет вы не развивались, не работали над собой - это тревожный признак. Собираем волю в кулак,  и настравиваемся на победу. И тогда обязательно настанет тот день, когда прогресс ваш станет вам заметен. А через некоторое время он станет заметен и окружающим вас людям. И не важно насколько плохи, или хороши вы в своём деле сегодня. Важно то, кем вы можете стать. Если только захотите, конечно:)

Я мечтал написать ПО, которое приносило бы пользу хотя-бы кому-то. В результате работаю над сайтом для одной компании сейчас, а до этого создал два интернет-магазина за тот учебный год, что учился курсах бухгалтерского учёта. А ведь я даже не программист, просто мне нравится работать над сайтами, настраивать и собирать ПК и ковырять различные программы.  Мечтайте, представляйте что то, о чём вы мечтаете уже у вас есть. Планируйте своё будущее. Рисуйте перед мысленным взором ваше будущее в деталях. И работайте над собой. Обстоятельства вокруг вас сами начнут складываться так, что то, над чем вы работали станет реальностью. Если только вы не забросите ваше дело раньше. Будьте тверды, и не отступайте. И тогда всё у вас будет хорошо;)