Связаться
Изображение
Миша Радионов

Первый русскоязычный Laravel митап

Опубликовано: 12 Янв 2022
Вернуться в блог

11 ноября мы провели первый русскоязычный Laravel митап.

Докладчиками выступили разработчики Студии Флаг. Мероприятие мы провели в необычном месте — в фотостудии. Площадка объединила опытных php программистов, тестировщиков и разработчиков. Также для создания неформальной атмосферы мы угощали наших гостей пивом и пиццей. А затем, для полного счастья, пригласили всех участников на афтепати в нашем офисе с кикером (настольный футбол) и настолками.

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

На митапе спикеры рассказали доклады про подходы к организации кода, проверенные нами сторонние решения и поделились опытом в построении инфраструктуры вокруг разработки и мире Laravel. Подробнее о докладах и о самом интересном расскажем ниже.

Доклад №1. Тема: архитектура Porto. Спикер Леша Смирнов

Представьте себе комнату ребенка, в которой он сам решает что где лежит. Вам нужно быстро собраться, а в ящике для носков лежит динозвар, под ногой (в ноге) деталька Lego, а где носки? В этот раз под кроватью. Итог: из-за поиска носков вы опоздали в садик.

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

Архитектура Porto — это набор правил, в котором четко сказано, куда класть носки, а куда динозавров. Используя общую архитектуру мы тратим меньше времени и выдаем большую выработку за ограниченное время для наших клиентов.

Суть подхода Porto мне напоминает DDD (Domain Driven Design). Приложение делится на корабль и контейнеры. Контейнером может быть что-то важное для бизнеса, например «Заказ» в интернет-магазине или «Пользователь». Корабль содержит общие инструменты, не связанные с контейнерами.

Доклад №2. Тема: пакеты для Laravel. Спикер Вадим Куксовский

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

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

Некоторые задачи, однако, нельзя брать в готовом виде, например, интеграцию с 1С или корзину в интернет-магазине. Эти задачи слишком индивидуальны и кастомизация готового решения будет дороже создания своего.

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

Доклад №3. Тема: полнотекстовый поиск на небольших проектах. Спикер: Леша Качалков

Поиск — одна из сложнейших задач в программировании. Взгляните на то, чего добились компании, создавшие для нас удобный поиск: Яндекс, Google, DuckDuckGo. Основная проблема в сложности естественных языков, например, русского или английского. Задумайтесь, мы не всегда пишем грамотно на родном языке, насколько сложно написать алгоритм, который: 1. Проанализирует (проиндексирует) доступные для поиска материалы 2. Поймет ваш запрос 3. Подберет под ваш запрос наиболее релевантный материал
Добавьте сюда поправку на бизнес-цели проекта, для которого пишется поиск, и вы поймете боль разработчиков.

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

Алексей в своем докладе рассказывает об альтернативе «эластика», которую мы выбрали для своих последних проектов — Meilisearch.

Доклад №4. Тема: Docker на Laravel проектах. Спикер: Миша Радионов

Взгляните на свой телефон. Разве это телефон? Конечно, нет. Это фотоаппарат, музыкальный плеер, почтовый ящик, диктофон, карта, телевизор, книга. Настоящий швейцарский нож, не правда ли? Больше всего удивляет, что пользоваться всем этим легко. Мы знаем как работает книга, а как диктофон.

Все это возможно благодаря приложениям. Каждое приложение имеет иконку, настройки, права. Большинство приложений имеет похожие элементы интерфейса. И знаете, что круто? Настройки телефона — тоже приложение. Абсолютно всё — приложение. Нет никакой вложенности одного приложения в другое. Нет никаких особенных способов запуска или остановки приложения. Они все подчиняются одним правилам.

Нечто похожее дает нам Docker контейнеризация. Смотрите, у разработчика есть набор программ: PHP, Nginx, Postgres и тд. Все эти программы разные, но, благодаря Docker, разработчику не нужно знать как запустить или управлять программой. Теперь она упакована в контейнер, к которому он обращается общепринятым способом. Разработчику больше не нужно устанавливать десятки программ на сервер, теперь этим занимается Docker.

Сложно объяснить технологию Docker на пальцах, но поверьте, контейнеризация уже давно стала стандартом рынка.

В своем докладе Миша расскажет, как мы внедряли Docker, ошибались, все ломали и создавали снова. Доклад получился очень забавным, поэтому отдельно были выделены таймстемпы самых смешных моментов.

Полный фотоотчёт и презентации от спикеров уже доступны на официальном сайте мероприятия. А чтобы не пропустить будущий митап — подписывайся на наши социальный сети и ты точно узнаешь об анонсе первым.

Отзывы участников мероприятия

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

«Ребята, спасибо большое за проведенное мероприятие! Очень надеюсь что будут еще митапы от Вас!»

«Доклады сделаны простым и понятным новичку языком»

«Ребята — вы крутые! Спасибо!»

«Для первого раза просто шик! Очень качествнный таймкипинг и душевное афтэпати-)»