open atlas

go

Go с нуля до senior

Маленький язык для больших систем — типы, ошибки, интерфейсы и конкурентность, которая масштабируется.

13 юнитов·45 уроков·~14 ч

Начать трек
01

Типы, ошибки, интерфейсы

Весь дизайн Go — это явность: значения вместо ссылок, ошибки как значения, интерфейсы реализуются неявно.
02

Горутины, каналы, модель памяти

Горутины дёшевы, потому что их планирует рантайм; каналы и модель памяти — контракт безопасности.
03

HTTP-сервисы на stdlib

net/http — production-фреймворк: роутинг с 1.22, мидлвары как обёртки и таймауты, которые ставишь сам — иначе течёшь соединениями.
04

Тестирование и тулчейн Go

Табличные тесты — идиома, фаззинг и бенчмарки встроены, а тулчейн (vet, race, pprof) — половина ценности языка.
05

Дженерики и дизайн пакетов

Дженерики убирают копипасту, а не интерфейсы: констрейнты — множества типов, инстанцирование на компиляции, и большинству кода всё ещё нужен интерфейс.
06

Рантайм, GC и профилирование

GC в Go меняет пропускную способность на паузы меньше миллисекунды; escape analysis решает стек или куча, а pprof показывает, в какой миф ты верил.
07

Production-паттерны

Production Go — это дисциплина: context течёт вниз по каждому вызову, конфиг явный, логи — структурный slog, ретраи уважают бюджеты.
08

Доступ к данным: database/sql и дальше

database/sql — это пул, а не соединение: кривой размер пула душит под нагрузкой, транзакции пиннят соединения, sqlc генерирует рутину.
09

gRPC и контракты API

gRPC — компилятор контрактов: protobuf-схемы версионируются только добавлением, ломающие изменения требуют новых полей, gateway транслирует в REST.
10

Продвинутая конкурентность

errgroup пробрасывает первую ошибку и отменяет соседей; пайплайн обязан умирать по отмене контекста, иначе течёт горутинами; backpressure лучше буферов.
11

Безопасность и supply chain

Криптография — из stdlib и без самодеятельности: constant-time сравнения, настоящая случайность, govulncheck в CI, минимальные образы по умолчанию.
12

Деплой и эксплуатация

Go-бинарник и есть артефакт деплоя: статическая линковка и кросс-компиляция, scratch-контейнеры, health-пробы на реальную готовность.
13

Системные проекты

Go — клей для систем: CLI с честными exit-кодами, демоны под systemd, процессы, файлы и блокировки без ошибок.

Проекты по этому треку

Guided-проекты, которые закрепляют изученное здесь.

Следующий трек

Docker: контейнеры как система

За пределы «напиши Dockerfile» — как на самом деле работают образы, namespaces, BuildKit и реестры, и как контейнеры ведут себя в проде.