Перейти к содержимому
ГоМастер

Поиск по урокам

Найдите урок, курс, термин или раздел

Курсы по языку Go и его библиотекам

37 курсов покрывают путь от первой строки на Go до production-задач: веб-фреймворки, ORM, RPC и GUI. В каждом курсе — 25 уроков с интерактивной практикой, тестами и итоговым проектом.

Go Base
Этот курс — точка входа в язык Go для тех, кто пишет код впервые или приходит из другого языка. Мы двигаемся от простого к сложному: сначала переменные и типы, потом условия и циклы, затем срезы, карты, функции и структуры. Каждый урок заканчивается кодом, который вы запускаете прямо в браузере — без установки Go, без настройки окружения.

новичок~12 ч25 уроков25 доступно

Go Pro
После базы самое интересное: что делает Go языком, на котором пишут Docker и Kubernetes. Замыкания и defer, конкурентность через горутины и каналы, контекст отмены, интерфейсы и дженерики, работа с файлами и JSON, тесты и бенчмарки. Всё на runnable-примерах: код можно менять и сразу видеть результат.

практика~14 ч25 уроков25 доступно

Fiber
Fiber — самый быстрый из «человеческих» веб-фреймворков Go. Он построен на Fasthttp и выглядит как Express из Node.js: короткие хендлеры, цепочки middleware, минимум церемоний. В курсе мы пройдём путь от первого сервера до готового REST API с авторизацией, кэшем и тестами.

практика~13 ч25 уроков25 доступно

Gin
Gin — рабочая лошадка Go-бэкенда: на нём написано больше всего production-сервисов. Молотком он не стал бы: RouterPerformance, мидлвари из коробки, аккуратный binding JSON и формы. Пройдём всё: от hello world до JWT-аутентификации и graceful shutdown.

практика~13 ч25 уроков25 доступно

Echo
Echo занимает золотую середину: почти такой же быстрый, как Fiber, совместим с net/http, как Gin, и при этом очень аккуратный API. Типизированный контекст, встроенная обработка ошибок через HTTPError, приятная работа с middleware. Курс — практический, с упором на продакшен-практики.

практика~13 ч25 уроков25 доступно

GORM
GORM — самая известная ORM в экосистеме Go. Она снимает рутину SQL-конкатенаций, даёт миграции, ассоциации и хуки. Но у ORM есть цена: неочевидные запросы и N+1. В курсе мы учимся пользоваться GORM так, чтобы получать выгоду и не терять контроль над SQL.

практика~14 ч25 уроков25 доступно

sqlc
sqlc переворачивает привычную работу с БД: вы пишете чистый SQL, а sqlc генерирует типобезопасный Go-код. Никаких рефлексий, тегов и магии — компилятор ловит ошибки. Курс — про то, как жить в SQL-first мире: от sqlc.yaml до CI и production-историй.

практика~12 ч25 уроков25 доступно

ent
ent — ORM от Facebook, который описывает схему данных как код и генерирует типобезопасные запросы. Связи становятся графом, запросы — цепочками предикатов, а ошибки ловит компилятор. Курс ведёт от первой схемы до privacy-политик и GraphQL.

практика~13 ч25 уроков25 доступно

go-kit
go-kit — не фреймворк, а набор библиотек для микросервисов: endpoint как универсальная абстракция, транспорт как плагин, сквозные функции (логи, метрики, трейсинг) как middleware. Курс приучает мыслить слоями и строить сервисы, которые не разваливаются под нагрузкой.

продвинутый~14 ч25 уроков25 доступно

gRPC
gRPC — де-факто стандарт общения между микросервисами: HTTP/2, protobuf, четыре вида вызовов, стриминг в обе стороны. Курс проходит весь путь: синтаксис proto3, кодогенерация, сервер и клиент, перехватчики, безопасность, дедлайны и балансировка.

продвинутый~14 ч25 уроков25 доступно

Connect
Connect от Buf — современный RPC: один хендлер обслуживает gRPC, gRPC-Web и собственный простой протокол, дружественный браузерам и curl. Кодогенерация через buf, ошибки поверх HTTP-статусов, красивые клиенты для TypeScript. Курс — полный путь от установки до миграции с gRPC.

продвинутый~12 ч25 уроков25 доступно

Fyne
Fyne — самый популярный GUI-тулкит Go: чистый Go без обёрток над Qt, рендер через OpenGL/Vulkan, сборка под Windows, macOS, Linux, iOS и Android из одной кодовой базы. Курс ведёт от первого окна до приложения с темами, привязкой данных и упаковкой для сторов.

практика~13 ч25 уроков25 доступно

Cobra
Cobra — фреймворк, на котором написаны kubectl, Hugo, GitHub CLI и сотни других утилит. На нём вы соберёте свой первый консольный инструмент уже во втором уроке, а к концу курса — полноценный CLI-менеджер задач с конфигами, цветным выводом, автодополнением и тестами. Курс построен от практики: каждая команда, флаг и хук разбираются на рабочем коде, который вы сможете забрать в свой проект. Отдельный блок посвящён связке Cobra + Viper — стандартной конфигурации реальных инструментов: файлы YAML, переменные окружения, приоритеты источников. Весь код уроков — реальный Go без упрощений. Понадобится локальный Go или любой playground: к браузерному интерпретатору привязаны только разминки.

практика~10 ч25 уроков25 доступно

Bubble Tea
Bubble Tea — TUI-фреймворк из экосистемы Charm, на котором делают терминальные интерфейсы уровня настольных приложений: k9s, GH Dash, Gum. Если искали, как сделать bubble tea tui на Go, — это он: Elm-архитектура (Model, Update, View), набор готовых компонентов bubbles и стилизация через Lip Gloss. Мы идём от «Hello, TUI» к настоящим приложениям: списки задач с вводом текста, таблицы данных, прогресс-бары для долгих операций, панели с HTTP-данными и мышь в терминале. Каждый компонент разбирается на работающем коде, который можно скопировать в свой проект. Отдельная фишка курса — виртуальный терминал в песочнице урока: вы редактируете код интерфейса и сразу видите, как он рисуется, без установки Go.

практика~10 ч25 уроков25 доступно

Zap
Zap от Uber — самый быстрый логгер в экосистеме Go и фактический стандарт структурных логов: вместо строки «user not found» он пишет JSON с полями, который парсит любая система сбора логов. В курсе вы освоите zap от первого logger.Info до zapcore, сэмплирования и связки с OpenTelemetry. Каждая тема — на боевом примере: ротация файлов с lumberjack, request ID сквозь все запросы, middleware для Gin и Echo, перехватчики gRPC, тестирование логов. Отдельный блок — про производительность: почему zap выигрывает у стандартного log в разы и что такое CheckedEntry. Итоговый проект — наблюдаемость небольшого HTTP-сервиса: единый формат логов, уровни окружений, алерты на ошибки.

практика~9 ч25 уроков25 доступно

Colly
Вечер пятницы, а у отдела данных всё та же жалоба: поставщик снова не выгрузил прайс, и копировать триста позиций руками никто не будет. Или так: нужно собрать сотню страниц каталога в таблицу, а в руках только Go и половина вечера. Colly — фреймворк для именно таких задач: вы объявляете, на какие элементы страниц реагировать, а обходчик сам ходит по ссылкам, выдёргивает данные и держит темп, который вы ему задали. Курс собран вокруг боевых сценариев: первый скрапер за десять минут, каталог с пагинацией, вход по логину с cookies, вежливые задержки через LimitRule, ротация прокси, переживание сетевых ошибок, складирование результатов в JSON, CSV и базу. Отдельные уроки — про честные пределы библиотеки: сайты, рендерящиеся на JavaScript, она не видит; robots.txt и антиботы никуда не делись; и мы проговорим, где заканчивается colly и начинается chromedp. Итоговый проект — монитор цен: обходчик собирает карточки товаров, пишет изменения в базу, логирует ход через zap и управляется из командной строки через Cobra. К этому моменту каждый блок пайплайна вы уже собирали руками — проект только склеит их вместе.

практика~9 ч25 уроков25 доступно

Testify
Тест в Go без библиотек проверяется лесенкой if и t.Errorf: на пятую проверку лапша сравнений съедает половину файла, и читать её после выходных не готов никто. Testify — самая массовая тестовая библиотека Go: один вызов assert.Equal вместо пяти строк ручных сравнений, require, чтобы тест останавливался на первом провале, suite с хуками подготовки, моки с проверкой вызовов. Курс ведёт от первого assert.Equal до полного тестового комплекта: проверка ошибок и паник, сравнение коллекций и чисел с плавающей точкой, табличные тесты, сьюты с SetupTest, заглушение интерфейсов через mock.Mock, генерация моков mockery, асинхронные проверки assert.Eventually и тесты HTTP-хендлеров. Каждый приём разобран на реальном коде пакета, который растёт вместе с вашими навыками. Итоговый проект — тестовый комплект для целого пакета: табличные тесты на чистых функциях, сьют для сервиса с состоянием, моки для внешних зависимостей и гонка, которую ловим в CI. К этому моменту каждый слой комплекта вы уже собирали руками в уроках.

практика~9 ч25 уроков25 доступно

Viper
Сервис выкатывается на три окружения, и у каждого свой адрес базы, свой ключ API и свой уровень логов. Константы в коде не катятся, флаги при десяти настройках превращаются в простыню, а пароли в git кладут один раз — и потом годами вычищают из истории. Viper решает это одним слоем: файлы YAML и JSON, переменные окружения, флаги командной строки и значения по умолчанию сходятся в единый реестр с честным порядком приоритетов. Курс ведёт от первого ReadInConfig YAML-файла до production-схемы: типизированные Get и Unmarshal в структуры, AutomaticEnv и префиксы, связка с флагами Cobra, горячая перезагрузка через WatchConfig, поддеревья и алиасы, профили dev/staging/prod, хранение секретов и собственный пакет config вместо россыпи viper.Get по коду. Итоговый проект — конфигурируемый сервис: один бинарник читает файл, перекрывается окружением и флагами, валидирует значения на старте и перечитывает конфиг без перезапуска. Всё это — приёмы из уроков, собранные в один каркас.

практика~9 ч25 уроков25 доступно

Chi
Стандартный ServeMux в Go не умеет параметры пути и middleware по группам, а тяжёлые фреймворки тянут собственные контексты запроса и обёртки ответа. Chi занимает середину: совместим с net/http на сто процентов — любой http.Handler работает без адаптеров — и при этом даёт URL-параметры, цепочки middleware, группы маршрутов и встроенные утилиты от RequestID до таймаутов. В англоязычных проектах его называют chi router или go-chi — речь всегда про один пакет github.com/go-chi/chi/v5, самый популярный лёгкий роутер экосистемы Go. Курс ведёт от первого r.Get до production-каркаса: маршруты и методы, параметры и wildcards, собственные middleware, группы и подроутеры, JSON API с валидацией, централизованные ошибки, таймауты и троттлинг, CORS, graceful shutdown, тестирование хендлеров через httptest и деплой за reverse-прокси. Итоговый проект — REST API записной книжки: слоистая структура, middleware-цепочка, валидация, ошибки и тесты. Каждый элемент каркаса к этому моменту уже собран руками в уроках — проект склеивает их в работающий сервис.

практика~9 ч25 уроков25 доступно

Redis
Redis — самый популярный способ ускорить Go-сервис: кэш тяжёлых запросов, сессии пользователей, счётчики, рейтинги и очереди задач. Клиент go-redis v9 — стандарт де-факто в экосистеме: его используют Beego, Poetry и тысячи продакшен-проектов. В курсе мы проходим весь Redis глазами Go-разработчика: от GET/SET и TTL до хэшей, множеств, Pub/Sub, Streams, пайплайнов и транзакций. Отдельные уроки — кэширование запросов к базе, распределённые блокировки, rate limiter и тесты с miniredis. Каждый урок — реалистичный код с построчным разбором, тесты и карточки терминов.

практика~12 ч25 уроков25 доступно

JWT
«Сделайте логин» — самая частая задача после CRUD, и именно на ней валится половина пет-проектов: токены, подписи, refresh, хранение паролей. Этот курс закрывает аутентификацию в Go целиком, от анатомии JWT до продакшен-практик. Мы работаем с библиотекой golang-jwt/jwt v5 — актуальным форком, на который переехала вся экосистема. Разбираем HMAC и RSA, claims, middleware для Gin и chi, bcrypt для паролей, отзыв токенов и CSRF. Каждый урок честно показывает типовые ошибки: слабый секрет, токен в localStorage, бесконечный refresh.

практика~12 ч25 уроков25 доступно

Telegram
Telegram-бот — идеальный первый проект на Go: живой результат за вечер, ноль настройки фронта и реальный пользователь уже сегодня. Для русскоязычного разработчика это ещё и самый частый фриланс-заказ. Курс построен на официальной библиотеке go-telegram-bot-api. Мы идём от эхо-бота через long polling к webhook-серверу, добавляем команды, reply- и inline-клавиатуры, состояния диалога, медиа, рассылки, напоминания и ограничения Telegram. Финал — бот-трекер привычек, который можно сразу выложить на VPS.

новичок~12 ч25 уроков25 доступно

Prometheus
Сервис без метрик — чёрный ящик: падает RPS, растут очереди, утекает память, а вы узнаёте об этом от пользователей. Prometheus и client_golang — стандарт мониторинга Go-проектов, который поднимается за вечер. Курс учит думать метриками: типы Counter и Gauge, гистограммы латентности, лейблы и их коварная кардинальность. Собираем свой /metrics endpoint, оборачиваем HTTP-хендлеры, добавляем бизнес-метрики, читаем PromQL и рисуем дашборды в Grafana. Финал — полный мониторинг веб-сервиса: трафик, ошибки, латентность и бизнес.

практика~12 ч25 уроков25 доступно

WebSocket
Пока клиент сам спрашивает сервер «есть ли новое?» — это HTTP. Как только сервер сам кричит клиенту «новое есть!» — это WebSocket: чаты, уведомления, котировки, совместные редакторы. В Go real-time делают на gorilla/websocket — библиотеке, которую приняли в экосистему после возвращения к жизни. Курс ведёт от простого эхо-сервера к промышленному хабу: readPump/writePump на каждое соединение, комнаты, presence, авторизация, лимиты, reconnect и graceful shutdown. Отдельный урок — масштабирование на несколько инстансов через Redis Pub/Sub. Финал — чат с комнатами, который умеет почти всё из продакшен-списка.

практика~13 ч25 уроков25 доступно

RabbitMQ
RabbitMQ — самый популярный брокер сообщений в Go-проектах: он стоит между сервисами, переживает их падения и превращает «сделай всё прямо сейчас» в «сделай, когда сможешь». На курсе вы пройдёте путь от первого соединения до боевой системы уведомлений: очереди, обменники direct, fanout и topic, подтверждения доставки, prefetch, dead letter и RPC над очередями. Курс построен вокруг официальной библиотеки amqp091-go: каждое понятие брокера разбирается на работающем коде, который вы сможете забрать в свой проект. Отдельные уроки посвящены тому, что отличает учебный пример от продакшена: переподключение после обрыва, graceful shutdown потребителя, защита соединения TLS и антипаттерны, которые приводят к потере сообщений. Брокер работает локально — в Docker или родной установкой — поэтому основной код уроков выполняется на вашей машине. Браузерному интерпретатору привязаны только разминки, интерактивные тесты и задания на модели очередей.

практика~11 ч25 уроков25 доступно

Excelize
Excel остаётся языком бизнеса: бухгалтерия, склад, отчётность — всё живёт в xlsx, и рано или поздно заказчик просит «кнопку, которая делает Excel». excelize — стандартная библиотека Go для этой работы: она читает и пишет xlsx, рисует стили, формулы и диаграммы и выдерживает файлы на миллионы строк через потоковые API. Курс идёт от первой книги до генератора отчётов: ячейки и типы, стили и границы, формулы и диаграммы, закрепление областей и фильтры, картинки и защита листов. Отдельное место занимает производительность: StreamWriter и StreamReader для больших файлов и типичные ошибки, из-за которых генерация съедает память. Excel-файлы создаются и разбираются локально — браузерный интерпретатор не умеет писать на диск, поэтому основной код запускается у вас на машине. В песочнице уроков — тематические программы разминки, тесты и интерактивные разборы структуры xlsx.

практика~10 ч25 уроков25 доступно

Cron
У каждого сервиса рано или поздно появляется работа «по расписанию»: ночной отчёт, чистка сессий, напоминания, синхронизация с внешним API. В Go за это отвечает robfig/cron — де-факто стандартный планировщик с синтаксисом классического cron: пять полей, секунды по желанию, часовые пояса из коробки. Курс ведёт от первого тика до боевого планировщика: выражения и спецсимволы, задачи-функции и задачи-структуры, Start и Stop, контекст и отмена, перекрытие запусков и wrappers Recover, DelayIfStillRunning, SkipIfStillRunning. Отдельные уроки — про то, чего в учебниках нет: конкурентность задач, утечки горутин, логирование и метрики, корректный shutdown и блокировки при нескольких инстансах. Планировщик и его задачи — обычный Go-код, значительная часть которого runnable в браузерной песочнице: эмуляция времени, состояния и очередей задач выполняется на интерпретаторе клиента, а связка с системным cron — локально.

практика~9 ч25 уроков25 доступно

Slog
Логи — первый инструмент, к которому разработчик обращается при разборе инцидента, и последний, о котором думают при написании кода. В Go с версии 1.21 за это отвечает log/slog — структурный логгер стандартной библиотеки: уровни, ключи-атрибуты, JSON-вывод и заменяемый Handler без сторонних зависимостей. Курс ведёт от первого вызова slog.Info до боевого логирования сервиса: уровни и когда какой уместен, атрибуты и группы, TextHandler против JSONHandler, миграция со старого пакета log, свой Handler под формат компании, производительность на горячем пути и уровни по окружению. Отдельные уроки — про то, чего в документации нет: секреты в логах, тестирование вывода, связка с метриками и трейсингом, антипаттерны и прод-практика. Код логгера — обычный Go, значительная часть которого runnable в браузерной песочнице: уровни, атрибуты и форматы вывода разминаются на fmt и strings, а живой сбор логов Docker и journald — локально.

практика~9 ч25 уроков25 доступно

pgx
PostgreSQL — база номер один в Go-бэкендах, а pgx — самый быстрый и самый используемый её драйвер: пула pgxpool достаточно, чтобы забыть о ручных соединениях, а Batch и COPY ускоряют массовые операции в разы. Курс ведёт от первого подключения до продакшен-приёмов: сканирование строк и структур, типы Postgres (UUID, JSONB, массивы), транзакции и паттерн «с транзакцией», pgconn.PgError и коды SQLSTATE, LISTEN/NOTIFY, миграции, тесты с testcontainers. Каждый урок — реалистичный код с построчным разбором, честные грабли и интерактивные задания прямо в браузере.

практика~12 ч25 уроков25 доступно

MongoDB
MongoDB живёт там, где схема данных меняется быстрее, чем релизы: каталоги, профили, события, логи. Официальный драйвер mongo-driver v2 — это чистый и быстрый API без legacy-рюкзака первой версии. Проходим весь путь: подключение и bson-теги, InsertOne/Find/Update/Delete, фильтры от $eq до $regex, агрегации с $group и $lookup, ObjectID, индексы и уникальность, транзакции, Change Streams и слой репозитория. Каждый урок — реалистичный код с разбором строк, типовые ошибки (нулевой указатель в bson, забытый курсор) и интерактив в браузере.

практика~12 ч25 уроков25 доступно

zerolog
Zerolog — логгер без аллокаций: событие собирается из полей за микросекунды, поэтому им логируют даже горячие пути HTTP-роутеров. Если zap кажется громоздким, а slog — медленным на горячем пути, zerolog — ваш выбор. В курсе — вся библиотека: JSON-события и уровни, поля и контекстные поля, ConsoleWriter для разработки, запись в файлы и ротация lumberjack, сублоггеры, HTTP-логи, sampling против спама, мост со slog и тесты. Каждый урок — код с построчным разбором, честные грабли и интерактивные задания.

практика~12 ч25 уроков25 доступно

Validator
Каждая форма, каждый API-запрос и каждый конфиг нуждаются в проверке — и go-playground/validator стал стандартом экосистемы: он встроен в Gin, Echo и Fiber, его синтаксис тегов встречается в половине Go-проектов на GitHub. Курс закрывает библиотеку целиком: теги required/min/max/email/oneof, вложенные структуры и dive для срезов, условные теги, свои функции-валидаторы и StructLevel, человекочитаемые сообщения на русском, интеграция с Gin и Echo, DTO-границы API, валидация конфигов и тесты. Каждый урок — код с построчным разбором, интерактивные задания и честные грабли (забытый nil-чек, дважды зарегистрированный тег).

практика~11 ч25 уроков25 доступно

Asynq
Письма, отчёты, картинки, вебхуки — всё, что дольше 100 мс, не должно выполняться в HTTP-хендлере. Asynq — библиотека от хостинга Birdie на Redis: простые типизированные задачи, ретраи, приоритеты, периодика и готовый веб-интерфейс. Проходим библиотеку целиком: клиент и сервер, payload и task ID, отложенные и периодические задачи, политики ретраев, несколько очередей с весами, группы и агрегация, таймауты и дедлайны, уникальность, Inspector, graceful shutdown и тесты. Каждый урок — код с построчным разбором, интерактив и реальные грабли продакшена.

практика~11 ч25 уроков25 доступно

Kafka
Kafka — шина событий для систем, где потеря сообщения — инцидент: заказы, платежи, аудит, потоки между сервисами. Библиотека segmentio/kafka-go — самый «чистый Go» клиент: без librdkafka, без cgo, с простыми интерфейсами Reader и Writer. Курс начинается с концепций (топики, партиции, оффсеты, группы) и доводит до продакшен-приёмов: ключи и партиционирование, коммиты и гарантии доставки, ретраи продюсера, ребалансировка, Reader API для сырых оффсетов, Admin API, мониторинг лага и эволюция схем. Каждый урок — код с построчным разбором, интерактив и честные грабли.

практика~12 ч25 уроков25 доступно

Ebitengine
Ebitengine — самый популярный игровой движок Go: простая модель «Update 60 раз в секунду + Draw», чистая 2D-графика, звук и сборка на Windows, macOS, Linux, Android, iOS и в браузер через WebAssembly. На нём сделаны сотни игр в Steam и itch.io. Курс ведёт от пустого окна до мини-аркады: игровой цикл и холст, спрайты и атласы, клавиатура и мышь, движение с дельтой времени, AABB-коллизии, анимация кадров, тайлмапы и камера, текст и шрифты, сцены, частицы, звук, профилирование под 60 FPS и сборка. Каждый урок — код с построчным разбором и интерактивом в браузере.

практика~12 ч25 уроков25 доступно

Chromedp
Chromedp управляет настоящим Chrome через DevTools Protocol: никаких Selenium и WebDriver — обычный Go-код открывает страницы, кликает кнопки, заполняет формы, делает скриншоты и печатает PDF. Динамические SPA-сайты, которые не берёт Colly, для chromedp не проблема. Курс идёт от первого запуска headless-браузера до продакшен-практик: селекторы и ожидания, извлечение данных, скриншоты и PDF, JS-оценка, формы и куки, вкладки, перехват запросов, параллельный пул браузеров, Docker и этика скрапинга. Каждый урок — код с построчным разбором, интерактив и типовые грабли.

практика~11 ч25 уроков25 доступно

Testcontainers
Модульные тесты с моками спокойно проходят, а прод всё равно падает: запрос к базе синтаксически неверный, Redis сбросил TTL раньше времени, брокер отдал сообщения в другом порядке. Testcontainers закрывает разрыв: тест поднимает настоящий сервис в Docker-контейнере, дожидается готовности, отдаёт строку подключения и сам всё убирает после прогона. Курс построен вокруг testcontainers-go: первый контейнер и жизненный цикл, официальные модули Postgres, Redis, MongoDB, Kafka, RabbitMQ и Mockserver, wait-стратегии вместо снов, сети из нескольких контейнеров, сборка своего образа из Dockerfile, переиспользование и параллельность, Ryuk и уборка, связка с testify и TestMain, CI в GitHub Actions, отладка упавших тестов и типовые грабли. Итоговый проект — интеграционный стенд сервиса: Postgres с миграциями, Redis, фейковое внешнее API, suite на testify и один запуск в CI, который ловит то, что моки пропускают.

практика~8 ч25 уроков25 доступно

Всего в программе: 37 курсов, 925 уроков. Новые уроки выходят регулярно — возвращайтесь или начните с уже доступных.