Курс обновлён · июль 2026

Изучение Go
от основ до middle

Структурированный курс из 48 модулей: синтаксис, конкурентность, базы данных, микросервисы, паттерны проектирования, пет-проекты и полный стек для SPA backend.

48
модулей
9
частей курса
995
KB контента
~300
часов чтения
Часть 01

Основы

10 модулей
0128 KB

01. Linux, сети и протоколы

Прежде чем писать серверный код, нужно понимать, где этот код будет работать. Большинство Go-сервисов крутятся на Linux-серверах. Эта тема даёт минимально необходимую базу: работа в терминале, сетевые основы и протоколы.

0228 KB

02. Git и контроль версий

Git — это система, которая хранит историю изменений вашего кода и позволяет нескольким разработчикам работать над одним проектом без хаоса. Без Git невозможна ни одна современная команда. Этот модуль — практический минимум, который нужно знать к концу второй недели обучения.

0356 KB

03. Go: основы языка и синтаксис

Это самый важный модуль курса. Здесь разобраны все базовые конструкции Go: переменные, типы, функции, циклы, срезы, карты, структуры. Если вы проработаете этот модуль и выполните все задания — у вас будет прочный фундамент для всех последующих тем.

0429 KB

04. Go: продвинутые типы, указатели, интерфейсы

Этот модуль закрывает пробелы базового синтаксиса: указатели, интерфейсы (главная особенность Go), встраивание, рефлексия и дженерики. После этого модуля вы будете владеть языком на уровне, достаточном для понимания большинства production-кода.

0524 KB

05. Go: обработка ошибок

Обработка ошибок — это та тема, которая отличает продакшн-код от учебного. В Go нет try/catch, нет throw/catch. Есть простая идиома: функция возвращает ошибку, вызывающий её обрабатывает. Этот модуль учит делать это правильно.

0625 KB

06. Go: конкурентное программирование

Конкурентность — главная killer-фича Go, ради которой язык часто и выбирают. Горутины дёшевы, каналы элегантны, race detector ловит баги. Этот модуль — самый важный в курсе: он отличает Go-разработчика от «человека, который пишет на Go».

0719 KB

07. Go: работа с контекстом (context.Context)

context.Context — это механизм для управления временем жизни операций в Go. Он решает главную проблему серверного кода: что делать, когда клиент отключился, а ваши горутины всё ещё работают. Этот модуль — must-have для любого Go-разработчика, пишущего сервисы.

0816 KB

08. Go: рантайм, память, сборщик мусора

Этот модуль заглядывает «под капот» Go. Здесь разобрано, как работает планировщик горутин, как Go распределяет память, как сборщик мусора освобождает неиспользуемые объекты. Понимание этих тем отличает middle-разработчика от junior.

0920 KB

09. Go: пакеты, модули, инструменты

Этот модуль — профессиональные основы: как организовать код в пакеты, как управлять зависимостями через Go Modules, какие инструменты использовать каждый день. После этого модуля вы сможете уверенно работать в любом Go-проекте.

1020 KB

10. Go: практики и стили кодирования

Этот модуль про идиоматичный Go. Здесь собраны принципы, которые отличают production-код от «кода, который компилируется». Следование этим практикам сделает ваш код понятным для других Go-разработчиков и позволит избежать типичных ошибок.

Часть 02

Базы данных и хранилища

5 модулей
1118 KB

11. PostgreSQL: основы SQL

PostgreSQL — самая популярная реляционная БД в Go-экосистеме. Этот модуль — практический минимум SQL, который нужен бэкенд-разработчику. Если вы уже знаете SQL — этот модуль можно проходить быстро, фокусируясь на нюансах PostgreSQL.

1216 KB

12. PostgreSQL: индексы и оптимизация запросов

Этот модуль — про производительность. Здесь разобрано, почему запросы тормозят и как их ускорять. Без понимания индексов и планов выполнения вы не сможете писать эффективные Go-сервисы с PostgreSQL.

1318 KB

13. PostgreSQL: транзакции и продвинутые возможности

Транзакции — это фундамент надёжности баз данных. Без них невозможно обеспечить целостность данных при параллельной работе. Этот модуль разбирает ACID, уровни изоляции, дедлоки и паттерны работы с транзакциями в Go.

1713 KB

17. Redis и кэширование

Redis — самое популярное in-memory хранилище для кэширования, сессий, очередей, счётчиков. Этот модуль учит использовать Redis из Go, разбираться в стратегиях кэширования и паттернах.

1815 KB

18. Kafka и брокеры сообщений

Kafka — распределённая платформа для потоковой обработки данных. Этот модуль — про брокеры сообщений в целом и Kafka в частности: архитектура, модель доставки, паттерны использования в Go.

Часть 03

Инфраструктура

3 модулей
Часть 04

Архитектура

6 модулей
1522 KB

15. REST API

REST — это архитектурный стиль для построения веб-сервисов. Большинство публичных API в мире — REST. Этот модуль учит проектировать и реализовывать REST API на Go: от HTTP-основ до аутентификации и документации.

1615 KB

16. gRPC и Protocol Buffers

gRPC — фреймворк для межсервисного взаимодействия, разработанный Google. Используется в микросервисах для быстрой и типобезопасной коммуникации. Этот модуль учит создавать gRPC-сервисы на Go.

2211 KB

22. Архитектура приложений

Архитектура — это то, как организован код: какие слои, как они общаются, какие зависимости. Правильная архитектура делает приложение понятным и изменяемым. Этот модуль разбирает основные архитектурные паттерны в Go-контексте.

2310 KB

23. Проектирование микросервисов

Микросервисная архитектура — это подход к разработке больших систем как набора небольших сервисов. Go особенно популярен для микросервисов благодаря скорости, лёгкости деплоя и встроенной поддержке конкурентности. Этот модуль — практическое введение в микросервисы на Go.

2412 KB

24. Логирование и мониторинг

Логи и метрики — глаза и уши production-сервиса. Без них вы летите вслепую. Этот модуль учит правильно логировать (структурированно), собирать метрики и настраивать мониторинг.

2512 KB

25. Профилирование и рефакторинг

Профилирование — это способ найти узкие места в коде по данным, а не по интуиции. Этот модуль учит использовать pprof для CPU и memory профилей, читать результаты и оптимизировать горячие точки.

Часть 05

Алгоритмы и паттерны

4 модулей
1916 KB

19. Тестирование кода

Тесты — это страховка от регрессий и исполняемая документация. В Go тесты — часть языка, а не внешний фреймворк. Этот модуль учит писать unit, интеграционные и функциональные тесты, бенчмарки и работать с моками.

2012 KB

20. ООП и принципы проектирования

Go — не классический ООП-язык, но принципы SOLID и ООП-мышление в нём важны. Этот модуль разбирает, как применять принципы проектирования в Go-стиле.

2113 KB

21. Паттерны проектирования в Go

Паттерны проектирования — проверенные решения типовых задач. В Go они реализуются иначе, чем в классических ООП-языках (через интерфейсы и функции), но идеи остаются те же. Этот модуль — практический обзор паттернов в Go-стиле.

2637 KB

26. Алгоритмы и структуры данных

Этот модуль — про алгоритмическое мышление. На собеседованиях по Go часто дают задачи на массивы, строки, деревья и графы. Без тренировки не получится решать их уверенно. Модуль построен как практикум: теория + задачи + подсказки + эталонные решения.

Часть 06

Углублённые темы

4 модулей
2920 KB

29. Domain-Driven Design

DDD — подход к проектированию, где кодовая модель тесно связана с бизнес-доменом. Этот модуль — про стратегические и тактические паттерны DDD в применении к Go: как выделять bounded contexts, строить агрегаты, проектировать репозитории.

3020 KB

30. English for Engineers

Английский — рабочий язык Go-экосистемы. Документация, RFC, godoc, баги в issues, обсуждения в Slack — всё на английском. Этот модуль учит уверенно читать технические тексты и писать технически грамотно.

3618 KB

36. Networking — глубокое погружение

Модуль 01 — основы сетей. Этот модуль — про глубокие знания: TCP/IP, DNS, диагностика, HTTP/TLS, SSH-туннели, firewall. Эти знания нужны для отладки production-инцидентов и архитектурных решений.

3717 KB

37. Go Runtime: глубокое погружение

Модуль 08 — основы рантайма. Этот модуль — про глубокое понимание: G/P/M, work stealing, блокировки, preemption, GC. Эти знания нужны для оптимизации производительности и отладки сложных проблем.

Часть 07

Продвинутая инфра

5 модулей
3122 KB

31. Kafka: stream processing и production-паттерны

В модуле 18 разобраны основы Kafka. Этот модуль — про production-сценарии: stream processing, exactly-once, schema evolution, monitoring, типичные ошибки. Здесь вы научитесь строить надёжные event-driven системы.

3220 KB

32. Redis: Sentinel, Cluster, Streams, Highload

В модуле 17 — основы Redis. Этот модуль — про production: отказоустойчивость (Sentinel), масштабирование (Cluster), потоковая обработка (Streams), pub/sub и паттерны для высоких нагрузок.

3324 KB

33. PostgreSQL: расширенные темы

Модули 11–13 покрывают основы PostgreSQL. Этот модуль — про продвинутые темы: миграции через goose, PL/pgSQL, репликацию, шардирование, партиционирование. Эти знания нужны для построения надёжных систем.

3417 KB

34. Docker: расширенные темы

Модуль 14 — основы Docker. Этот модуль — про продвинутые техники: multi-stage builds, healthchecks, profiles, debugging, security и best practices. Эти знания нужны для production-grade контейнеризации.

3520 KB

35. Fuzzing и продвинутое тестирование

Модуль 19 — основы тестирования. Этот модуль — про продвинутые техники: fuzzing, моки через gomock, property-based testing, контрактные тесты, mutation testing. Эти знания помогают находить баги, которые обычные тесты не ловят.

Часть 08

Пет-проекты

2 модулей
Часть 09

Веб-приложения и SPA backend

8 модулей
4017 KB

40. Echo framework — быстрый старт для SPA backend

Echo — это высокопроизводительный минималистичный веб-фреймворк для Go, который стоит на втором месте по популярности после net/http. Он даёт удобный роутинг, middleware-цепочки, валидацию и обработку ошибок из коробки. В этом модуле — практический минимум для создания backend под SPA (React/Vue/Svelte/Angular).

4118 KB

41. Валидация входящих данных — формы, JSON, query

Валидация — это первая линия обороны вашего приложения. Невалидированные данные ломают БД, открывают уязвимости (SQL-инъекции, XSS, mass assignment) и создают баги, которые сложно воспроизвести. В этом модуле — практические подходы к валидации в Go через теги, кастомные валидаторы и единый формат ошибок.

4221 KB

42. JWT аутентификация — access + refresh токены

JWT (JSON Web Token) — это компактный формат токенов, который позволяет серверу не хранить сессии. Клиент хранит токен и шлёт его в каждом запросе. Этот модуль — практический разбор JWT для SPA: как правильно делать access/refresh пару, защищать роуты, безопасно работать с refresh-токенами.

4328 KB

43. OAuth2 — вход через Google, GitHub, Yandex и другие провайдеры

OAuth2 — это стандарт делегированной авторизации, который позволяет пользователям входить в ваш SPA через Google/GitHub/Yandex, не создавая отдельный пароль. Этот модуль — практическая реализация Authorization Code Flow с PKCE (обязателен для SPA), регистрацией приложений у провайдеров и обработкой всех edge cases.

4424 KB

44. CORS, CSRF, Security Headers — защита SPA-backend

CORS, CSRF и security headers — три кита веб-безопасности, без которых SPA-backend уязвим к атакам. В этом модуле — практические настройки для production, объяснения каждой атаки через конкретные сценарии и проверенные конфигурации middleware.

4523 KB

45. Rate limiting — защита от спама, brute-force и DDoS

Rate limiting — ограничение частоты запросов — это первая линия защиты API от перегрузки и атак. Без него один пользователь (или атакующий) может положить ваш сервер, перебрав пароли или просто зациклив скрипт. В этом модуле — практические алгоритмы (token bucket, sliding window), библиотеки и стратегии лимитирования для SPA backend.

4627 KB

46. WebAuthn и Passkeys — пароли уходят в прошлое

WebAuthn — это современный стандарт аутентификации без пароля, поддержанный FIDO Alliance, W3C и всеми крупными платформами (Apple, Google, Microsoft). Passkeys (на базе WebAuthn) — это самая простая и безопасная замена паролям: пользователь подтверждает вход через Touch ID, Face ID, Windows Hello или security key. В этом модуле — практическая реализация на Go через go-webauthn/webauthn.

4725 KB

47. OpenAPI 3 — контракт API, документация и автогенерация клиентов

OpenAPI (бывший Swagger) — это стандарт описания REST API в формате YAML или JSON. С OpenAPI вы получаете: документацию автоматически, типобезопасные клиенты для SPA и мобильных приложений, валидацию запросов/ответов и mocking. В этом модуле — практический workflow от спецификации до сгенерированных TypeScript-клиентов для React/Vue.

Ничего не найдено

Попробуй другой запрос или очисти поиск

К курсу