Мы в ответе за тех, кого разрастили. Go-разработчики из YADRO, Ви.Tech и Weborama рассказали, как работать с проектами, которые без должного внимания стали бы техдолгом. А еще — поделились опытом генерации стабов и организации нетривиального стриминга данных на Go.
Собираем проект на Go: от Make до Mise
Рассказал: Даниил Подольский, эксперт по разработке ПО, Go-евангелист, YADRO
Коротко о сути доклада: Команда Common Yadro Platform, в которой работает Даниил, вырастила настоящего монстра в виде Makefile — самого огромного, что только встречается в «дикой природе» проектов на Go. Он рассказал, как команда дошла до такой жизни, как инженеры справляются с этим монстром сейчас и что планируют делать дальше. Спойлер: ребята хотят с ним расстаться и уже оценили плюсы и минусы существующих альтернатив.
Зачем смотреть: разобраться в причинах разрастания Makefile, узнать о вариантах решения проблемы, зарядиться энтузиазмом переосмыслить подходы.
Мнение зрителя: «Успокоила мысль, что не только у нас Makefile невероятно разрастается (чувствую себя не одиноким)».
Страх и ненависть: почему мы пилим монолит без использования микросервисов
Рассказал: Кирилл Кузин, старший Go-разработчик, Ви.Tech
Коротко о сути доклада: Компания Кирилла пришла к тому, что работать с монолитом уже неудобно. Скорость загрузки страниц не восхищает, time-to-market непредсказуем, а код увлекает в черную дыру. Спикер рассказал, зачем под распил монолита выделили отдельную команду и какую в итоге архитектуру приложения выбрали в компании.
Зачем смотреть: изучить еще один кейс распила монолита или углубиться в тему впервые на простых аналогиях.
Мнение зрителя: «У меня нет опыта распила монолита, поэтому до доклада сложно было представить, как это происходит в реальности. Выступление спикера очень круто повысило мои знания об этом непростом процессе».
Как стримить данные из Snowflake в Couchbase, или зачем писать свой плагин для Redpanda/Connect
Рассказал: Александр Ванюшкин, инженер по разработке ПО, Weborama
Коротко о сути доклада: Команда Александра работает с редкой для IT-бизнеса технологией RTB. Real Time Bidding — это технология аукциона в реальном времени, которая используется в онлайн-маркетинге для покупки и продажи рекламного пространства. Один из этапов заключается в сборе и обновлении данных о категориях, к которым принадлежат те или иные сайты. В системе команды Александра такие данные заносятся в базу данных Snowflake, а все изменения необходимо быстро транслировать в Couchbase. В докладе он рассказал, как они это делают.
Зачем смотреть: познакомиться с новыми инструментами, проследить логику решения проблем и масштабировать подход на свои проекты.
Мнение зрителя: «Любопытный репортаж из параллельной вселенной».
Генерация стабов для тестирования микросервисов, связанных по gRPC
Рассказал: Кирилл Шувалов, разработчик дивизиона Телеком, YADRO
Коротко о сути доклада: Кирилл поделился, как его команда стандартизировала внешний вид тестов, облегчила их написание и повысила читаемость — все благодаря генерации стабов. В докладе он показал, как можно с помощью инструмента protoc генерировать необходимые компоненты.
Зачем смотреть: будет интересно, если тоже используете стабы или хотите начать это делать.
Мнение зрителя: «Для моей команды вопрос довольно актуальный».
Что еще изучить по Go
→ Готовим слайсы в Go: подробно о динамических массивах, строчках и ускорении
→ Три способа оптимизировать работу с памятью на Go с помощью memory pools
→ Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними
→ 5 способов писать эффективный код на Go: от названий переменных до архитектуры