MageConf 2012 или Куда смотреть веб-разработчику?

Приветствую всех обитателей и гостей данного сайта. Автор этого монолога всего лишь начинающий разработчик, но уверенно идущий в дебри ИТ-индустрии... =) Месяц назад, 16 сентября, я имел честь побывать на одной из конференций посвященной веб-разработке в Киеве, чем собственно и хотел поделиться здесь. Вся конференция состояла с трёх потоков, два были посвящены продуктам Magento (http://ua.magento.com), на третьем основной темой был PHP. Так как я посетил все доклады о PHP, дальше я хотел бы провести некий обзор рассматриваемых тем. Действие началось с доклада Виталия Коротуна (руководителя Magento Expert Consulting Group), который рассказывал об архитектуре приложений. Тема касалась Идеальной Гибкой Расширяемой Архитектуры, к которой все так стремятся, но которая в целом не нужна вообще. На абстрактных и не очень примерах, Виталий показал плюсы и минусы разных архитектур. Очень запомнился пример с двигателем, который в своём роде есть не идеальной, совсем не гибкой и абсолютно не расширяемой архитектурой, но работает именно так как нужно и без сбоев, к чему нужно стремиться нам всем. Докладчик Андрей Церкус (Senior PHP developer, Magento), который в начале этого года начал работать в главном офисе компании Magento в Лос-Анджелесе, и который кстати был одним из разработчиков портала http://www.i.ua/ рассказывал об инструментах тестирования. Рассматривались разные инструменты, для разных видов тестирования: функционального, конфигурационного, модульного(юнит), нагрузочного и тестирования безопасности. Среди упомянутых им приспособлений были: PHPUnit, набор утилит PHP Code Sniffer/Mess Detector/CopyPaste Detector, JsTestDriver для Javascript-юнит-тестов, JMeter для замера производительности и Selenium – популярный инструмент для отладки страниц на JavaScript. Третьим докладчиком был Евгений Тулика (Senior PHP-developer, Magento) с темой "Внутри распределенных вычислений: Workflow Engine для PHP" Признаюсь, это была порция самой взрывоопасной для мозга информации. Доклад был более ориентированным на back-end разработчиков и поэтому был похож на лекцию c распределенных вычислений алгоритмом round-robin, нежели на что-то близкое к PHP. Благо моя бывшая прикладная направленность не дала потеряться и я уловил суть. Правда на практике такое сразу и не попробуешь, к сожалению... Несмотря на паузы между докладами, на которых с трудом, но хватало времени пойти перекусить, после трёх докладов нас ждал обеденный перерыв. На протяжении всего дня в главном холле было где перекусить. Организаторы приготовили много вкусностей и плюшек, поэтому голодать не приходилось. й доклад "Поиск “узких мест” в производительности веб-приложений" презентовал Игорь Миняйло (Senior PHP developer, Magento). Рассматривался мониторинг веб-приложения на PHP в режиме реального времени с помощью Pinba, поиск и исследование узких мест на стороне базы данных (MySQL) с помощью http://dev.mysql.com/doc/refman/5.0/en/explain.html , мониторинг системных переменных с помощью команды SHOW STATUS (http://dev.mysql.com/doc/refman/5.1/en/show-status.html), упоминалось об MySQL Profiler для отслеживания медленных запросов и о Percona Toolkit – инструмента для более обширной отладки базы данных. Отдельно стоит упомянуть о профайлинге SQL запросов с помощью Xdebug и Xhprof. Владимир Пелипенко (член архитектурного совета Magento) выступал с докладом "Управление памятью в PHP" что в принципе звучит странно, но тем не менее показал очень много интересных особенностей. Как например то, что деструктор не всегда освобождает переменную и что он вообще иногда не помогает, и в некоторых случаях срабатывает только удаление переменной. Выделить можно три основные подтемы доклада: выделение и освобождение памяти, хранение переменных PHP и сборщик мусора. С последним докладом "Тестирование безопасности веб-приложений" выступали два довольно молодых парня: Николай Бабий (Development Manager) и Александр Акимов (Senior PHP Developer). Эти два парня в режиме реального времени показывали как можно ломать сайты на... Joomla. Среди рассматриваемых версий были 1.5 и 1.7. Конечно же все используемые дыры были зашиты, но тем не менее. Ребята показали организацию SQL-injections, XSS injections, рассматривали RCE и CSRF. Очень удивила уязвимость Unverified redirects в Joomla 1.5 где, не зная абсолютно ничего, без малейших премудростей, за 30 секунд можно получить доступ к админке! И всё это через простую форму подтверждения пароля. Вот собственно и подошел к концу мой монолог. От конференции я получил массу удовольствий, море мотивации и даже некоторые новые знакомства. В помощь любознательным, дабы не гуглить в поисках инфы по этому делу, на Хабре уже есть пост с ссылками (http://habrahabr.ru/post/151564/), где каждый найдёт для себя что-то. В завершение хочу предложить обсудить актуальные инструменты разработки, тестирования, мониторинга, которые упоминались выше и возможно кто-то даже поделится опытом их использования.
 17 окт. 2012 г., 22:35:25  507   studio-orange  Личные Блоги