Курс на Stepik
Обложка курса «Go для сеньоров» на Stepik
500 ₽

Go для сеньоров ★ 5.000

Открыть на
STEPIK.ORG

Senior Go: runtime, GC, память, pprof, trace, продвинутая конкурентность, unsafe, архитектура, gRPC, observability, production-тесты, Kubernetes и итоговый сервис.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Go для сеньоров»Учеников на курсе 36
Сертификаты, выданные на курсе «Go для сеньоров»Сертификатов выдано 0
Отзывы о курсе «Go для сеньоров»Отзывов получено 2
Рейтинг курса «Go для сеньоров»Рейтинг курса 5.000
Уроки в курсе «Go для сеньоров»Количество уроков 108
Тесты в курсе «Go для сеньоров»Количество квизов 414
Время прохождения курса «Go для сеньоров»Время прохождения курса —
Стоимость курса «Go для сеньоров»Стоимость курса 500 ₽ —
Обновления курса «Go для сеньоров»Обновления курса — —
Дата публикации курса «Go для сеньоров»Дата публикации курса — ———
Последнее обновление курса «Go для сеньоров»Последнее обновление — ———
Сложность hard — ———

Содержание курса

Разделы в курсе «Go для сеньоров» 15 разделов Уроки в курсе «Go для сеньоров» 108 уроков Тесты в курсе «Go для сеньоров» 414 тестов Время прохождения курса «Go для сеньоров» 0 ч. Последнее обновление курса «Go для сеньоров» обн. 16 июля 2026

Модуль 1. От мидла к сеньору: что меняется

5 уроков
1. О курсе: как проходить обучение и канал «Логово Дата-Инженера» ↗
2. Кто такой сеньор в Go: не синтаксис, а решения и ответственность ↗
3. Ревизия базы: интерфейсы, горутины и каналы за пять минут ↗
4. Ревизия базы: контекст, ошибки и HTTP-сервер одним взглядом ↗
5. Код, который живёт годами: проектируем под эволюцию, а не под… ↗

Модуль 2. Runtime Go

8 уроков
1. Рантайм Go: что происходит от func main до выхода из программы ↗
2. Планировщик G-M-P: горутины, машины и процессоры в деталях ↗
3. Кооперативная многозадачность и вытеснение: как планировщик… ↗
4. Сетевой поллер (netpoller): как Go обслуживает тысячи… ↗
5. Сборка мусора: трёхцветный mark-and-sweep и барьер записи ↗
6. GOGC и GOMEMLIMIT: управляем агрессивностью сборщика мусора ↗
7. Трассировка рантайма: как читать go tool trace и видеть, что… ↗
8. escape analysis: почему компилятор решает, что уходит в кучу… ↗

Модуль 3. Управление памятью

8 уроков
1. Стек горутины: растёт динамически, стартует с 2 КБ ↗
2. Куча: escape analysis и почему переменная убегает из стека ↗
3. Профилирование аллокаций: go test -benchmem и pprof allocs ↗
4. sync.Pool на глубину: когда кэш объектов спасает, а когда вредит ↗
5. Арены (arena): экспериментальный механизм Go 1.20+ для… ↗
6. Уменьшаем аллокации: переиспользование срезов… ↗
7. Zero-cost в Go: мифы и реальность — за что платит… ↗
8. Практика: профилируем, находим горячие аллокации и устраняем ↗

Модуль 4. Профилирование и оптимизация

9 уроков
1. Дисциплина оптимизации: измерь → сформулируй гипотезу → проверь ↗
2. CPU-профилирование через pprof: где программа тратит время ↗
3. Memory-профилирование: что и сколько аллоцирует программа ↗
4. Блокировки и профиль горутин: кто кого ждёт и почему ↗
5. Бенчмаркинг по-взрослому: изоляция, прогрев, статистическая… ↗
6. perf и flame graphs: системное профилирование Linux поверх Go ↗
7. Оптимизация горячего пути: инлайнинг, bounds check… ↗
8. Сравнение бенчмарков до и после: как не обмануть себя ↗
9. Практика: берём реальный сервис и улучшаем его… ↗

Модуль 5. Продвинутая конкурентность

9 уроков
1. Сложный select: приоритеты, default и таймауты в одном блоке ↗
2. Широковещательная рассылка через закрытие канала ↗
3. Семантический контекст отмены: как каскадно гасить горутины ↗
4. errgroup с лимитом: контролируем параллелизм и собираем ошибки ↗
5. Синхронизация без блокировок: CAS-циклы и lock-free структуры ↗
6. Диагностика deadlock и гонок: go run -race и чтение трассировки ↗
7. Паттерны реактивного программирования на каналах ↗
8. Актёрная модель на горутинах: почтовый ящик и селект ↗
9. Антипаттерны конкурентности: как не превратить код в кашу из… ↗

Модуль 6. unsafe, cgo и ассемблер

7 уроков
1. Пакет unsafe: Sizeof, Alignof, Offsetof и арифметика указателей ↗
2. unsafe.Pointer: мост между указателями Go и сырыми адресами ↗
3. unsafe.Slice и unsafe.String: создаём срез и строку из сырой… ↗
4. cgo: вызываем C-функции из Go-кода ↗
5. Обратный вызов: передаём Go-функции в C-код ↗
6. Цена cgo: почему вызов C — это не дешёвая операция ↗
7. Go Assembly: читаем дизассемблированный вывод для понимания… ↗

Модуль 7. Кодогенерация

6 уроков
1. go generate: директива, которая запускает кодогенерацию ↗
2. Генерируем String() методы для перечислений через stringer ↗
3. Генерируем моки для интерфейсов через mockgen ↗
4. Генерируем JSON-сериализаторы быстрее стандартных через easyjson ↗
5. Свой генератор кода: читаем AST, анализируем типы, генерируем… ↗
6. Шаблоны в кодогенерации: пакеты text/template и html/template ↗

Модуль 8. Архитектура приложений

9 уроков
1. Слоистая архитектура в Go: handler → service → repository ↗
2. Чистая архитектура: сущности, use cases и внешние адаптеры ↗
3. Инверсия зависимостей: интерфейсы принадлежат потребителю, а… ↗
4. Доменный слой без фреймворков: чистая бизнес-логика на голом Go ↗
5. Feature-based структура проекта: группируем код по… ↗
6. Монолит против микросервисов: когда и как разделять ↗
7. Проектирование ошибок в большой системе: слои и маппинг ошибок ↗
8. Event-driven подход: события как способ ослабить связность ↗
9. Рефакторинг живого проекта к чистой архитектуре: стратегия и… ↗

Модуль 9. Сетевое программирование

7 уроков
1. net.Conn и net.Listener: TCP-сервер с нуля ↗
2. Мультиплексирование соединений и тысячи клиентов в одной… ↗
3. Кастомный протокол поверх TCP: фрейминг, кодирование и таймауты ↗
4. WebSocket на gorilla/websocket или nhooyr.io/websocket ↗
5. gRPC на Go: protobuf, генерация кода и стриминг ↗
6. Производительность сети: буферы, TCP_NODELAY и пулы буферов ↗
7. Graceful shutdown сетевого сервера: не теряем запросы при… ↗

Модуль 10. gRPC и Protocol Buffers

6 уроков
1. Protocol Buffers: язык описания данных и кодогенерация в Go ↗
2. Сервис gRPC на Go: определяем .proto и генерируем клиент и… ↗
3. Unary RPC, Server-side streaming, Client-side streaming и… ↗
4. Middleware в gRPC: интерсепторы для логирования… ↗
5. Управление версиями protobuf: обратная совместимость без… ↗
6. gRPC Gateway: HTTP/JSON поверх gRPC сервиса через grpc-gateway ↗

Модуль 11. Наблюдаемость

7 уроков
1. Observability: метрики + трассировка + логи = полная картина ↗
2. Трассировка через OpenTelemetry: спаны, контекст и propagation ↗
3. Инструментируем HTTP и gRPC автоматически через otelhttp и… ↗
4. Метрики через Prometheus: счётчики, гистограммы и дашборды ↗
5. RED-метрики: Rate, Errors, Duration для каждого сервиса ↗
6. Алертинг: какие метрики должны вызывать будильник ночью ↗
7. Связываем логи с трейсами: trace_id в каждой строке лога ↗

Модуль 12. Тестирование в production

7 уроков
1. Пирамида тестов: сколько каких тестов должно быть и почему ↗
2. Интеграционные тесты с реальной базой: testcontainers-go ↗
3. Контрактное тестирование между микросервисами ↗
4. Property-based тестирование: fuzzing и rapid-библиотеки ↗
5. Chaos engineering: как тестировать устойчивость системы к… ↗
6. Load testing через vegeta: сколько запросов выдерживает ваш… ↗
7. Smoke и canary тесты в CI/CD пайплайне ↗

Модуль 13. CI/CD и деплой

6 уроков
1. Dockerfile для Go: multi-stage сборка и минимальный образ ↗
2. Кросс-компиляция: GOOS и GOARCH для любых платформ ↗
3. CI-пайплайн: линтинг, тесты, проверка гонок и сборка ↗
4. CD-стратегии: rolling update, blue-green и canary деплой ↗
5. Kubernetes для Go-сервиса: манифесты, пробы и ограничения… ↗
6. Секреты, конфигурация и переменные окружения в production ↗

Модуль 14. Open source и экосистема

5 уроков
1. Читаем исходники стандартной библиотеки: net/http изнутри ↗
2. Читаем популярные проекты: структура кода, паттерны и… ↗
3. Свой вклад в open-source: issue, PR, код-ревью и культура… ↗
4. Публикуем Go-библиотеку: документация, примеры и версионирование ↗
5. Дорожная карта после сеньора: экосистема, специализации и рост ↗

Модуль 15. Итоговый проект: production-ready микросервис

9 уроков
1. Проект: архитектура сервиса — требования и ключевые решения ↗
2. Проектируем protobuf-контракты и доменную модель ↗
3. Реализуем gRPC-сервер с интерсепторами и graceful shutdown ↗
4. Слой доступа к данным: PostgreSQL и паттерн Repository ↗
5. Бизнес-логика: чистая, тестируемая, без утечки абстракций ↗
6. Наблюдаемость: Prometheus-метрики и OpenTelemetry-трассировка ↗
7. Нагрузочное тестирование и оптимизация горячего пути ↗
8. Docker, Kubernetes-манифесты и CI/CD пайплайн ↗
9. Финальный код-ревью и дорожная карта дальнейшего развития ↗