Если бы мы организовывали предновогодний корпоратив «здорового» гофера, он выглядел бы так. 12 декабря, в четверг, собираем Go-разработчиков в Нижнем Новгороде и онлайн, чтобы обсудить практики тестирования микросервисов на Go, историю распила монолита, которая привела к… монолиту, и работу с монструозным Makefile (ждем откровений Даниила Подольского). В качестве нетайных Сант выступят эксперты из Wildberries, YADRO, Ви.Tech и Weborama — спикеры и участники GolangConf.
Чтобы почувствовать приближение Нового Goда, регистрируйтесь на офлайн-участие — сможете поучаствовать в технических интерактивах и получить подарки. А если вы не в Нижнем, посмотреть последний Go-митап в 2024 году можно онлайн.
Что в программе
Заключительный Go-митап в этом году откроют Руслан Барсуков, ведущий инженер по разработке ПО в YADRO, и Виталий Левченко, технический менеджер в Wildberries. Они расскажут про будущие активности Go-сообщества в Нижнем Новгороде, чтобы вы понимали, что вас ждет в новом году.
После перейдем к докладам от экспертов.
Генерация стабов для тестирования микросервисов, связанных по gRPC
Кирилл Шувалов,
разработчик в телеком-дивизионе, YADRO
Я расскажу, как Go-разработчикам и тестировщикам развивать интеграционные тесты, получать стабы и механизмы отправки сообщений для тестирования микросервисов. Покажу, как с помощью инструмента Protoc генерировать необходимые компоненты для тестирование сервиса, общающегося по gRPC. Это позволит стандартизировать внешний вид тестов, облегчить их написание и повысить читаемость.
Как стримить данные из Snowflake в Couchbase, или зачем писать свой плагин для Redpanda/Connect
Александр Ванюшкин
разработчик, Weborama
В сервисах компании мы используем RTB (Real Time Bidding) — технологию аукциона в реальном времени, которая применяется в онлайн-маркетинге для покупки и продажи рекламного пространства. Один из этапов заключается в сборе и обновлении данных о категориях, к которым принадлежат те или иные сайты. В нашей системе такие данные заносятся в базу данных Snowflake, и эти изменения необходимо оперативно транслировать в Couchbase. Я расскажу, как мы это делаем, почему нам пришлось писать плагин для сервиса потоковой обработки данных Redpanda/Connect и что в итоге осталось на продакшене.
Собираем проект на Go: от Make до Mise
Даниил Подольский
эксперт по разработке ПО и один из лидеров внутреннего Go-сообщества, YADRO
Как собрать проект на Go? В самом простом случае достаточно команды go build. В более сложных сценариях может потребоваться написание длинных Dockerfile или создание Makefile различной монструозности. У нас в Common Yadro Platform «завелся» один из самых монструозных Makefile, что встречаются в дикой природе, не считая, конечно, проектов на C++.
Сначала я расскажу, как этот «монстр» появился на свет, как команда с ним уживается и почему стала обсуждать расставание с ним. А затем обсудим, какие альтернативы существуют для использования Make, как можно перейти на них и почему кажется, что Mise — это оптимальный выбор.
Страх и ненависть: почему мы пилим монолит без использования микросервисов
Кирилл Кузин
старший Golang-разработчик, Ви.Tech
У нас было три монолита на PHP, по 180 минут на выкатку каждого, 30 минут на обновление наличия товара на сайте, полсервиса на Go и PHP, множество джобов всех сортов и расцветок, а также Docker, Cobra, целая куча репозиториев в GitLab, пинта чистого Kubernetes и Terraform. Не то чтобы это был необходимый арсенал для разработки, но, если начинаешь собирать удобный деплой, становится трудно остановиться. Единственное, что вызывало опасение, — это сервисная архитектура. Нет никого более беспомощного, безответственного и испорченного, чем разработчики и архитекторы, пытающиеся определить границы предметных областей и не создать новый монолит при распиле старого. Но мы знали, что рано или поздно окунемся и в это.
Когда и где встречаемся
12 декабря, четверг. Начало митапа в 19:00, но офлайн-участников ждем с 18:00. Зарегистрируйтесь, чтобы забронировать свое место в зале.
Адрес проведения митапа: Нижний Новгород, отель AZIMUT, ул. Заломова, 2, м. Горьковская.
Для онлайн-участников: пришлем ссылку на онлайн-трансляцию после регистрации на сайте.
Что почитать перед митапом
→ Три способа оптимизировать работу с памятью на Go с помощью memory pools
→ Ужасно подробные ошибки в API: пишем на Go инструмент для работы с ними
→ 5 способов писать эффективный код на Go: от названий переменных до архитектуры