О чём курс

Алексей Бакин показывает, как на Go собрать таск-трекер и решить типичные задачи backend-разработки: спроектировать API, подключить базу данных, добавить очередь сообщений, тесты и CI. В ходе занятий вы начнёте с небольшого HTTP-сервиса, а затем приведёте код проекта к выбранной архитектуре и подготовите его к совместной работе.

Для кого

Курс рассчитан на начинающих Go-разработчиков и тех, кто переходит в backend из другой области, уже знаком с синтаксисом языка и хочет закрепить основы на проекте. Вы будете выбирать инструменты под задачу и разбирать решения, которые возникают при разработке сервиса. Материал не ориентирован на переходящих на Go из другого backend-стека.

Разработка таск-трекера

Сначала вы настроите микросервис и клиентскую CLI-утилиту, затем опишете пользовательские сценарии и HTTP API. Для хранения данных выберете СУБД, запустите Postgres через Docker Compose и подключите чтение и запись из Go. После появления базовых функций автор разбирает гексагональную архитектуру, слабую связанность компонентов и инверсию зависимостей; код проекта рефакторится под выбранный подход.

Отдельная часть работы связана с взаимодействием сервиса и пользователя: мониторинг расширяется проверками Live и Ready, а веб-интерфейс создаётся с помощью ИИ. Автор показывает и случаи, в которых ИИ не справляется с такой задачей.

Асинхронная работа и качество кода

Вы сравните протоколы и брокеры сообщений, включая MQTT, AMQP, RabbitMQ и Kafka, выберете подход для сервиса и настроите отправку и обработку сообщений. Практика охватывает консьюмер, горутину-обработчик, политики чтения, конкурентность и поиск неполадок по логам. Затем вы напишете модульные и интеграционные тесты, добавите линтеры и запуск проверок в CI, зафиксируете зависимости и окружение проекта.

Об авторе

Алексей Бакин — Senior Go-разработчик. В исходных материалах указан его двадцатилетний коммерческий опыт работы с Go и C++.

Программа обучения

Урок №1. Ставим задачу, подбираем технологии и пишем микросервис Теория: с чего начать, когда перед тобой пустой файл как не уйти в оверинжиниринг — учимся осознанно выбирать технологии под любую задачу, а не «тащить» все, что слышал и видел библиотека, сервис, тулза — чем отличается и как влияет на то, что ты делаешь Пишем с нуля: HTTP-микросервис с одним эндпоинтом для мониторинга — лайф-проба, которая будет возвращать о себе базовую информацию клиент для HTTP-микросервиса — CLI-тулза, которая чекает мониторинг Результат: освоил лучшие практики, с которых начинается разработка типичного проекта Урок №2. Прорабатываем сценарии таск-трекера и работы с БД из Go. Пишем API Теория: часть №1: для чего нужны сценарии использования На практике: описываем задачу пишем функционал создания списка, получения и добавления элементов прорабатываем HTTP API Теория: часть №2: какие бывают БД и как выбрать БД под задачу На практике: выбираем БД из Go с пониманием — почему эта, а не другие делаем окружение на docker compose, запускаем Postgres встраиваем работу с БД в микросервис — подключение, запись и чтение данных. Делаем первые запросы Результат: спроектировали API под задачу запустили Postgres в Docker’e и подключились к нему из БД написали базовый функционал таск-трекера Урок №3. Архитектуры приложений: делаем код чистым, интегрируемся со фронтом Теория: гексагональная архитектура: суть, плюсы и минусы внедрения слабосвязанные компоненты инверсия зависимостей На практике: выбираем архитектуру и рефакторим под нее код улучшаем мониторинг — Live и Ready пробы, Healthcheck докер контейнера быстро пишем веб-морду с помощью ИИ, чтобы протестировать все, что получилось разбираем кейсы, в которых ИИ не справляется Результат: узнали, как изучать разные архитектуры привели код в порядок научились интегрировать frontend Урок №4. Очереди сообщений: как создать асинхронную задачу Разбираемся с протоколами очередей, брокерами и прочим: MQTT, AMQP, RabbitMQ Распределенный лог Kafka — базовые операции Выбираем очередь под задачу: какие задачи решает очередь, а какие лог что подходит под наш микросервис На практике: проектируем эксченджи, топики и формат сообщений — проработка сценариев и фиксирование протокола учимся работать с AMQP из Go — подключаем, настраиваем окружение, отправляем сообщения Результат: поняли, зачем и как использовать очереди сообщений в реальных сервисах Урок №5. Обрабатываем сообщения из очереди, защищаем prod и ловим инциденты Получаем сообщения из очереди: подключаем и настраиваем консьюмер внедряем горутину-обработчик сообщений Внедряем надежность и гарантии: разные политики чтения сообщений из очереди concurrency при чтении сообщений из очереди Учимся искать причины неполадок: анализируем логи, ищем и воспроизводим баги в ручном режиме Результат: научились читать сообщения из очереди и писать код, пригодный для поддержки Урок №6. Тестируем Теория: зачем нужны тесты где и какие тесты нужны организация кода, который можно протестировать На практике: пишем юнит- и интеграционнные тесты Результат: научились ловить баги до того, как они попадут в продакшн Урок №7. Готовим код к совместной работе с другими разработчиками, внедряем CI одинаковые версии зависимостей (go.mod, vendor) одинаковые версии софта (скрипты, докер-контейнеры) Автоматизируем поиск ошибок до code review: внедряем линтеры для проверки кода под общие договоренности команды CI — зачем нужен и как добавить добавляем запуск тестов в CI Результат: большая часть багов ловится без твоего участия: тесты прогоняются сами, а код автоматически тестируется и валидируется линтерами до ревью теперь у тебя есть не только pet-проект коммерческого уровня, но и шаблон, по которому можно ориентироваться в других задачах — переиспользовать практики и ускорять свою работу

Складчина создана 15 мая 2026 г. · описание обновлено 25 октября 2026 г.

Теги курса

3 000 ₽ 30 000 ₽