Чему вы научитесь
- Поднимать HTTP-сервер на стандартной библиотеке и маршрутизировать запросы роутингом net/http 1.22 — по методу и по путевым параметрам
- Проектировать REST-эндпоинты: методы и коды статусов, чтение и запись JSON, валидация входных данных, единый формат ошибки
- Писать middleware: логирование, восстановление после паники, авторизация — и собирать их в цепочку
- Закрывать сервис аутентификацией: хеширование паролей bcrypt, JWT-токены, сессии и cookie
- Работать с базой через database/sql: запросы и Exec, Scan с NULL-значениями, prepared statements и защита от SQL-инъекций, пул соединений и context
- Управлять транзакциями и уровнями изоляции и накатывать миграции схемы, не ломая данные
- Тестировать веб-код без запуска сервера: обработчик как функция через httptest, репозиторий — на in-memory базе
- Собрать капстоун — REST API магазина shopdb со слоями handler/service/repository, авторизацией и миграциями
О курсе
Соберите REST API на Go от первого обработчика до готового сервиса с базой: роутинг net/http 1.22, JSON и статусы, валидация, middleware, аутентификация через bcrypt и JWT, database/sql, транзакции и миграции. 216 задач с автопроверкой в браузере на Go 1.26 — обработчики через httptest, запросы на живой in-memory базе. Финал — REST API магазина shopdb как проект в портфолио.
Для кого этот курс
Курс — для тех, кто знает Go и хочет писать веб-сервисы с базой.
- Разработчикам, которые знают Go, но никогда не поднимали свой HTTP-сервис и не работали с базой из кода.
- Джунам-бэкендерам, которым на работе нужно писать эндпоинты, а не учебные функции: статусы, валидация, авторизация, транзакции.
- Свитчерам с других языков и стеков, которым нужен проект-артефакт в портфолио для отклика на вакансии Go-бэкенда.
- Тем, кто пишет на фреймворке по образцу и хочет понять, что происходит под ним: роутинг, middleware, пул соединений, транзакции.
Начальные требования
Что нужно:
- Уверенный Go: функции, структуры, интерфейсы, ошибки, слайсы и мапы. Это курсы «Go с нуля» и «Go: идиоматичный код».
- Базовое понимание SQL: SELECT, INSERT, UPDATE, JOIN. Глубокий SQL не нужен — запросы в курсе простые.
- Компьютер с браузером и интернетом.
Что НЕ нужно:
- Не нужно устанавливать PostgreSQL, Docker или что-либо ещё: задачи с базой решаются на живой in-memory базе прямо в браузере.
- Не нужен фреймворк: сервис строится на стандартной библиотеке, chi и gin даются обзором.
- Не нужен опыт администрирования БД: нужны только запросы из кода, транзакции и миграции.
- Не нужен курс по конкурентности: он этому курсу не пререквизит.
Преподаватели курса
Как проходит обучение
- Формат: 8 модулей, 35 уроков, 430 коротких шагов. Текстовые лекции с примерами на домене shopdb, без видео.
- Практика: 68 % шагов — активные. 216 задач на Go с автопроверкой, 71 интерактивный тест, 5 локальных заданий (PostgreSQL и инструменты миграций).
- Проверка: скрытые тесты на движке Go 1.26.1. Обработчики проверяются как функции через httptest — тест сам формирует запрос и читает код и тело ответа; задачи с базой выполняются на живой in-memory базе SQLite.
- Темп: свой, без дедлайнов. Доступ бессрочный, попыток неограниченно.
- Поддержка: комментарии под каждым шагом.
Ориентир нагрузки: при 6–8 часах в неделю курс проходится примерно за 5–6 недель; общий объём — около 36 часов.
Что вы получите
- Навык собрать веб-сервис на Go с нуля: роутинг, JSON, валидация, middleware, авторизация, база, транзакции, миграции.
- Понимание того, что делает фреймворк за вас, — и способность обойтись без него или осознанно его выбрать.
- 216 решённых задач с автопроверкой и 71 тест, включая работу на живой базе.
- Капстоун: REST API магазина shopdb со слоями и авторизацией — проект в портфолио, который можно показать на собеседовании и развивать дальше.
- Бессрочный доступ к материалам и обновлениям, сертификат Stepik.
- Мост дальше: «Go под капотом: рантайм, память, профилирование» — https://stepik.org/course/297084.
Нагрузка
6–8 часов в неделю, 5–6 недель (общий объём ~36 часов)