Подробнее
Что нужно для старта
- Знание основ Golang
Что вы получите
- Использовать горутины
- Понимать внутреннее устройство Golang
- Разбираться в работе GC и выделении памяти
- Работать с контекстом
- Создавать API на Golang
- Проектировать архитектуру API
- Работать с Gorm
- Создавать авторизацию и работать с JWT
- Работать с middleware
- Писать CRUD запросы
- Писать тесты для API
Для кого этот курс
- Начинающие разработчики на Golang
Программа курса
- API на Golang
- Как устроен курс
- Обзор проекта
- Обзор курсов
- Перенос курса
- Настройка окружения
- Установка Golang
- Настройки VSCode
- Что внутри программы Go
- Модель памяти
- Stack frames
- Heap
- Pointer на heap
- Go allocator
- Пример с Reader
- Работа GC
- Тест - Работа Go под капотом
- Что такое Goroutine
- Запуск Goruntine
- Упражнение - Ускорение работы
- WaitGroup
- Планировщик
- Цикл планировщика
- Channels
- Создание канала
- Чтение данных
- Закрытие канала
- Упражнение - Сумма slice
- Обработка ошибок
- Select
- Тест - Concurrency
- Выбор HTTP сервера
- Простейший сервер
- Как работают запросы
- Свой ServeMux
- Методы и коды ответа
- Handler
- Тест - Http server
- Структура приложения
- Конфигурация
- Обзор приложения
- Декомпозиция модуля
- Упражнение - Модуль авторизации
- Передача зависимостей
- Ответ от API
- Упражнение - Пакет ответа
- Тест - Архитектура
- Чтение body
- Упражнение - Простая валидация
- Regexp
- Go validator
- Вынос обработчика
- Упражнение - Регистрация
- Тест - Запрос и валидация
- Установка Docker Desktop
- Развёртывание Postgres
- Подключение к базе
- Выбор ORM
- Подключение Gorm
- Описание модели
- Авто миграции
- Тест - Подключение базы данных
- Упражнение - Handler ссылок
- Параметр запроса
- Паттерн репозитория
- Создание ссылки
- Получение ссылки
- Упражнение - Проверка на hash
- Изменение ссылки
- Удаление ссылки
- Упражнение - Проверка наличия
- Тест - CRUD
- Что такое Middleware
- Первый обработчик
- WrapperWriter
- CORS
- Stack middleware
- Упражнение - Получение Bearer
- Middleware для роутов
- Тест - Middleware
- Что такое JWT
- Упражнение - Модель пользователя
- Упражнение - Репозиторий пользователей
- Сервис авторизации
- Bcrypt
- Упражнение - Логин пользователя
- Создание JWT
- Упражнение - Финал авторизации
- Тест - Авторизация
- Что такое контекст
- WithTimeout
- WithValue
- WithCancel
- Получение email из JWT
- Запись в контекст
- Упражнение - Чтение из контекста
- Unauthed
- Тест - Контекст
- Формирование запроса
- Limit и offset
- Count
- Query параметры
- Упражнение - Список ссылок
- Один ко многим
- Добавление клика
- Упражнение - Простое добавление
- Правильный DI
- Eventbus
- Отправка события
- Получение события
- Упражнение - Финал Eventbus
- Упражнение - Handler статистики
- Group By
- Group By в Gorm
- Gorm Session
- Тест - Продвинута работа с БД
- Виды тестирования
- Изменение приложения
- E2e тест
- Упражнение - Отрицательный тест
- Подготовка тестового окружения
- Предварительные данные
- Очистка данных
- Unit тесты
- Mock данных
- Mock базы
- Httptest
- Mock запросов
- Упражнение - Тест регистрации
- Отладка тестов
- Финал проекта
- Тест - Тестирование API
- Куда дальше
- Финальное тестирование
01Введение
- API на Golang
- Как устроен курс
- Обзор проекта
- Обзор курсов
- Перенос курса
02Настройка окружения
- Настройка окружения
- Установка Golang
- Настройки VSCode
03Работа Go под капотом
- Что внутри программы Go
- Модель памяти
- Stack frames
- Heap
- Pointer на heap
- Go allocator
- Пример с Reader
- Работа GC
- Тест - Работа Go под капотом
04Concurrency
- Что такое Goroutine
- Запуск Goruntine
- Упражнение - Ускорение работы
- WaitGroup
- Планировщик
- Цикл планировщика
- Channels
- Создание канала
- Чтение данных
- Закрытие канала
- Упражнение - Сумма slice
- Обработка ошибок
- Select
- Тест - Concurrency
05Http server
- Выбор HTTP сервера
- Простейший сервер
- Как работают запросы
- Свой ServeMux
- Методы и коды ответа
- Handler
- Тест - Http server
06Архитектура
- Структура приложения
- Конфигурация
- Обзор приложения
- Декомпозиция модуля
- Упражнение - Модуль авторизации
- Передача зависимостей
- Ответ от API
- Упражнение - Пакет ответа
- Тест - Архитектура
07Запрос и валидация
- Чтение body
- Упражнение - Простая валидация
- Regexp
- Go validator
- Вынос обработчика
- Упражнение - Регистрация
- Тест - Запрос и валидация
08Подключение базы данных
- Установка Docker Desktop
- Развёртывание Postgres
- Подключение к базе
- Выбор ORM
- Подключение Gorm
- Описание модели
- Авто миграции
- Тест - Подключение базы данных
09CRUD
- Упражнение - Handler ссылок
- Параметр запроса
- Паттерн репозитория
- Создание ссылки
- Получение ссылки
- Упражнение - Проверка на hash
- Изменение ссылки
- Удаление ссылки
- Упражнение - Проверка наличия
- Тест - CRUD
10Middleware
- Что такое Middleware
- Первый обработчик
- WrapperWriter
- CORS
- Stack middleware
- Упражнение - Получение Bearer
- Middleware для роутов
- Тест - Middleware
11Авторизация
- Что такое JWT
- Упражнение - Модель пользователя
- Упражнение - Репозиторий пользователей
- Сервис авторизации
- Bcrypt
- Упражнение - Логин пользователя
- Создание JWT
- Упражнение - Финал авторизации
- Тест - Авторизация
12Контекст
- Что такое контекст
- WithTimeout
- WithValue
- WithCancel
- Получение email из JWT
- Запись в контекст
- Упражнение - Чтение из контекста
- Unauthed
- Тест - Контекст
13Продвинутая работа с БД
- Формирование запроса
- Limit и offset
- Count
- Query параметры
- Упражнение - Список ссылок
- Один ко многим
- Добавление клика
- Упражнение - Простое добавление
- Правильный DI
- Eventbus
- Отправка события
- Получение события
- Упражнение - Финал Eventbus
- Упражнение - Handler статистики
- Group By
- Group By в Gorm
- Gorm Session
- Тест - Продвинута работа с БД
14Тестирование API
- Виды тестирования
- Изменение приложения
- E2e тест
- Упражнение - Отрицательный тест
- Подготовка тестового окружения
- Предварительные данные
- Очистка данных
- Unit тесты
- Mock данных
- Mock базы
- Httptest
- Mock запросов
- Упражнение - Тест регистрации
- Отладка тестов
- Финал проекта
- Тест - Тестирование API
15Заключение
- Куда дальше
- Финальное тестирование
Отзывы о курсе
Оставьте отзыв
Расскажите о качестве обучения, поддержке и результате. Это поможет другим выбрать организацию осознанно.
Оставьте заявку
Консультант ответит на вопросы о курсе «Продвинутый Golang» и поможет разобраться в деталях обучения.
Нажимая кнопку, вы даете согласие на обработку персональных данных
Информация обновлена 3 сентября 2026 г.

Stepik 



















