Серия онлайн-курсов

Курс «Продвинутый Golang»: все выпуски

Автор Антон Ларичев Школа PurpleSchool

Все выпуски курса собраны на одной странице. Сравните даты, цены, содержание и отзывы, выберите нужный выпуск и оформите его отдельно. Выпуски со статусом «Можно купить» доступны для получения после оплаты.

1 выпуск
0 можно купить
от 3 999 ₽ цена участия
0отзывов
Обложка: Курс «Продвинутый Golang» Последний выпуск серии
Повтор Предзаказ
3 999 ₽
Участвовать в складчине
Цена и доступность

Все выпуски курса

Каждый выпуск — самостоятельный материал. Откройте карточку, чтобы проверить состав материалов и условия получения.

Статусы и цены показаны отдельно для каждого выпуска и обновляются вместе с каталогом.

Описание и содержание

О курсе

Продвинутый Golang — курс о создании HTTP API и многопоточности. В ходе курса вы создадите сервис по укорачиванию ссылок с авторизацией и статистикой. ## Что вы изучите Вы познакомитесь с внутренним устройством Golang, включая Go allocator, Stack, Heap, GC и выделение памяти. Затем изучите работу горутин, их синхронизацию и использование каналов для общения между ними. При создании API на стандартном пакете http вы изучите роутинг, обработку запросов и ответов, проектирование архитектуры, работу с контекстом и middleware. Вы запустите PostgreSQL в Docker, подключитесь к базе через ORM Gorm и напишете все типы CRUD-запросов. Также вы создадите авторизацию, поработаете с JWT и напишете тесты для API. Теорию изучают во время создания API. В курсе есть упражнения для закрепления знаний. ## Требования Для прохождения необходимо знать основы Golang. ## Тариф Самостоятельный. Курс обновлён 20 февраля 2026 года.
Содержание

Программа курса

  • Введение

  • Настройка окружения

  • Работа 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 Рекомендуемый курс

    1. Настройка окружения
  • 2.1 Настройка окружения

  • 2.2 Установка Golang

  • 2.3 Настройки VSCode

  • 2.4 Рекомендуемый курс

  • 2.5 Домашнее задание AI

  • 2.6 Работа с gitflow

    1. Работа 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 под капотом

    1. 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

    1. Http server
  • 5.1 Выбор HTTP сервера

  • 5.2 Простейший сервер

  • 5.3 Как работают запросы

  • 5.4 Свой ServeMux

  • 5.5 Методы и коды ответа

  • 5.6 Handler

  • 5.7 Тест - Http server

    1. Архитектура
  • 6.1 Структура приложения

  • 6.2 Конфигурация

  • 6.3 Обзор приложения

  • 6.4 Декомпозиция модуля

  • 6.5 Упражнение - Модуль авторизации

  • 6.6 Передача зависимостей

  • 6.7 Ответ от API

  • 6.8 Упражнение - Пакет ответа

  • 6.9 Тест - Архитектура

    1. Запрос и валидация
  • 7.1 Чтение body

  • 7.2 Упражнение - Простая валидация

  • 7.3 Regexp

  • 7.4 Go validator

  • 7.5 Вынос обработчика

  • 7.6 Упражнение - Регистрация

  • 7.7 Тест - Запрос и валидация

    1. Подключение базы данных
  • 8.1 Установка Docker Desktop

  • 8.2 Развёртывание Postgres

  • 8.3 Подключение к базе

  • 8.4 Выбор ORM

  • 8.5 Подключение Gorm

  • 8.6 Описание модели

  • 8.7 Авто миграции

  • 8.8 Тест - Подключение базы данных

    1. CRUD
  • 9.1 Упражнение - Handler ссылок

  • 9.2 Параметр запроса

  • 9.3 Паттерн репозитория

  • 9.4 Создание ссылки

  • 9.5 Получение ссылки

  • 9.6 Упражнение - Проверка на hash

  • 9.7 Изменение ссылки

  • 9.8 Удаление ссылки

  • 9.9 Упражнение - Проверка наличия

  • 9.10 Тест - CRUD

    1. 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

    1. Авторизация
  • 11.1 Что такое JWT

  • 11.2 Упражнение - Модель пользователя

  • 11.3 Упражнение - Репозиторий пользователей

  • 11.4 Сервис авторизации

  • 11.5 Bcrypt

  • 11.6 Упражнение - Логин пользователя

  • 11.7 Создание JWT

  • 11.8 Упражнение - Финал авторизации

  • 11.9 Тест - Авторизация

    1. Контекст
  • 12.1 Что такое контекст

  • 12.2 WithTimeout

  • 12.3 WithValue

  • 12.4 WithCancel

  • 12.5 Получение email из JWT

  • 12.6 Запись в контекст

  • 12.7 Упражнение - Чтение из контекста

  • 12.8 Unauthed

  • 12.9 Тест - Контекст

    1. Продвинутая работа с БД
  • 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 Тест - Продвинута работа с БД

    1. Тестирование 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

    1. Заключение
  • 15.1 Куда дальше

Опыт участников

Отзывы участников

Отзывы собраны со страниц всех выпусков. В каждой карточке видно, к какому выпуску относится оценка.

—
0 отзывов о выпусках курса

Оценок пока нет — можно стать первым.

Оставить отзыв
У этой серии пока нет отзывов

Если вы знакомы с одним из выпусков, поделитесь впечатлениями — это поможет другим выбрать.

Написать первым
Получение доступа

Как купить и скачать курс

Покупать всю серию не нужно: оформление проходит на странице выбранного выпуска.

  1. 1

    Выберите выпуск

    Сравните период, цену, статус, содержание и отзывы.

  2. 2

    Откройте карточку

    Проверьте состав материалов и нажмите кнопку получения доступа.

  3. 3

    Оплатите долю

    Для предзаказа дождитесь завершения сбора; доступный выпуск уже готов к покупке.

  4. 4

    Получите материалы

    Инструкция придёт на почту, а заказ появится в разделе «Мои складчины».

Подробно о том, как работает Складчина
Перед покупкой

Частые вопросы о серии

Можно ли купить курс «Продвинутый Golang» сейчас?

Сейчас готовых к покупке выпусков нет. На странице каждого выпуска указан актуальный статус; для предзаказа можно присоединиться к сбору и дождаться его завершения.

Сколько выпусков курса «Продвинутый Golang» доступно?

В серии собрано 1 выпуск. Каждый выпуск оформляется отдельно: на этой странице можно сравнить дату, статус, цену, скидку, рейтинг и отзывы.

Как выбрать подходящий выпуск?

Начните со свежего выпуска, если нужна наиболее новая версия материала. Архивный выпуск стоит выбрать, если вам важны программа конкретного периода, его цена или отзывы участников. Подробное содержание находится на странице каждого выпуска.

Как скачать материалы после оплаты?

После оформления инструкция приходит на электронную почту, а доступ отображается в разделе «Мои складчины» на основной платформе — оттуда можно скачать материалы. Для выпуска в предзаказе они становятся доступны после завершения сбора.

Нужно ли покупать все выпуски серии?

Нет. Выпуски — самостоятельные материалы: можно купить только выбранную версию курса. Стоимость в карточке относится именно к одному выпуску, а не ко всей серии.