ZFConf 2012. Фотоотчёт.

ZFConf. Уже в третий раз я побывал на конференции, посвящённой моему любимому фреймворку. География постоянно расширяется, Киев, Питер, теперь вот и Москва. Сейчас я понимаю, что конференция явно удалась. Мои впечатления – как всегда под катом.

  

Программа была интересной. В этот раз нас ожидал гость из Италии – Enrico Zimuel.

Zend Framework 2, a quick start // Enrico Zimuel (ZF Core Team).

Энрико с 2008 года работает в Zend Technologies на должности Senior PHP Engeneer. В 2011 году он присоединился к Команде ZF Core Team. Занимается профессиональной разработкой с1996 года. Основаня сфера его интересов – веб-приложения, безопасность программ и криптография. Он является автором двух книг и множества статей в области безопасности, а также постоянным  докладчиком на конференциях. На ZFConf-2012 Энрико выступал с докладом про работу над новым ZF.

В докладе Энрике рассказал о том, что планируется в zf, что делается сейчас. Из зала было много вопросов:

– Почему так долго продвигается работа над ZF2?

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

– Сколько всего человек работает над ZF?

– Ну если считать официальных сотрудников, то их трое: я, Метью и Ральф.

– А когда он будет готов?

– Мы планируем сделать бекпорт Zend/Event/Manager в zf 1.12 к концу апреля, начале мая, а сам zf2 будет готов ориентировочно к концу лета. // Надеюсь он имел в виду лето 2012 🙂

Вообще в zf2 основная идея – переход к событийно-ориентированной архитектуре. События, коллбеки – именно так будет построен роутинг в новом zf.

Code Generation и Scaffolding в Zend Framework 2 // Виктор Фараздаги

 

Виктор Фараздаги является разработчиком компании Simple Square, а также мейнтейнером и контрибьютором компонентов ZF2. Он разработал такой проект, как Phing. Кроме того, он является автором небезызвестного подкаста zftalk.dev

  
Вообще тема кодогенерации и метапрограммирования – довольно актуальная. Основная идея в том, что наша работа большей частью представляет собой скучную рутину, написать очередной экшен для контроллера чего-нибудь, проверить данные, записать в модель. Но ведь всё это можно автоматизировать? Написать программу, которая сгенерит эти экшены за нас? Эдакая кнлпка “работать”, нажимаешь – и всё работает. На самом деле идея неплоха, и у неё есть свои сферы применения. Я бы выделил прежде всего скаффолдинг и создание прототипов приложений. Иногда бывает так, что нам важно быстро сделать рабочий прототип, а потом уже допиливать его. На фоне стартап-мании это становится основной мотивацией для использования кодогенераторов. Вот и в том же Rails есть генераторы ruby кода. Короче как всегда, если есть подходящаа задача -юзаем. У разработчиков даже была идея генерить код не только на PHP, но и на других языках, например на Java. Но use-case для этого они придумать так и не смогли 🙂

Реализация доступа к СУБД IBM DB2 посредством встраиваемого SQL // Александр Веремьев

Александр Веремьев является отдим из самых активных контрибьюторов в ZF1/2 и автором таких компонентов, как Zend_Pdf и Zend_Search_Lucene. Доклад был довольно спорный. Идея Embedded SQL в том, что язык SQL встаивается в целевой язык программирования, например PHP, что выглядит примерно так:

  

По мне так весьма спорный подход. Ведь раньше SQL выполняли запросы вручную, формируя их как строки, потом стали использовать Query Builder’ы подобным Zend_Db, ну а после выяснилось, что очень удобно пользоваться ORM системами. Тут же предлагается вспомнить былые времена.

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

Проектирование архитектуры, внедрение и организация процесса разработки на примере собственного проекта на основе ZF // Антон Великанов

Следующий интересный доклад был от Антона Великанова. Антон является автором таких проектов, как SandSign.com, PropHop.com и МыЕдем. Этот доклад был скорее в форме презентации стартапа, даже стартапов. И для разнообразия это было не плохо. Антон рассказал нам о том, что привело его к созданию своих проектов, и как ему кодилось в Коста-Рике. Идея создать сервис, удалённого фотографирования надписей на песке (с их заказом) действительно новая. Были очень рады послушать такого позитивного человека и пожеали ему всяческих успехов. Это лишний раз доказывает, что в наше время можно найти свою нишу… или создать её! 🙂

Capistano Для деплоймента PHP-приложений // Роман Лапин

Проблема деплоя приложений стоит всегда. Но одно дело, когда деплоить надо на один сервер, другое дело, когда их тысячи. Тут уже волей-неволей приходится задумываться о том, как сделать всё быстро и чётко. В докладе рассматривалось средство деплоя, которое пришло к нам из мира Ruby – Capystano. Особенно порадовала команда для деплой “cap deploy”, в стиле “Кэп, ну задеплой давай!”. При деплое также нельзя забывать, что на время деплоя надо переключить сайт в режим “на профилактике”, об этом автор также рассказал в докладе. Впечатления – исключительно положительные. Ранее я использовал TeamCity, скоро, думаю, тоже встанет пробелма выбора средства развертывания. Буду смотреть в сторону Capistano.

  

Распределённые сетевые приложения с Zend Framework 2 И ZeroMQ // Алексей Качаев

Этот доклад был безусловно гвоздём программы. Со времени оглашения списка докладов именно Алексея мне хотелось послушать больше всего. Распределённые приложения довольно интересная тема. Но для построения распределённой системы всегда надо выбирать платформу. Когда обычное веб-приложение не справляется, то мы ставим Gearman. Когда не справляется Gearman – ставим RabbitMQ, а уж когда падает и он – на передний план выходит ZeroMQ. Алексей подробно рассказал про паттерны распределённых приложений, ви о практическом их применении с использованием ZeroMQ. Доклад интересный, как появится видео – всем советую посмотреть. А пока вот вам ссылочка по мат.части. Особенно мне понравилась концепция “device” (составлено устройство, которая обслуживает > 1 сокета ZeroMQ. Вообще накачал себе уже pdf’ок по теме, буду читать на досуге.

    

Для управления куей воркеров, их запуска, массового рестарта и т.д. Алексец рекомендует использовать Supervisor.

Dependency Management в PHP и Zend Framework 2 // Кирилл Чебунин

ЧеБа рассказал о поиске пакетного менеджера для zf приложений, Composer и его использование. Надеюсь, что пройдёт время и у нас появится свой нормальный пакетный менеджер с единым репозитарием, из которого можно будет поставить что угодно. Да, это я ностальгирую по gem’ам из Ruby. Конечно есть PEAR и PECL, но там не всё так радужно.

  

Кэш без промахов средствами Zend Framework 2 // Евгений Шпилевский

Закрывал конференцию доклад про систему кэширования. Один из автором рассказывал, как организован кэш в ZF2.0 и в чём отличия от старой версии. Я в этот момент неожиданно увлёкся решением задачки с кэшированием и ресайзом картинок аватар пользователей, так что к сожалению прослушал половину. Кстати, нашел решение. А то наш админ жалуется, что в ФС у нас много одинаковых картинок с разныш хэшем. Но это тема уже другого поста…

AfterParty

Даже не знаю, что приятнее – сама кконференция или её отмечание, гордо именуемой нашими заокеанскими коллегами, как afterparty. Просто выложу фотки. Организаторам – спасибо, конференция однозначно удалась!

    

      

10 Comments

  1. Я тоже считаю, что конференция удалась. И полностью согласен с тем, что доклад о 0MQ был гвоздем программы.
    Вообще, за темой 0MQ я приглядываю уже с пол-года и послушать специалиста было крайне полездно.
    Андрей, поделишься найденным? А то, кроме официального мануала, ничего приличного нарыть не удалось

    1. Конечно поделюсь, Олег. Сейчас читаю вот этот мануал: http://zguide.zeromq.org/php:all Начал с офисайта, так сказать. Ищу книгу по паттернам распределённых приложений, ты не видел pdf’ку с ней случаем?

      1. Нет, не видел. Но я и не искал конкретно это.
        Мануал, конечно, хорош, но некоторые места там поверхносно описаны, хочется подробнее.

        1. Ну как накопаю чего-нибудь – обязательно выложу.

  2. Хороший отчет! Интересно было почитать 🙂

    PS. Замечание. Виктор Фараздаги присоеденился к разработке Phing, а не разработал Phing.

    1. Спасибо!
      Думал кстати, что вы с Валерием тоже приедите. На DevConf то собираетесь?

  3. Отчёт вышел отличный!
    Согласен с Олегом, что доклад по ZeroMQ был особенно полезным, так сказать “расширитель горизонтов”.
    Надеюсь, увидимся ещё на DevConfe 😉
    P.S. Билет обратный буду брать на попосже, чтобы после было больше времени :))

    1. Спасибо! Конфа классная вышла, на DevConf обязательно пересечемся, да и после можно потусить.

Leave a Comment