Ничего лишнего — только хардкор, только технологии

Пообщаться на важные именно для нас темы не только между собой, но и с представителями лучших топовых компаний и проектов в мире PHP — одна из самых главных активностей на конференции. В онлайне это сложно реализовать. Именно поэтому  мы  собираем всех вас вместе 28 июня. Из-за ковидных переносов конференции часть программы  PHP Russia 2021 поменялась. У кого-то из докладчиков изменились планы, и мы нашли равноценную замену, пришли новые спикеры с неожиданно крутыми темами. В итоге примерно половина докладов были заменены.

Глобальное отличие от прошлой конференции — гибридный формат: она пройдёт одновременно офлайн и онлайн. Онтико сейчас проводит все конференции. В офлайне будет всё, как обычно: четыре зала, общение всех со всеми, обед и бесконечный кофе-брейк, небольшой фуршет с пивом и соками, афтепати и активности на стендах партнеров. Стенды, кстати, будут прикольные. Все партнеры используют PHP, и с ними будет интересно. А афтепати собирают ребята из московского Beer PHP.

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

de83ee2dbdfa162f18c36401256617ca.jpeg

Что интересно — о чем мы рассказывали в 2019 году в секции про будущее, в этом году уже активно используется. Поэтому и в этот раз мы отобрали такие доклады — с взглядом вперед, по крайней мере, на несколько лет. Чтобы можно было понять, куда всё движется, и на высоком уровне (CTO, тимлидов и т.д.) принимать решения про то, какие технологии к себе затягивать. Про это, например, «Распределенные Workflow на PHP» Антона Титова или «Мутационное тестирование» Макса Рафалко.

И пока мы отбирали и меняли доклады, у меня сложился личный топ выступлений конференции. 

Мой личный топ

0e09a30b43fd6f4a2190978a86b168ba.jpeg

Во-первых, я хочу послушать Макса Рафалко, потому что это человек, который принес мутационное тестирование в PHP в больших, хороших масштабах. К тому же, Макс ещё и автор пока единственного активного фреймворка для этого. Мне самому супер-актуально его послушать, потому что я использую мутационное тестирование почти каждый день при разработке третьей версии своего фреймворка. Запросто может быть, что я там что-то делаю не так. А если вы мутационное тестирование еще не используете, это большой повод послушать Макса и задуматься —, а правильно ли у вас тесты сделаны, и что они тестируют на самом деле.

Конечно же, хочется услышать Дмитрия Стогова, потому что это всегда чрезвычайно интересно, хоть и не всегда понятно. Дмитрий Стогов — основной человек, который пишет самое сердце PHP. Это не так-то и просто, но очень познавательно. Когда вылезают проблемы с производительностью в приложениях, смотришь на это дело и понимаешь, что какие-то части ты уже видел и даже знаешь. На этот раз Дмитрий расскажет про JIT-компиляцию и развитие PHP. У вас есть шанс задать ему любые интересные вопросы — от «Что там, в ядре, делается» и до «Что там вообще происходит».

Далее это — Антон Титов, который каждый год привносит в PHP какие-то супер крутые вещи. В 2019 году у него был проект RoadRunner, в 2020-м он его улучшил. Сейчас будет проект, который, возможно, через годик или два, поменяет то, что вообще на PHP делают. Это гибрид с движком распределенных workflow Temporal — и всё это на PHP.  По сути, это замена BPM для моделирования бизнес-процессов, только здесь всё в коде, и кода этого не так много. 

Александр Новиков из той же компании тоже затронет RoadRunner, но не как отдельный рантайм, а представит свой фреймворк на нём. Всё потому что для работы с RoadRunner нужны некоторые манипуляции с фреймворком, но не все фреймворки к этому готовы. SpiralScout LLC создали свое решение, которое от RoadRunner получает максимум и заточено именно для работы в его окружении. Я, конечно, знаком со Spiral, потому что при создании Yii мы смотрели на всё, что было на рынке. И именно поэтому я советую присмотреться к нему — это интересный набор практик и подходов.

Сергей Гоцуляк покажет в своем докладе уже не только RoadRunner, но и Swoole с Workerman. И сравнит их с обычным php-fpm. Утилиты построены чуть на других принципах, и у них разный набор фич. Вы узнаете, почему Сергей выбрал Workerman и в чем разница между этими тремя рантаймами. 

Из странного будет очень интересный подход Валентина Удальцова, который устал от ORM, active record и решил написать свое решение. Изобретение велосипедов может иногда превратиться во что-то очень прикольное. Мы сначала очень скептически смотрели на этот доклад. Потому что библиотека для работы с нативными SQL запросами — это очень неудобно. Но со временем Валентин показывал нам все новые и новые кейсы использования библиотеки. И мы поняли, что это может быть удобным, несмотря на то, что выглядит чрезвычайно необычно. Его Thesis позволяет писать нативные SQL-запросы очень интересным способом, который очень приятный и во многих местах имеет смысл. И это может, в принципе, немного перетряхнуть ландшафт работы с БД.

Но это еще не всё. 

Ничего нового, только полезное

626755740a8b943739ba24fb9396629c.jpeg

Очень удивительный доклад Павла Паршикова (Авито) про кэш в высоконагруженных системах. Вроде бы тема кэша раскрыта давно и от слова «совсем». Но, во-первых, Павел раскрывает всё, что уже описано, очень классно — реально раскладывает всё по полочкам. А во-вторых, он приводит не совсем привычные кейсы,   которые типичны только для очень высоконагруженных систем, но не для всех остальных. Думаю, что каждый найдет в этом докладе что-то, что он в своих проектах пока не учитывал.

В таком же стиле будет доклад Альгиса Фатеева (Lamoda) «Юнит-тесты: ничего нового, только старое» — он соответствует своему названию. Мы взяли этот доклад, потому что Альгис, как и Антон в своем деле, хорошо собрал вместе всё про юнит-тесты. Как их писать, когда, почему, для чего, какие правила нужно соблюдать, и прочие детали. Это будет про техники тест-дизайна и ту суровую реальность, которая нам эти тесты писать не дает.

Антон Золотилин из Superjob поделится своим вариантом версионирования API. Единая кодовая база для всех версий — это достаточно старая проблема, но все ее решают по-разному и какого-то правильного, единственно верного решения, наверное, нет. Но я с удовольствием посмотрю на решение Антона — как новые версии API поддерживать, как следить за обратной совместимостью и как вообще их версионировать.

Легаси — тоже вечная проблема и каждый  борется с ним по-своему. Так что тема легаси была, есть и, думаю, будет каждую конференцию. Так как каждый доклад что-то полезное добавляет в копилку навыков и приемов. Сергей Жук расскажет про свой «быстрый способ разобраться с легаси и начать жить».

Сложно, но возможно

c4f618bdd0badd8ec5ae430a393e3aa6.jpeg

На грани закрытия CFP к нам залетел отличный доклад от Александра Кирсанова из ВКонтакте. Раньше ВК рассказывали про KPHP или про какие-то свои внутренние вещи, которые были мало применимы к другим проектам и компаниям. Но в этот раз будет микс профайлинга, статанализа и интересных решений для валидации производительности и архитектуры. Это помогает еще до запуска кода в продакшен понять, что производительность  не просядет. Они хотят из этого сделать опенсорс-утилиту, и тогда можно будет ею проверять свои проекты. Очень классно засунуть это в CI/CD и забыть про часть нарушений архитектуры, проблемы с производительностью и другие сложности.

Стат анализом занимается и Алексей Матюхин из Badoo, который, к сожалению, не сможет приехать и выступить со сцены — он сейчас в Лондоне. Его доклад будет в режиме трансляции. В нем будет большое ревью  различных стат-анализаторов для PHP: для чего они годятся, как их применить, что ими можно пофиксить и т.д. Полезно будет тем, кто себе выбирает набор для статистического анализа. Статанализом вообще можно закрыть очень много проблем.

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

А Иван Матвеев из Skyeng расскажет, как делать почти микросервисы, но в монолите. То есть взять все плюсы от монолита, все плюсы от микросервисов, и пока нас не прижало — не делить на микросервисы. И, конечно, не просто так, а чтобы профит получить.

Сергей Иванов из Юлы поднимет вопрос об обработке фейлов во внешних сервисах. Большинство их типично не обрабатываются, всё работает на удачу. Если и есть какая-то обработка, то очень простая. Сергей расскажет, как обрабатывать правильно — что, естественно, не совсем просто, но зато чрезвычайно эффективно. 

Антон Жуков поделится, как искать «типичные бутылочные горлышки в проектах на PHP» Он расскажет, как найти их в проектах, как делить, как шардировать. Притаскивание в проект новых технологий часто приводит к тому, что всё становится слишком сложно. И как тогда разобрать всю систему по кирпичикам, чтобы построить почти заново (по крайней мере, в своей голове) и проанализировать? Сложно, но можно — узнаете.

Доклад Петра Петренко из Badoo был одобрен нами ближе к концу CFP, но он очень интересный. Вроде бы, разговор пойдет про сравнение похожих фотографий, но на самом деле — не совсем. Открою секрет — это будет про очереди и конвейерную обработку. Здесь вы увидите классную технику, у Петра есть чему поучиться. Такое делать на PHP очень занятно и сложно, но тоже можно.

Еще будет Адель Файзрахманов, автор плагина Laravel Idea, одного из самых популярных коммерческих плагинов. Он покажет, что писать плагины — это не так ужасно и проще, чем кажется. И расскажет, как они пишутся. Вы всегда можете написать свой, если вам захочется — если будете знать принципы. Об этом вы и узнаете.

Доклады от ПК

8248427537f0e00c229ee28c5c0fd092.jpeg

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

Александр Лисаченко продолжит курс черной магии, начатый в 2019 году. В этом году вы увидите более практическую магию. Доклад называется «Выходя за рамки ООП. Разработка расширений для PHP … на PHP!». На мой взгляд, это очень амбициозная и очень странная задача одновременно. И она решена, а как — увидите. Это нечто!

Я сам буду с докладом «Поговорим про код». Он о том, как писать код, который будет меньше ломаться, и какие для этого применять практики. Доклад не совсем новый, я его на нескольких митапах уже рассказывал, но с каждым разом он улучшается и видоизменяется. Если вы примените хотя бы часть идей, которые я опишу, ваш код точно станет менее хрупким.

Безопасный PHP

e01374525334361c19ecee8b1932a847.jpeg

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

Еще будет доклад о дырках и уязвимостях, которые встречаются в PHP-приложениях уже более сложного уровня. Это будут уже достаточно нетривиальные уязвимости, но специфичные именно для PHP. Расскажет про них Антон Прохоров.

Нетворкинг

4184bf4a4258519a2ede7fbe0d13b2b9.jpeg

И, конечно, мы сможем понетворкаться. Будет митап «Деплой артефактами» Руслана Ханова. Руслан расскажет про необычный способ — через собранные файлы. Очень спорное, конечно, решение — в нем есть и плюсы, и минусы. Но посмотреть, как это сделано, однозначно стоит. Обсуждение уж точно обещает быть горячим.

Второй раз (можно сказать, уже традиционно) мы будем проводить Unconference. В 2019 году всем понравилось. Это свободная часть конференции, куда каждый может прийти и сделать блиц-доклад, а потом его по-быстрому обсудить. Здесь бывают классные неожиданные темы. В прошлый раз, например, было про печать на термосублимационных принтерах, у которых почему-то не оказалось нормальных драйверов, о том, как реверсить эти протоколы и т.д. В этом году мы ждем чего-то такого же классного, очень краткого, но по делу.

Долгожданный офлайн не за горами

В этом году из-за ковидных ограничений не будет микса нескольких языков и заграничных спикеров. Максимальная заграница в этом году — это Беларусь. Так что конференция будет полностью на русском языке, языкового барьера ни у кого не будет. Атмосфера получится еще более «ламповой», чем в 2019 году. Но мы, принимая заявки на английском, сохранили их для следующего раза. Там действительно очень хорошие спикеры — прошлые разы были прекрасны. Так что у нас уже есть задел и на следующую конференцию.

В остальном мы ожидаем, что конференция пройдет лучше, чем в доковидном 2019 году, а тогда было супер. Долгожданный офлайн с живым общением и возможностью нормально «понетворкаться» ждет вас!  

28fc7a90aee952b9537d2220a4cc461b.jpeg

Единственная конференция по PHP в России наконец случится 28 июня. Расписание уже готово, билеты еще есть. Лучшие спикеры вселенной PHP, опыт крупных проектов и много общения ждут вас.

До встречи в офлайне!

© Habrahabr.ru