Вебмастерская Яндекса 16 ноября

__-5OXpU3j4

16 ноября сходил на вторую вебмастерскую от Яндекс. Мероприятие было на высоте. Почти к каждому докладчику были вопросы.

Несколько инетерсных советов, которые унес с собой:

  1. Дополнительно к целям, в метрике желательно отслеживать цели по 404 ошибкам, по ключевому слову «не найдено» и другие сценарии, которые выводят ошибки или пустые страницы.
  2. Нужно использовать ретаргетинг для возвращения пользователей, которые ушли с первого этапа достижения цели.
  3. Использовать canonical при наличии большого числа страниц с практически одинаковым содержимым.
  4. ipset в помошь iptables.
  5. modSecurity для Nginx

Ждем ПланБ.

Питер, туман, самолеты. 1 сентрября.

~3:45
Ночь. В иллюминаторе мелькают огоньки взлетно-посадочной полосы. Самолет достигает такой высоты, с которой складывается ощущение что ты в космосе. Сверху более ясное звездное небо, снизу его отражение в огоньках домов.

Покормили булочкой. Есть хочется…

Засыпаю…

~7:00
Подлетаем к Питеру. В 7 утра нас встречает 10° тепла и туман. Пилот оповещает о плохой видимости, начинаем накручивать круги. Запасной аэропорт объявлен — Домодедово. Покружив немного, летим в Таллин.

~8:00
Сели. Сидим. Ждем. Ждем час, ждем два… через 4 часов нас выпускают из самолета в аэропорт Таллина.

~12:30
Оказывается мы не одни воспользовались аэропортом Таллина. С нами еще около 4х самолетов. В терминале много пассажиров с детьми (1 сентября)  Выдали талон на еду в размере 10€. Стою в очереди в «столовую» длинною метров в 100.

15:00
Объявили рейс. Очередь резко сократилась. Покупаю еды, поем в самолете.

Пока ждали взлета другого самолета, заметил что на взлетной полосе выстреливают снаряды с дымом. Видимо вычисляют порывы ветра.

16:15
Питер. Еще 2 часа до дома.

Итог
За «прекрасное» время посмотрел на Таллин из окна аэропорта, пописал музыкальный трек и почитал книгу. Вполне творческое возвращение домой.

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.

Интроверты

Первые пары страниц книги вызвали мурашки по коже, а вся книга оставила после себя позитивный настрой.

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

Достойное пополнение книжной коллекции на тему психологии. Буду перечитывать обязательно.

NewRelic

Познакомился с отличной системой real time мониторинга python приложения (так же PHP, Ruby, Java и т.д.).

При разработке на Django большенство разработчиков используют django-debug-toolbar. Она является отличным инструментом. В дополнение можно использовать django-devserver вместо встроенного сервера django. С помощью devserver удобно просматривать SQL запросы при Ajax обращениях.

Но встает вопрос, что делать на продакшене? Как следить за производительностью приложения не замедляя его при этом. На данный момент лучшего решения, чем NewRelic для данных целей мне не удалось найти.

После подключения NewRelic к приложению мы сможем следить за: выполнением views в Django, запросами к базе данных, временем выполнения SQL, ошибками в разных частях проекта и многое другое.

Крупные проекты сегодня практически не обходятся без брокера сообщений для делегирования выполнения задач в фоновый режим. NewRelic позволяет следить за их работой и производительностью тоже. Например, Celery.

Кроме мониторинга самого приложения, можно следить за работой сервера.

Будем использовать.

О книгах

Давно не писал о книгах, которые читаю. На следующие издания следует обратить свое внимание.

Дейл Карнеги — Как перестать беспокоиться и начать жить
Заказал книгу для супруги, в итоге прочитал ее сам на одном дыхании и остался очень доволен. Издание содержит большое количество жизненных историй как самого автора, так и людей разных сословий. Истории помогают понять свои слабые стороны. Осознать что ты не первый встречаешься с трудностями в общении, познании и борьбе с собой.

Масару Ибука — После трех уже поздно
Хорошая книга. Содержит много практических советов о воспитании детей. Обязательно нужно будет перечитывать, т.к. многое забудется со временем.

Борис Акунин — Черный Город
Новые приключения Фандорина разворачиваются в Баку. Автор отлично передал красоту востока, перелитая ее с неожиданными поворотами сюжета. Книгу закончил читать с болью в сердце.

Приятного чтения.

Ссылочки по Git

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

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

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

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

http://mettadore.com/analysis/a-simple-git-rebase-workflow-explained/ — пример того, как строится процесс разработки с приминением rebase.

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

Почему Postgres часть 2 (перевод)

Продолжаем перевод статей о Postgres. Первую часть можно прочитать по ссылке. Комментарии по переводу приветствуются.

————————————————————

На прошлой неделе я опубликовал пост с перечнем множества причин в пользу использования Postgres. Я преследовал две цели:

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

Читать далее

Запоздавшие итоги 2012 года

Родился сын и жизнь стала принимать иные краски.

Проект vrublevku.ru, в котором проработал 2.5 года закрылся. Последние месяцы в нем проработал с Django.

На февраль 2013 года тружусь в sociate.ru. Занимаюсь сбором и анализом статистики из Яндекс метрики по рекламным компаниям в vk.com. Проект очень интересный.

В 2013 году планирую:

1. Запустить два проекта. Первый будет в виде приложения вконтакте. Второй, приложение для мобильного телефона. Оба проекта интересны, посмотрим что получится.

2. Продолжить успешно начатое с ноября месяце сотрудничество с м18.  Результатом должен быть запуск совместного проекта в мобильном секторе.

3. Изучить и применить на практике: celery, mongodb. Интегрировать 1C предприятие с интернет-магазином.

Цели грандиозные.

Обновился до 12.04.2 LTS

На выходных решился обновить Ubuntu c 10.04 LTS до 12.04 LTS. Запуск процесса обновления был волнительный т.к. на сервере находятся около 10 проектов, половина из которых регулярно посещаются. Обновления прошло гладко и без каких-либо эксцессов. Разработчики Ubuntu постарались на славу.

Основные хлопоты доставили python проекты с установкой в virtualenv. Pip отказывался устанавливаться. Решение нашлось следующее:

wget http://python-distribute.org/distribute_setup.py
python distribute_setup.py
easy_install pip

Из «сладких» обновлений можно отметить:

  • Postgres 9.2
  • MariaDB 10.x
  • Munin 1.4.6
  • Python 2.7.3

Обновлением доволен. Продолжаем работать. =)

Почему Postgres часть 1 (перевод)

В последнее время встречаю много интересных статей на английском языке. Решил переводить их для тех, у кого с английским плохо. Т.к. время у разработчика обычно ограниченно, решил обратиться к знакомой за переводом. Встречайте первую совместную работу с Александрой (http://perevoding.ru/): «Why Postgres«. Периодически будем переводить статьи. Комментарии по переводу приветствуются.

Читать далее

MariaDB, JS animation

Состоялась вторая встреча на территории М18. Выступил с мини докладом о MariaDB.

Со стороны М18 были два занятных доклада о средствах «Анимации в веб без применения Flash» и «Простые сайты могут приносить стабильный доход». Приведу основные тезисы из их докладов:

  • jQuery медленный в использовании для анимации.
  • GreenShock JS
    Лучшее что можно найти для DOM анимации.
    Лучше чем CSS анимация. Но при увеличении объектов начинает тормозить.
    Хорошо реализовать спрайтовую анимацию.
  • SVG
    Затруднительно создавать спрайтовая анимация.
    Отличный инструмент для диаграмм и схем.
  • Canvas
    Лучшее что можно найти для сложной анимации.
    Наиболее оптимизирована. Особенно хорошо работает на мобильных устройствах.
    Работа приближена к работе с ActionScript.
    TweenJS

До новых встреч!

vnstat

Vnstat позволяет считать трафик на всех имеющихся сетевых устройствах.

Читать далее

Cumulus — Open Source RTMFP Server

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

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

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

Обмен опытом c M18

По мотивам Garage48, совместоно с M18, по моей инициативе, решили организовать обмен опытом, а в дальнейшем совместную разработку проекта.

В Сб 27 октября 2012 года встреча состялась. Разговор прошел в непринужденной обстановке. Обсуждали тему мониторинга и бэкапа сервера. Презентация, подготовленная мной для встречи:

Какие средства Вы используете для организации бэкапов? Буду благодарен любым комментариям.

Посетил «HackDay meets Garage48″

Главный девиз мероприятия, которое длится 48 часов, можно выразить в нескольких фразах, сказанных на нем:
- How much time you will sleep?
- Six hours.
- Too much.

Удалось поспать 4-5 часов за ночи с Пт на Сб и с Сб на Вс. Сделан прототип, который мы с командой успешно презентовали. Самое главное то, что после окончания мероприятия работа над проектом продолжается. Есть цель — довести его до коммерческой версии. Посмотрим что получится. =))

Поспал два часа. На HackDay пока пустовато. @ Зона Действия

«Тайм-драйв» — читать обязательно!

Тайм-драйв. Как успевать жить и работать
Глеб Архангельский

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

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

О телевизоре:

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

О времени:

В России эта проблема особенно остра. Все мы воспитаны на сказках, в которых результат появляется «по щучьему велению». Но, увы, одной только удачи обычно недостаточно. Для достижения успеха нужен серьезный, долгий, упорный труд.

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

Успехов.

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

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

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

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

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

ReWork Бизнес без предрассудков

Книга читается очень легко. При желании можно прочитать ее за один вечер.

Могу рекомендовать ее в качестве легкого и беззаботного чтения, так сказать «just for fun».

Охарактеризовать ощущение после прочтения книги поможет подпись к ней, которую оставил мой друг: «… Всех знаний в себя не вобрать, а времени для действия всегда не хватает. Лучше работать, а по результатам написать свою книгу.»

Как обычно, ниже пара цитат из книги, которые больше всего понравились.

Скорость меняет все:

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

О найме на работу:

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

О сне:

Работа в ущерб сну — плохая идея. За дополнительно выкроенную пару часов позднее придется заплатить сторицей — подрывом духа, настроя и изобретательности.

Стартап без бюджета, Майк Михаловиц

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

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

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

Приведу несколько цитат из книги, которые мне понравились.

Читать далее