Полный путь от первой строчки кода до распределённой микросервисной архитектуры
с gRPC, RabbitMQ, PostgreSQL, Redis, Prometheus и Grafana.
300+ видеоуроков · 50 часов · 261 тест · 3 реальных проекта
Первый файл курса. Через 14 дней вы будете писать микросервисы
package main import "fmt" func main() { // Day 01: first steps with Go types var name string = "Go Master Course" var days int = 14 var ready bool = true fmt.Printf("Course: %s\n", name) fmt.Printf("Days: %d, Ready: %t\n", days, ready) }
Go создан в Google для масштабных систем. Простой синтаксис, молниеносная компиляция и встроенная конкурентность делают его идеальным для backend
Минимальный синтаксис, мгновенная компиляция в нативный бинарник. Нет классов, наследования, исключений — только то, что нужно
Горутины и каналы — легковесные потоки из коробки. Тысячи конкурентных задач без боли
HTTP-сервер, JSON, криптография, тестирование — всё встроено. Минимум внешних зависимостей
Docker, Kubernetes, Terraform, Prometheus — вся cloud-инфраструктура написана на Go. Один из самых высокооплачиваемых языков
Маленькие бинарники, мгновенный старт, низкое потребление памяти. Создан для контейнеров и облака
Типобезопасное обобщённое программирование. Go стал ещё мощнее, не потеряв простоту
Курс подходит как новичкам, так и разработчикам, переходящим на Go с других языков
Курс начинается с абсолютных основ: типы данных, переменные, условия, циклы. Каждый день — новая тема с десятками упражнений
Интенсивное погружение в Go-way: композиция вместо наследования, горутины вместо async/await, интерфейсы без implements
От консольных утилит до распределённых микросервисов: REST API, gRPC, очереди сообщений, базы данных, мониторинг
Полный набор навыков для backend-разработчика на Go
Типы данных, переменные, условия, циклы, функции, коллекции — крепкий фундамент для всего остального
ООП на Go: композиция вместо наследования, полиморфизм через интерфейсы, generics (Go 1.18+)
Горутины, каналы, WaitGroup, Mutex — настоящая параллельная обработка данных
5 принципов SOLID + Factory, Builder, Singleton, Adapter, Prototype, Functional Options
Gin framework, middleware, аутентификация, авторизация, валидация, SQL-базы данных
gRPC, RabbitMQ, Redis, PostgreSQL, MySQL — распределённая архитектура с observability
Один из самых полных русскоязычных курсов по Go
Первый полноценный проект — применяем всё изученное за 10 дней.
Консольное приложение с доменной моделью, JSON-хранилищем, CLI-меню и валидацией.
25 уроков пошаговой разработки
SOLID Principles
Design Patterns
Полнофункциональная система управления контактами с поддержкой множественных телефонов и email, тегов для поиска, заметок и связей между контактами (семья, коллеги, друзья). Данные атомарно сохраняются в JSON. Каскадное удаление связей.
go-contact-book/ |-- cmd/contactbook/ | |-- main.go // точка входа, инициализация | +-- data/ | |-- contacts.json // персистентные данные | +-- seed.json // демо-данные | +-- internal/ |-- app/ | +-- app.go // Application struct, DI |-- cli/ | |-- cli.go // CLI-контроллер | |-- handlers.go // обработчики команд | +-- menu.go // интерактивное меню |-- domain/ | |-- contact.go // модель Contact | |-- contactbook.go // бизнес-логика: CRUD, поиск | +-- errors.go // доменные ошибки +-- storage/ |-- storage.go // интерфейс Storage +-- json_storage.go // JSON + atomic write
Переписываем Contact Book как Web API: Gin framework, SQLite база данных, JWT токены для аутентификации, middleware для авторизации, валидация данных через go-playground/validator, soft delete, 7 эндпоинтов.
go-contacts-app/ |-- cmd/ | +-- main.go // HTTP-сервер на Gin +-- internal/ |-- contacts/ | |-- model.go // Contact struct + tags | |-- repository.go // SQLite CRUD | |-- service.go // бизнес-логика | +-- handler.go // HTTP-обработчики |-- auth/ | |-- model.go // User struct | |-- repository.go // users table | |-- service.go // register + login | |-- handler.go // auth endpoints | +-- jwt.go // JWT service (HS256) +-- middleware/ +-- auth.go // Bearer token middleware
POST /auth/registerPOST /auth/loginGET /contactsGET /contacts/:idPOST /contactsPUT /contacts/:idDEL /contacts/:id
GET /api/v1/catalog-itemsGET /api/v1/brandsGET /api/v1/categoriesGET /cart POST /cartPOST /cart/checkoutGetPromoByCatalogItemCreatePromoUpdatePromoDeletePromo
GET /orders/{id}GET /orders/account/{name}Basket Service вызывает Promotion Service через gRPC для получения скидок. Синхронный вызов при каждом запросе корзины. Protobuf / HTTP/2.
При checkout Basket публикует OrderSubmittedEvent. Checkout асинхронно потребляет событие и создаёт заказ. QoS: 1, Manual ACK.
Handler → Service → Repository. Чёткое разделение слоёв с инверсией зависимостей
Checkout Service: запись через RabbitMQ consumer, чтение через REST API
Асинхронная коммуникация между сервисами через события в RabbitMQ
Абстракция доступа к данным. Каждый сервис владеет своей БД
Конструкторная инъекция. Все зависимости передаются явно
Reconnect к RabbitMQ и БД. Graceful shutdown с контекстами
Dockerfile: builder (Go compile) → scratch (minimal image)
Redis → PostgreSQL. TTL-based invalidation для корзин
Подробная текстовая документация к каждому дню курса: теория, примеры, задачи. Используйте как справочник параллельно с видео или для повторения
int, float, bool, string, byte, rune, scope, memory, zero values, naming
Арифметика, побитовые операции, fmt, форматирование, const, iota
if/else, comparison, logical ops, short-circuit, switch, init-in-if
for, while-pattern, range, break/continue, PRNG, crypto/rand
Declaration, 2D-arrays, boundaries, iteration, copying, practical tasks
make, len/cap, nil vs empty, append, copy, multi-dimensional
UTF-8, runes, concatenation, conversion, escape, strings.Builder
Pointers, stack/heap, scope, bufio.Scanner, input methods
Maps, sets, make, delete, comma ok, ordered iteration
Parameters, returns, variadic, closures, higher-order, recursion
error interface, errors.Is, wrap, panic, defer, recover, re-panic
os, bufio, io, time.Now, formatting, parsing, Duration
От fmt.Println до distributed systems — как растёт ваш инструментарий
Четыре фазы с нарастающей сложностью. Каждая фаза строится на предыдущей
14 дней, 86+ упражнений
Типы, переменные, условия, циклы, коллекции, функции, структуры, интерфейсы,
конкурентность, SOLID, паттерны
Contact Book (25 уроков)
Консольное приложение с JSON-хранилищем, доменной моделью, связями, поиском и тегами
Contacts REST API (29 уроков)
Gin, JWT, SQLite, CRUD, middleware, авторизация, валидация, 7 эндпоинтов
Marketplace (6000+ LOC)
4 сервиса, gRPC, RabbitMQ, PostgreSQL, MySQL, Redis, Prometheus, Grafana, Docker