Ежегодная конференция профессиональных веб-разработчиков DevConf проходит с 2010 года. Она состоит из нескольких секций, посвященных самым популярным языкам и технологиям веб-разработки. В 2015 году году компания Badoo взяла на себя важную миссию — записать видео выступлений, чтобы те, кто не смог посетить конференцию, могли посмотреть их в любое время.
Первым делом мы решили выложить видео с самой интересной для нас секции, посвященной нашему любимому языку PHP. Некоторые темы нам настолько близки, что мы постарались рассказать не только о содержании доклада, но и о том, что мы в Badoo делаем и думаем на этот счет. Надеемся, этот формат покажется интересным читателям и даст более широкое представление о теме.
Секция PHP конференции DevConf 2015
В первую очередь хотелось бы отметить доклад Дмитрия Стогова (Zend Technologies) «Релиз PHP 7: что нас ждет в октябре 2015». Не будем мучить вас переводом «чейнджлога» седьмой версии, а скажем просто: смотреть всем, кто имеет хоть какое-то отношение к PHP. Если вы за свою жизнь написали хотя бы строчку кода на PHP, то, скорее всего, уже слышали про сумасшедшую производительность, JIT и spaceship operator. JIT в PHP так и не появился, но оптимизации проведены масштабные. В докладе Дмитрий рассказывает много о внутренней кухне PHP, есть графики производительности разных версий PHP и HHVM на реальных приложениях. Badoo сейчас как раз в процессе перехода на PHP 7, нам пришлось сильно «перекопать» инфраструктуру тестирования и переписать кучу расширений, но мы на финишной прямой и можем подтвердить, что PHP 7 действительно показывает очень серьезный рост производительности. Какой именно получается прирост? Пока секрет. Ждите от нас отдельной статьи на эту тему, когда мы поборем последние косяки, отлавливаемые на продакшн-трафике.
В свете довольно богатых нововведений синтаксиса в PHP 7 нельзя не отметить доклад «Выбор и внедрение стандарта кодирования в большой команде» Максима Кочкина («Мамба»). С одной стороны, всем знакомая и набившая оскомину тема, с другой — довольно легкое изложение и интересная аналогия с чтением обычного текста. Остается только предложить в помощь утилиту нашей собственной разработки PHPCF, на основе которой вы можете сконфигурировать правила форматирования, подходящие для вашей команды, и интегрировать проверку кода на соответствие правилам при коммите в репозиторий.
Очень порадовал Arvids Godjuks (Areto) с докладом «Демонизированный PHP — before it was cool» — не столько советами по процессу разработки демонов на PHP, сколько смелостью просто и прямо сказать, что демоны на PHP — это абсолютно нормально, это может быть хорошо и полезно, как и любой другой инструмент, примененный правильно. Если вам эта тема близка, то в дополнение к докладу советуем ознакомиться с нашими статьями «Написание системных утилит на PHP CLI» и «Перезапуск демона на PHP без потери соединений к нему».
Раз уж мы начали писать сами про себя, то есть про Badoo, то заодно кратко пройдемся по докладу нашего коллеги Александра Крашенинникова «Как мы переносим миллионы пользователей Badoo между дата-центрами». В нем наверняка каждый найдет для себя что-то полезное. Несмотря на специфичность задачи, применяемые для ее решения подходы содержат в себе множество интересных и полезных приемов. В любом случае, вы как минимум узнаете, «а почему не грузовик, набитый дисками».
Особняком стоит доклад «Эффективная работа с Bigdata на примере рекомендательной системы для 20к интернет-магазинов» Александра Демидова («1C-Битрикс»). Доклад не совсем про PHP, а точнее совсем не про PHP. В первой части доклада Александр подробно рассказал про базовые архитектурные принципы систем обработки большого объема данных. Во второй части речь идет уже, собственно, о реализации рекомендательной системы. Эта тема нам близка, в последнее время мы прикладываем массу усилий для сбора и анализа больших объемов данных (смотрите, например, доклад Александра Крашенинникова «Near-realtime аналитика событий в высоконагруженном проекте»). Мы можем подтвердить эффективность выбранных решений: и HDFS, и Spark, и Lua nginx. В общем, если вы только ищете, с какой стороны подступиться к миру Big Data, то обязательно посмотрите это выступление.
Доклад нашего коллеги «Непрерывная интеграция в Мамбе» Олега Колтунова вызвал множество интересных вопросов из зала. Это неудивительно, ведь тема актуальна для многих компаний, независимо от их размера. Ребята из «Мамбы» рассказали о «самописной» системе для непрерывной интеграции, как всё работает. Работает, судя по всему, прекрасно, хотя некоторые решения показались нам спорными (переписывание истории коммитов в Git, отсутствие строгого правила тестирования после каждого merge и т.д.).
Узнать о том, как непрерывная интеграция выглядит в Badoo, можно из докладов «Релиз-менеджмент в Баду» Ильи Агеева и Юрия Насретдинова, «Continuous delivery в крупном интернет-проекте» Влада Чернова на LoveQA, Подкаста IT-Kompot с Владом Черновым и Олегом Оямяэ, статьи про нашего робота-помощника во многих процессах автоматизации. Также по теме много чего еще выложено в нашем блоге.
Далее Вашему вниманию предлагаются еще несколько интересных докладов секции PHP. Enjoy!
«Продуманная архитектура и другие преждевременные оптимизации» (Федор Лаврентьев)
«Сказ о том, как инверсия зависимостей к DDD привела» (Иван Матвеев)
Обсуждать спикеров и их доклады предлагаем в комментариях, а в ближайшее время мы выложим видео докладов с других секций конференции DevConf 2015 — DevOps, Storage и JavaScript.
Автор: Badoo