Робот
Робот форума
- Сообщения
- 468 163
- Реакции
- 2 909
- Монеты
- 21 179
- Оплачено
- 0
- Ссылка на картинку

Продвинутый курс по Golang по созданию http API и многопоточности
Обновлено 20 февраля 2026 г.
Чему вы научитесь?
После прохождения курса вы сможете:
Что в курсе?
Этот курс подойдёт тем, кто уже знает основы Golang и хочет начать проектировать и писать полноценные API на Golang с базой данных Postgres и популярной ORM - Gorm. Кроме того курс позволит детально разобраться в том, как устроен Golang под капотом и начать использовать горутины.
В рамках курса мы поговорим о Go allocator, Stack, Heap, GC и затем перейдём к горутинам. Посмотрим как они работают, как их можно синхронизировать и использовать каналы для общения между ними. Затем начнём писать большое API на чистом http пакете, разбираясь с роутингом, обработкой запрос и ответа. Подключимся к PostreSQL с помощью ORM Gorm, предварительно запустив её в Docker и напишем все типы CRUD запросов.
Курс будет максимально практическим, ведь всю теорию мы разбираем прямо во время создания API. Проект является сложным сервисом по укорачиванию ссылок с авторизацией и статистикой. Так же для курса было сделано большое число упражнений, которые позволят вас закрепить полученные знания.
План курса
Курс построен таким образом, чтобы доносить материал от простого к сложному. Ниже вы можете ознакомиться с планом курса и посмотреть часть открытых лекций по кнопке проигрывателя.
Спойлер: Программа подробно:
1. Введение
15.1 Куда дальше
Тариф Самостоятельный
https://purpleschool.ru/course/go-advanced
Обновлено 20 февраля 2026 г.
Чему вы научитесь?
После прохождения курса вы сможете:
- Использовать горутины
- Понимать внутреннее устройство Golang
- Разбираться в работе GC и выделении памяти
- Работать с контекстом
- Создавать API на Golang
- Проектировать архитектуру API
- Работать с Gorm
- Создавать авторизацию и работать с JWT
- Работать с middleware
- Писать CRUD запросы
- Писать тесты для API
Что в курсе?
Этот курс подойдёт тем, кто уже знает основы Golang и хочет начать проектировать и писать полноценные API на Golang с базой данных Postgres и популярной ORM - Gorm. Кроме того курс позволит детально разобраться в том, как устроен Golang под капотом и начать использовать горутины.
В рамках курса мы поговорим о Go allocator, Stack, Heap, GC и затем перейдём к горутинам. Посмотрим как они работают, как их можно синхронизировать и использовать каналы для общения между ними. Затем начнём писать большое API на чистом http пакете, разбираясь с роутингом, обработкой запрос и ответа. Подключимся к PostreSQL с помощью ORM Gorm, предварительно запустив её в Docker и напишем все типы CRUD запросов.
Курс будет максимально практическим, ведь всю теорию мы разбираем прямо во время создания API. Проект является сложным сервисом по укорачиванию ссылок с авторизацией и статистикой. Так же для курса было сделано большое число упражнений, которые позволят вас закрепить полученные знания.
План курса
Курс построен таким образом, чтобы доносить материал от простого к сложному. Ниже вы можете ознакомиться с планом курса и посмотреть часть открытых лекций по кнопке проигрывателя.
- Введение
- Настройка окружения
- Работа Go под капотом
- Concurrency
- Http server
- Архитектура
- Запрос и валидация
- Подключение базы данных
- CRUD
- Middleware
- Авторизация
- Контекст
- Продвинутая работа с БД
- Тестирование API
- Заключение
Спойлер: Программа подробно:
1. Введение
- 1.1 API на Golang
- 1.2 Как устроен курс
- 1.3 Обзор проекта
- 1.4 Проекты домашних заданий
- 1.5 Обзор курсов
- 1.6 Работа на платформе
- 1.7 AI и тренажёры
- 1.8 Практика на проекте
- 1.9 Рекомендуемый курс
- 2.1 Настройка окружения
- 2.2 Установка Golang
- 2.3 Настройки VSCode
- 2.4 Рекомендуемый курс
- 2.5 Домашнее задание AI
- 2.6 Работа с gitflow
- 3.1 Что внутри программы Go
- 3.2 Модель памяти
- 3.3 Stack frames
- 3.4 Heap
- 3.5 Pointer на heap
- 3.6 Go allocator
- 3.7 Пример с Reader
- 3.8 Работа GC
- 3.9 Тест - Работа Go под капотом
- 4.1 Что такое Goroutine
- 4.2 Запуск Goroutine
- 4.3 Упражнение - Ускорение работы
- 4.4 WaitGroup
- 4.5 Планировщик
- 4.6 Цикл планировщика
- 4.7 Channels
- 4.8 Создание канала
- 4.9 Чтение данных
- 4.10 Закрытие канала
- 4.11 Упражнение - Сумма slice
- 4.12 Обработка ошибок
- 4.13 Select
- 4.14 Тест - Concurrency
- 5.1 Выбор HTTP сервера
- 5.2 Простейший сервер
- 5.3 Как работают запросы
- 5.4 Свой ServeMux
- 5.5 Методы и коды ответа
- 5.6 Handler
- 5.7 Тест - Http server
- 6.1 Структура приложения
- 6.2 Конфигурация
- 6.3 Обзор приложения
- 6.4 Декомпозиция модуля
- 6.5 Упражнение - Модуль авторизации
- 6.6 Передача зависимостей
- 6.7 Ответ от API
- 6.8 Упражнение - Пакет ответа
- 6.9 Тест - Архитектура
- 7.1 Чтение body
- 7.2 Упражнение - Простая валидация
- 7.3 Regexp
- 7.4 Go validator
- 7.5 Вынос обработчика
- 7.6 Упражнение - Регистрация
- 7.7 Тест - Запрос и валидация
- 8.1 Установка Docker Desktop
- 8.2 Развёртывание Postgres
- 8.3 Подключение к базе
- 8.4 Выбор ORM
- 8.5 Подключение Gorm
- 8.6 Описание модели
- 8.7 Авто миграции
- 8.8 Тест - Подключение базы данных
- 9.1 Упражнение - Handler ссылок
- 9.2 Параметр запроса
- 9.3 Паттерн репозитория
- 9.4 Создание ссылки
- 9.5 Получение ссылки
- 9.6 Упражнение - Проверка на hash
- 9.7 Изменение ссылки
- 9.8 Удаление ссылки
- 9.9 Упражнение - Проверка наличия
- 9.10 Тест - CRUD
- 10.1 Что такое Middleware
- 10.2 Первый обработчик
- 10.3 WrapperWriter
- 10.4 CORS
- 10.5 Stack middleware
- 10.6 Упражнение - Получение Bearer
- 10.7 Middleware для роутов
- 10.8 Тест - Middleware
- 11.1 Что такое JWT
- 11.2 Упражнение - Модель пользователя
- 11.3 Упражнение - Репозиторий пользователей
- 11.4 Сервис авторизации
- 11.5 Bcrypt
- 11.6 Упражнение - Логин пользователя
- 11.7 Создание JWT
- 11.8 Упражнение - Финал авторизации
- 11.9 Тест - Авторизация
- 12.1 Что такое контекст
- 12.2 WithTimeout
- 12.3 WithValue
- 12.4 WithCancel
- 12.5 Получение email из JWT
- 12.6 Запись в контекст
- 12.7 Упражнение - Чтение из контекста
- 12.8 Unauthed
- 12.9 Тест - Контекст
- 13.1 Формирование запроса
- 13.2 Limit и offset
- 13.3 Count
- 13.4 Query параметры
- 13.5 Упражнение - Список ссылок
- 13.6 Один ко многим
- 13.7 Добавление клика
- 13.8 Упражнение - Простое добавление
- 13.9 Правильный DI
- 13.10 Eventbus
- 13.11 Отправка события
- 13.12 Получение события
- 13.13 Упражнение - Финал Eventbus
- 13.14 Упражнение - Handler статистики
- 13.15 Group By
- 13.16 Group By в Gorm
- 13.17 Gorm Session
- 13.18 Тест - Продвинута работа с БД
- 14.1 Виды тестирования
- 14.2 Изменение приложения
- 14.3 E2e тест
- 14.4 Упражнение - Отрицательный тест
- 14.5 Подготовка тестового окружения
- 14.6 Предварительные данные
- 14.7 Очистка данных
- 14.8 Unit тесты
- 14.9 Mock данных
- 14.10 Mock базы
- 14.11 Httptest
- 14.12 Mock запросов
- 14.13 Упражнение - Тест регистрации
- 14.14 Отладка тестов
- 14.15 Финал проекта
- 14.16 Тест - Тестирование API
15.1 Куда дальше
Тариф Самостоятельный
https://purpleschool.ru/course/go-advanced
Показать больше
Зарегистрируйтесь
, чтобы посмотреть контент.