Архив рубрики: Работа

Как мы работаем с удаленным дизайнером

При создании дизайна всегда возникает не малое количество правок по макетам. Invision отлично помогает во взаимодействии с удаленным сотрудником.

Централизованный мониторинг c Munin

Selection_010

Сегодня настроил централизованный мониторинг c Munin.

Munin позволяет мониторить показатели работы сервера, такие как загрузка процессора, память, работу диска, сеть и т.д. Для него написано много плагинов, в том числе для postgresql, rabbitmq.

Читать далее

Munin 2.0.9 на Ubuntu 12.04 lts

В прошлом посте рассказывал об установке munin и настройке мониторинга nginx, mysql и postgres с помощью PyMunin. В данной заметке речь пойдет о том, как обновить до последней версии сам munin.
Веским поводом обновления для меня послужил изменившийся интерфейс и набор дополнительных плагинов, а точнее возможность мониторить celery, mongo, passanger.

Ставить будем иэ экспериментального репозитория.

Добавляем в /etc/apt/sources.list запись:

deb http://ftp.debian.org/debian experimental main

Устанавливаем пакет из эксперементадьного репозитория:

apt-get update
apt-get -t experimental install munin

Запускаем shell perl.

perl -MCPAN -e shell

Далее с каждой из библиотек из списка ниже делаем «install»

Time::HiRes
Storable
Digest::MD5,
HTML::Template
Text::Balanced
Params::Validate
TimeDate
Net::SSLeay
Getopt::Long
File::Copy::Recursive
CGI::Fast
IO::Socket::INET6
Log::Log4perl
IPC::Shareable
Log::Dispatch
Log::Dispatch::FileRotate
MIME::Lite
Mail::Sender
Mail::Sendmail
MailTools

Выходим из shell и производим автоконфиг.

munin-node-configure --shell --families=contrib,auto | sh -x

Перезагрузка.

reboot

Наслождаемся новыми возможностями Munin.

Ссылочки по Git

С не давних пор основной системой контроля версий для меня стала git. Встал вопрос о его изучении.

Ниже приведу ресурсы, которые мне помогли:

http://habrahabr.ru/post/60347/ — отличная статья, рассказывающая о работе с git.

http://pcottle.github.com/learnGitBranching/ — великолепный, интерактивный учебник по веткам.

https://git-scm.com/book/ru/v2 -The entire Pro Git book.

http://www.vogella.com/articles/Git/article.html — исчерпывающая книга о по работе с git.

Cumulus — Open Source RTMFP Server

Моя профессиональная деятельность иногда пересекается с областью Flash технологий. В рамках решения очередной задачи, мне посчастливилось найти Open Source замену Flash Media Server с его протоколом RTMFP.

Cumulus — сервер позволяющий организовать взаимодействие между Flash приложениями по RTMFP протоколу. В 2011 году он показал себя в работе вполне достойно, но не дотягивал до продакшена. Вылетал при долгой работе, приходилось его перезагружать. Ставится и настраивается он очень легко.

Если у Вас имеется более свежий опыт работы с данным сервером, то буду благодарен за любую информацию в комментариях.

Собственная проверка поля формы в Django

Данная заметка не открывает ни чего нового. Все, что здесь описано можно прочитать в документации к Django. Я лишь постараюсь привести готовый пример для валидации одного поля формы на два разных значения.

Например, нам необходимо получить от пользователя в качестве контакта «email» или «номер телефона». Пользователю требуется заполнить одно поле в форме, указав в нем одни из данных на выбор. Нам же необходимо проверить на серверной стороне что нам пришло и соответствует ли пришедшие данный требованиям.

В Django данное условие реализуется довольно легко с помощью создания собственного поля формы:

Собственно и все. Люблю Django. С ней код получается кратким и локаничным.

Мониторинг сервера (Munin)

Вот и настал тот момент, когда в поей профессиональной жизни понадобилось мониторить нагрузку и процессы сервера. Решений для данной задачи в интернете можно найти много: cacti, zabbix и т.д. Мой выбор остановился на Munin после прочтения статьи об архитектуре одного проекта.

Сервер ставится очень просто и дает базовую статистику работы сервера. Для того, чтобы мониторить MySQL, PosgreSQL, Nginx нужно дополнительно заниматься настройкой и установкой модулей для Munin. На помощь приходит любимый Python, на котором написан пакет с модулями. Подключаются модули к Munin в два счета.

О том, как «подрубить» PyMunin к Munin пойдет речь в данной заметке. Читать далее

Установка Java 7 для PyCharm в Ubuntu 12.04

PyCharm отличный инструмент для Python разработчиков к коим я с недавних пор отношусь. Решил попробовать Beta версию данной программы и обнаружил в ней замечательную вещь.

IDE в открытом проекте можно указать виртуальное окружение, в которое установлен Python. Она просканирует все зависимости и будет работать только в рамках виртальной среды. Красота!

Что-то я отвлекся от главной темы. При запуске PyCharm ругался на OpenJDK и требовал установить Oracle Java т.к. с ней программа, по заявлению разработчиков, работает лучше.

Как обычно пришлось провести пару часов в поиске решения, чтобы установить Java 7 под Ubuntu 12.04 т.к. Canonical исключил партнерские репозитории Java.

Итак, приступим. Читать далее

Пакетная загрузка с помощью FileReference

Передо мной стояла задача сделать пакетную загрузку mp3 на примере загрузки фотографий.

Flash Player накладывает ограничение при загрузке файлов. Пользователь обязательно должен выполнить клик, чтобы программно можно было запустить загрузку.

Первый вариант реализовал следующим образом: пользователь выбрал файлы -> отправляю их все на сервер одновременно. Данный вариант прожил довольно долго.

Вернувшись к загрузчику через несколько месяцев, решение нашлось. Получилось организовать последовательную загрузку.
Читать далее

archlinux, Sublime Text 2 и libpng12

Возникла проблема при установке Sublime на работе.
Требовалась библиотека libpng12, а в системе archlinux была установлена 14 версия библиотеки. Коллега подсказал, как данную ситуацию можно исправить.
Читать далее

Подкрепляйте p2p соединение в AS3 live-ом

Технология p2p от Adobe все больше набирает обороты. Мне посчастливилось поработать с ней при написании видео звонков для проекта vrublevku.ru.

Эйфория от того, что трафик между пользователями будет ходить напрямую прошла быстро. После нескольких неудачных соединений по p2p, пришлось искать решение проблемы. Альтернатива нашлась быстро — если не удалось соединится по p2p, то переключаем пользователя на live соединение. В итоге, за время тестирования обнаружилось, что больше половины пользователей соединяются по p2p. Остальные переключаются на live соединение.
Читать далее

Flex Builder 3 и Flash Builder 4.5

На работе столкнулся с одной проблемой.

Разрабатывал приложение в Flex Bulder 3. После перешел во Flash Bulder 4.5 для написания тестов.

При компиляции во Flash Builder получаемый файл весит 1.6Мб.
При компиляции во Flex Bulder приложение весит 210Кб. Разница колоссальная.

В обоих случаях использовалось одно приложение, один набор библиотек. RSL не использовался, все вшивается в swf.
Приложение использует spark компоненты: s:Group, s:RichText, s:Label, s:List, s:Button и еще пару.

У меня есть подозрение, что Flex Bulder берет только то, что нужно (то что используется в коде) из SDK. Flash Builder тянет все подряд.

Вот такая магия… Думается мне что можно создавать приложения в Flash Bulder 4.x. Затем откомпилировать его в Flex Builder 3, чтобы получить приемлемый размер. =)))

Буду рад любым мыслям и идеям, как решить эту проблему. Хочется разрабатывать во Flash Bulder и получать нормальный размер файла.

Мастер-класс JavaScript.ru

Сходил на мастер-класс по JavaScript. Прослушал следующие доклады.

Мастер-класс «Профессиональное javascript-программирование»

Основной мастер-класс, где можно узнать то, что должен знать каждый разработчик.

Он посвящен профессиональной разработке, инструментарию, который делает жизнь удобнее, а разработку — проще, а также многочисленным особенностям и фишкам javasсript.

Мастер-класс «Сложный AJAX и COMET: тонкости Web 2.0»

AJAX — это не просто запрос XMLHTTPRequest. Это серьезные сервисы, события с сервера, правильная навигация, включая поддержку History/Back и управление асинхронными событиями. Это технология COMET и будущее Web.

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

Также рассматриваются некоторые паттерны внедрения AJAX и атаки на AJAX приложения и другие вопросы, описанные в программе.

Читать далее

О NetBeans IDE

NetBeansIDE — мой выбор. Web-разработку я начинал в far, да и сейчас им активно пользуюсь. До это времени использовал ZendStudio, ZendStudio for Eclipse, Eclpse, Komodo Edit.
После Zend Studio не мог найти подходящий бесплатный IDE, но при изучении Ruby и RubyOnRails (ROR) познакомился с NetBeans. Теперь я могу изучать ROR и делать сайты на PHP в одной среде, что не может не радовать.