Изучение Go
от основ до middle
Структурированный курс из 48 модулей: синтаксис, конкурентность, базы данных, микросервисы, паттерны проектирования, пет-проекты и полный стек для SPA backend.
Основы
10 модулей01. Linux, сети и протоколы
Прежде чем писать серверный код, нужно понимать, где этот код будет работать. Большинство Go-сервисов крутятся на Linux-серверах. Эта тема даёт минимально необходимую базу: работа в терминале, сетевые основы и протоколы.
02. Git и контроль версий
Git — это система, которая хранит историю изменений вашего кода и позволяет нескольким разработчикам работать над одним проектом без хаоса. Без Git невозможна ни одна современная команда. Этот модуль — практический минимум, который нужно знать к концу второй недели обучения.
03. Go: основы языка и синтаксис
Это самый важный модуль курса. Здесь разобраны все базовые конструкции Go: переменные, типы, функции, циклы, срезы, карты, структуры. Если вы проработаете этот модуль и выполните все задания — у вас будет прочный фундамент для всех последующих тем.
04. Go: продвинутые типы, указатели, интерфейсы
Этот модуль закрывает пробелы базового синтаксиса: указатели, интерфейсы (главная особенность Go), встраивание, рефлексия и дженерики. После этого модуля вы будете владеть языком на уровне, достаточном для понимания большинства production-кода.
05. Go: обработка ошибок
Обработка ошибок — это та тема, которая отличает продакшн-код от учебного. В Go нет try/catch, нет throw/catch. Есть простая идиома: функция возвращает ошибку, вызывающий её обрабатывает. Этот модуль учит делать это правильно.
06. Go: конкурентное программирование
Конкурентность — главная killer-фича Go, ради которой язык часто и выбирают. Горутины дёшевы, каналы элегантны, race detector ловит баги. Этот модуль — самый важный в курсе: он отличает Go-разработчика от «человека, который пишет на Go».
07. Go: работа с контекстом (context.Context)
context.Context — это механизм для управления временем жизни операций в Go. Он решает главную проблему серверного кода: что делать, когда клиент отключился, а ваши горутины всё ещё работают. Этот модуль — must-have для любого Go-разработчика, пишущего сервисы.
08. Go: рантайм, память, сборщик мусора
Этот модуль заглядывает «под капот» Go. Здесь разобрано, как работает планировщик горутин, как Go распределяет память, как сборщик мусора освобождает неиспользуемые объекты. Понимание этих тем отличает middle-разработчика от junior.
09. Go: пакеты, модули, инструменты
Этот модуль — профессиональные основы: как организовать код в пакеты, как управлять зависимостями через Go Modules, какие инструменты использовать каждый день. После этого модуля вы сможете уверенно работать в любом Go-проекте.
10. Go: практики и стили кодирования
Этот модуль про идиоматичный Go. Здесь собраны принципы, которые отличают production-код от «кода, который компилируется». Следование этим практикам сделает ваш код понятным для других Go-разработчиков и позволит избежать типичных ошибок.
Базы данных и хранилища
5 модулей11. PostgreSQL: основы SQL
PostgreSQL — самая популярная реляционная БД в Go-экосистеме. Этот модуль — практический минимум SQL, который нужен бэкенд-разработчику. Если вы уже знаете SQL — этот модуль можно проходить быстро, фокусируясь на нюансах PostgreSQL.
12. PostgreSQL: индексы и оптимизация запросов
Этот модуль — про производительность. Здесь разобрано, почему запросы тормозят и как их ускорять. Без понимания индексов и планов выполнения вы не сможете писать эффективные Go-сервисы с PostgreSQL.
13. PostgreSQL: транзакции и продвинутые возможности
Транзакции — это фундамент надёжности баз данных. Без них невозможно обеспечить целостность данных при параллельной работе. Этот модуль разбирает ACID, уровни изоляции, дедлоки и паттерны работы с транзакциями в Go.
17. Redis и кэширование
Redis — самое популярное in-memory хранилище для кэширования, сессий, очередей, счётчиков. Этот модуль учит использовать Redis из Go, разбираться в стратегиях кэширования и паттернах.
18. Kafka и брокеры сообщений
Kafka — распределённая платформа для потоковой обработки данных. Этот модуль — про брокеры сообщений в целом и Kafka в частности: архитектура, модель доставки, паттерны использования в Go.
Инфраструктура
3 модулей14. Docker и контейнеризация
Docker — стандарт упаковки приложений. Этот модуль учит упаковывать Go-сервисы в контейнеры, поднимать инфраструктуру через docker-compose и работать с образами. Без Docker невозможно представить современный backend.
27. CI/CD и DevOps
CI/CD — это автоматизация пути от коммита до production. Без пайплайна каждый релиз — ручной стресс. Этот модуль учит строить пайплайны на GitHub Actions и Jenkins, понимать стадии, секреты, артефакты и деплой.
28. Go: системное программирование
Системное программирование — это работа с ОС напрямую: процессы, файлы, сигналы, сокеты, IPC. Go прячет многое за абстракциями, но понимание низкого уровня даёт контроль над производительностью. Этот модуль — про инструменты, которые Go даёт для sysprog.
Архитектура
6 модулей15. REST API
REST — это архитектурный стиль для построения веб-сервисов. Большинство публичных API в мире — REST. Этот модуль учит проектировать и реализовывать REST API на Go: от HTTP-основ до аутентификации и документации.
16. gRPC и Protocol Buffers
gRPC — фреймворк для межсервисного взаимодействия, разработанный Google. Используется в микросервисах для быстрой и типобезопасной коммуникации. Этот модуль учит создавать gRPC-сервисы на Go.
22. Архитектура приложений
Архитектура — это то, как организован код: какие слои, как они общаются, какие зависимости. Правильная архитектура делает приложение понятным и изменяемым. Этот модуль разбирает основные архитектурные паттерны в Go-контексте.
23. Проектирование микросервисов
Микросервисная архитектура — это подход к разработке больших систем как набора небольших сервисов. Go особенно популярен для микросервисов благодаря скорости, лёгкости деплоя и встроенной поддержке конкурентности. Этот модуль — практическое введение в микросервисы на Go.
24. Логирование и мониторинг
Логи и метрики — глаза и уши production-сервиса. Без них вы летите вслепую. Этот модуль учит правильно логировать (структурированно), собирать метрики и настраивать мониторинг.
25. Профилирование и рефакторинг
Профилирование — это способ найти узкие места в коде по данным, а не по интуиции. Этот модуль учит использовать pprof для CPU и memory профилей, читать результаты и оптимизировать горячие точки.
Алгоритмы и паттерны
4 модулей19. Тестирование кода
Тесты — это страховка от регрессий и исполняемая документация. В Go тесты — часть языка, а не внешний фреймворк. Этот модуль учит писать unit, интеграционные и функциональные тесты, бенчмарки и работать с моками.
20. ООП и принципы проектирования
Go — не классический ООП-язык, но принципы SOLID и ООП-мышление в нём важны. Этот модуль разбирает, как применять принципы проектирования в Go-стиле.
21. Паттерны проектирования в Go
Паттерны проектирования — проверенные решения типовых задач. В Go они реализуются иначе, чем в классических ООП-языках (через интерфейсы и функции), но идеи остаются те же. Этот модуль — практический обзор паттернов в Go-стиле.
26. Алгоритмы и структуры данных
Этот модуль — про алгоритмическое мышление. На собеседованиях по Go часто дают задачи на массивы, строки, деревья и графы. Без тренировки не получится решать их уверенно. Модуль построен как практикум: теория + задачи + подсказки + эталонные решения.
Углублённые темы
4 модулей29. Domain-Driven Design
DDD — подход к проектированию, где кодовая модель тесно связана с бизнес-доменом. Этот модуль — про стратегические и тактические паттерны DDD в применении к Go: как выделять bounded contexts, строить агрегаты, проектировать репозитории.
30. English for Engineers
Английский — рабочий язык Go-экосистемы. Документация, RFC, godoc, баги в issues, обсуждения в Slack — всё на английском. Этот модуль учит уверенно читать технические тексты и писать технически грамотно.
36. Networking — глубокое погружение
Модуль 01 — основы сетей. Этот модуль — про глубокие знания: TCP/IP, DNS, диагностика, HTTP/TLS, SSH-туннели, firewall. Эти знания нужны для отладки production-инцидентов и архитектурных решений.
37. Go Runtime: глубокое погружение
Модуль 08 — основы рантайма. Этот модуль — про глубокое понимание: G/P/M, work stealing, блокировки, preemption, GC. Эти знания нужны для оптимизации производительности и отладки сложных проблем.
Продвинутая инфра
5 модулей31. Kafka: stream processing и production-паттерны
В модуле 18 разобраны основы Kafka. Этот модуль — про production-сценарии: stream processing, exactly-once, schema evolution, monitoring, типичные ошибки. Здесь вы научитесь строить надёжные event-driven системы.
32. Redis: Sentinel, Cluster, Streams, Highload
В модуле 17 — основы Redis. Этот модуль — про production: отказоустойчивость (Sentinel), масштабирование (Cluster), потоковая обработка (Streams), pub/sub и паттерны для высоких нагрузок.
33. PostgreSQL: расширенные темы
Модули 11–13 покрывают основы PostgreSQL. Этот модуль — про продвинутые темы: миграции через goose, PL/pgSQL, репликацию, шардирование, партиционирование. Эти знания нужны для построения надёжных систем.
34. Docker: расширенные темы
Модуль 14 — основы Docker. Этот модуль — про продвинутые техники: multi-stage builds, healthchecks, profiles, debugging, security и best practices. Эти знания нужны для production-grade контейнеризации.
35. Fuzzing и продвинутое тестирование
Модуль 19 — основы тестирования. Этот модуль — про продвинутые техники: fuzzing, моки через gomock, property-based testing, контрактные тесты, mutation testing. Эти знания помогают находить баги, которые обычные тесты не ловят.
Пет-проекты
2 модулей38. Пет-проект 1: Сервис сокращения ссылок
Полноценный production-ready сервис: REST API, PostgreSQL, Redis, аналитика, rate limiting, мониторинг. Этот проект объединяет знания из модулей 03-09, 14-19, 22-25.
39. Пет-проект 2: API трекера задач с уведомлениями
REST + gRPC API для управления задачами с Kafka-уведомлениями. Аналог Jira/Trello для команд с полным контролем данных.
Веб-приложения и SPA backend
8 модулей40. Echo framework — быстрый старт для SPA backend
Echo — это высокопроизводительный минималистичный веб-фреймворк для Go, который стоит на втором месте по популярности после net/http. Он даёт удобный роутинг, middleware-цепочки, валидацию и обработку ошибок из коробки. В этом модуле — практический минимум для создания backend под SPA (React/Vue/Svelte/Angular).
41. Валидация входящих данных — формы, JSON, query
Валидация — это первая линия обороны вашего приложения. Невалидированные данные ломают БД, открывают уязвимости (SQL-инъекции, XSS, mass assignment) и создают баги, которые сложно воспроизвести. В этом модуле — практические подходы к валидации в Go через теги, кастомные валидаторы и единый формат ошибок.
42. JWT аутентификация — access + refresh токены
JWT (JSON Web Token) — это компактный формат токенов, который позволяет серверу не хранить сессии. Клиент хранит токен и шлёт его в каждом запросе. Этот модуль — практический разбор JWT для SPA: как правильно делать access/refresh пару, защищать роуты, безопасно работать с refresh-токенами.
43. OAuth2 — вход через Google, GitHub, Yandex и другие провайдеры
OAuth2 — это стандарт делегированной авторизации, который позволяет пользователям входить в ваш SPA через Google/GitHub/Yandex, не создавая отдельный пароль. Этот модуль — практическая реализация Authorization Code Flow с PKCE (обязателен для SPA), регистрацией приложений у провайдеров и обработкой всех edge cases.
44. CORS, CSRF, Security Headers — защита SPA-backend
CORS, CSRF и security headers — три кита веб-безопасности, без которых SPA-backend уязвим к атакам. В этом модуле — практические настройки для production, объяснения каждой атаки через конкретные сценарии и проверенные конфигурации middleware.
45. Rate limiting — защита от спама, brute-force и DDoS
Rate limiting — ограничение частоты запросов — это первая линия защиты API от перегрузки и атак. Без него один пользователь (или атакующий) может положить ваш сервер, перебрав пароли или просто зациклив скрипт. В этом модуле — практические алгоритмы (token bucket, sliding window), библиотеки и стратегии лимитирования для SPA backend.
46. WebAuthn и Passkeys — пароли уходят в прошлое
WebAuthn — это современный стандарт аутентификации без пароля, поддержанный FIDO Alliance, W3C и всеми крупными платформами (Apple, Google, Microsoft). Passkeys (на базе WebAuthn) — это самая простая и безопасная замена паролям: пользователь подтверждает вход через Touch ID, Face ID, Windows Hello или security key. В этом модуле — практическая реализация на Go через go-webauthn/webauthn.
47. OpenAPI 3 — контракт API, документация и автогенерация клиентов
OpenAPI (бывший Swagger) — это стандарт описания REST API в формате YAML или JSON. С OpenAPI вы получаете: документацию автоматически, типобезопасные клиенты для SPA и мобильных приложений, валидацию запросов/ответов и mocking. В этом модуле — практический workflow от спецификации до сгенерированных TypeScript-клиентов для React/Vue.
Ничего не найдено
Попробуй другой запрос или очисти поиск