Джокер
Администратор
- Регистрация
- 1 Янв 2015
- Сообщения
- 155.144
- Реакции
- 80.130
Складчина: Продвинутый Golang (обновлено 20.02.2026) [Тариф Самостоятельный] [Purpleschool] [Антон Ларичев] [Повтор]
Продвинутый курс по Golang по созданию http API и многопоточности
Обновлено 20 февраля 2026 г.
Чему вы научитесь?
После прохождения курса вы сможете:
Использовать горутины
Понимать внутреннее устройство Golang
Разбираться в работе GC и выделении памяти
Работать с контекстом
Создавать API на Golang
Проектировать архитектуру API
Работать с Gorm
Создавать авторизацию и работать с JWT
Работать с middleware
Писать CRUD запросы
Писать тесты для API
Минимальные требования: Знание основ Golang
Что в курсе?
Этот курс подойдёт тем, кто уже знает основы 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. Настройка окружения
2.1 Настройка окружения
2.2 Установка Golang
2.3 Настройки VSCode
2.4 Рекомендуемый курс
2.5 Домашнее задание AI
2.6 Работа с gitflow
3. Работа Go под капотом
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. Concurrency
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. Http server
5.1 Выбор HTTP сервера
5.2 Простейший сервер
5.3 Как работают запросы
5.4 Свой ServeMux
5.5 Методы и коды ответа
5.6 Handler
5.7 Тест - Http server
6. Архитектура
6.1 Структура приложения
6.2 Конфигурация
6.3 Обзор приложения
6.4 Декомпозиция модуля
6.5 Упражнение - Модуль авторизации
6.6 Передача зависимостей
6.7 Ответ от API
6.8 Упражнение - Пакет ответа
6.9 Тест - Архитектура
7. Запрос и валидация
7.1 Чтение body
7.2 Упражнение - Простая валидация
7.3 Regexp
7.4 Go validator
7.5 Вынос обработчика
7.6 Упражнение - Регистрация
7.7 Тест - Запрос и валидация
8. Подключение базы данных
8.1 Установка Docker Desktop
8.2 Развёртывание Postgres
8.3 Подключение к базе
8.4 Выбор ORM
8.5 Подключение Gorm
8.6 Описание модели
8.7 Авто миграции
8.8 Тест - Подключение базы данных
9. CRUD
9.1 Упражнение - Handler ссылок
9.2 Параметр запроса
9.3 Паттерн репозитория
9.4 Создание ссылки
9.5 Получение ссылки
9.6 Упражнение - Проверка на hash
9.7 Изменение ссылки
9.8 Удаление ссылки
9.9 Упражнение - Проверка наличия
9.10 Тест - CRUD
10. Middleware
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. Авторизация
11.1 Что такое JWT
11.2 Упражнение - Модель пользователя
11.3 Упражнение - Репозиторий пользователей
11.4 Сервис авторизации
11.5 Bcrypt
11.6 Упражнение - Логин пользователя
11.7 Создание JWT
11.8 Упражнение - Финал авторизации
11.9 Тест - Авторизация
12. Контекст
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. Продвинутая работа с БД
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. Тестирование API
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. Заключение
15.1 Куда дальше
Тариф Самостоятельный
СКАЧАТЬ СЛИВЫ КУРСОВ
Продвинутый курс по Golang по созданию http API и многопоточности
Обновлено 20 февраля 2026 г.
Чему вы научитесь?
После прохождения курса вы сможете:
Использовать горутины
Понимать внутреннее устройство Golang
Разбираться в работе GC и выделении памяти
Работать с контекстом
Создавать API на Golang
Проектировать архитектуру API
Работать с Gorm
Создавать авторизацию и работать с JWT
Работать с middleware
Писать CRUD запросы
Писать тесты для API
Минимальные требования: Знание основ Golang
Что в курсе?
Этот курс подойдёт тем, кто уже знает основы 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. Настройка окружения
2.1 Настройка окружения
2.2 Установка Golang
2.3 Настройки VSCode
2.4 Рекомендуемый курс
2.5 Домашнее задание AI
2.6 Работа с gitflow
3. Работа Go под капотом
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. Concurrency
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. Http server
5.1 Выбор HTTP сервера
5.2 Простейший сервер
5.3 Как работают запросы
5.4 Свой ServeMux
5.5 Методы и коды ответа
5.6 Handler
5.7 Тест - Http server
6. Архитектура
6.1 Структура приложения
6.2 Конфигурация
6.3 Обзор приложения
6.4 Декомпозиция модуля
6.5 Упражнение - Модуль авторизации
6.6 Передача зависимостей
6.7 Ответ от API
6.8 Упражнение - Пакет ответа
6.9 Тест - Архитектура
7. Запрос и валидация
7.1 Чтение body
7.2 Упражнение - Простая валидация
7.3 Regexp
7.4 Go validator
7.5 Вынос обработчика
7.6 Упражнение - Регистрация
7.7 Тест - Запрос и валидация
8. Подключение базы данных
8.1 Установка Docker Desktop
8.2 Развёртывание Postgres
8.3 Подключение к базе
8.4 Выбор ORM
8.5 Подключение Gorm
8.6 Описание модели
8.7 Авто миграции
8.8 Тест - Подключение базы данных
9. CRUD
9.1 Упражнение - Handler ссылок
9.2 Параметр запроса
9.3 Паттерн репозитория
9.4 Создание ссылки
9.5 Получение ссылки
9.6 Упражнение - Проверка на hash
9.7 Изменение ссылки
9.8 Удаление ссылки
9.9 Упражнение - Проверка наличия
9.10 Тест - CRUD
10. Middleware
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. Авторизация
11.1 Что такое JWT
11.2 Упражнение - Модель пользователя
11.3 Упражнение - Репозиторий пользователей
11.4 Сервис авторизации
11.5 Bcrypt
11.6 Упражнение - Логин пользователя
11.7 Создание JWT
11.8 Упражнение - Финал авторизации
11.9 Тест - Авторизация
12. Контекст
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. Продвинутая работа с БД
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. Тестирование API
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. Заключение
15.1 Куда дальше
Тариф Самостоятельный
СКАЧАТЬ СЛИВЫ КУРСОВ
Для возможности скачивать складчины и сливы курсов нужно зарегистрироваться
Возможно, Вас ещё заинтересует:
- ПомогусИИ (на 1 месяц) [Лев Кудрин]
- Очищение, оздоровление тела и психики [Тариф Standart] [Дмитрий Барабанов]
- Как уменьшить повседневную тревожность. Практический гайд [Наталия Шишкина]
- Подписка на контент Богдана Соловьева (на 1 месяц) [Тариф Большой любитель эксклюзивных видео] [Богдан Соловьев] [Повтор]
- Мастер полуфабрикатов [Тариф ВИП] [Ирина Выходцева] [Повтор]
- Ядро здоровья — иммунная система [Тариф Стандарт] [Клиника академиков Картавенко] [Виктор Картавенко, Татьяна Картавенко, Екатерина Меркюри]
- Гармония цвета [Школа Морского пейзажа] [Дмитрий Роза]
- Kubernetes и Helm (обновление 2026) [Тариф Самостоятельный] [Purpleschool] [Антон Ларичев] [Повтор]
- Гармония цвета [Школа Морского пейзажа] [Дмитрий Роза]
- Функциональный и интегральный подход к женскому гормональному здоровью [PreventAge] [Ольга Андросова, Ольга Зайцева, Наталья Старкова]