Курс на Stepik
Обложка курса «Go: антикурс без воды, до трудоустройства» на Stepik
12 900₽ -11%
--:--:--
11 481

Go: антикурс без воды, до трудоустройства 5.000

Открыть на
STEPIK.ORG

Практический набор действий для разработчиков, которые хотят профессионально освоить Go и получить работу. От базового синтаксиса до production-ready кода, включая подготовку к собеседованиям и широкий спектр технологий: MySQL, PostgreSQL, Redis, Protocol Buffers, gRPC, RabbitMQ, Docker Compose, Prometheus, Grafana, k6 и др.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Go: антикурс без воды, до трудоустройства»Учеников на курсе 94
Сертификаты, выданные на курсе «Go: антикурс без воды, до трудоустройства»Сертификатов выдано 2
Отзывы о курсе «Go: антикурс без воды, до трудоустройства»Отзывов получено 4
Рейтинг курса «Go: антикурс без воды, до трудоустройства»Рейтинг курса 5.000
Уроки в курсе «Go: антикурс без воды, до трудоустройства»Количество уроков 351
Тесты в курсе «Go: антикурс без воды, до трудоустройства»Количество квизов 264
Задачи с кодом в курсе «Go: антикурс без воды, до трудоустройства»Количество задач с кодом 50
Время прохождения курса «Go: антикурс без воды, до трудоустройства»Время прохождения курса
Стоимость курса «Go: антикурс без воды, до трудоустройства»Стоимость курса 12 900 ₽
Обновления курса «Go: антикурс без воды, до трудоустройства»Обновления курса
Дата публикации курса «Go: антикурс без воды, до трудоустройства»Дата публикации курса
Последнее обновление курса «Go: антикурс без воды, до трудоустройства»Последнее обновление
Сложность normal

Содержание курса

Разделы в курсе «Go: антикурс без воды, до трудоустройства» 41 раздел Уроки в курсе «Go: антикурс без воды, до трудоустройства» 351 урок Тесты в курсе «Go: антикурс без воды, до трудоустройства» 264 теста Задачи в курсе «Go: антикурс без воды, до трудоустройства» 50 задач Время прохождения курса «Go: антикурс без воды, до трудоустройства» 86 ч. Последнее обновление курса «Go: антикурс без воды, до трудоустройства» обн. 26 мая 2026

1. Первые шаги

1 урок
Закрытый
1.1 Старт
68
56
5м 46с
0

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

4 урока
Закрытый
2.1 VS Code: установка и первые шаги
56
48
3м 59с
0
Закрытый
2.2 Установка
48
48
2м 54с
0
Закрытый
2.3 Hello GO
50
46
5м 16с
0
Закрытый
2.4 Донастройка VS Code
48
48
11м 31с
0

3. Базовые типы и переменные

11 уроков
Закрытый
3.1 Структура Go-проекта: пакеты, модули и организация кода
45
38
23м 40с
0
Закрытый
3.2 Организация кода. Точка входа
38
37
2м 3с
0
Закрытый
3.3 Типы данных в Go: система числовых типов
37
37
9м 20с
0
Закрытый
3.4 Основа базовых типов данных в Go: bool, string, float
37
37
9м 18с
0
Закрытый
3.5 Объявление переменных и форматированный вывод в Go
37
31
24м 37с
0
Закрытый
3.6 Анатомия переменной: память, адреса и размеры в Go
37
36
18м 59с
0
Закрытый
3.7 Правила именования идентификаторов
36
36
7м 34с
0
Закрытый
3.8 Экспорт идентификаторов и соглашения об аббревиатурах
37
36
7м 49с
0
Закрытый
3.9 Комментарии: однострочные, многострочные и документирование
36
35
12м 43с
0
Закрытый
3.10 Статическая типизация и краткое объявление переменных
35
29
17м 1с
0
Закрытый
3.11 Нулевые значения (Zero Values)
33
33
7м 54с
0

4. Выражения и константы

7 уроков
Закрытый
4.1 Арифметические операции
33
31
11м 20с
0
Закрытый
4.2 Операторы инкремента/декремента и присваивания
31
31
12м 10с
0
Закрытый
4.3 Побитовые операции
32
31
18м 44с
0
Закрытый
4.4 Пакет fmt: форматированный вывод
31
31
21м 46с
0
Закрытый
4.5 Продвинутое форматирование
31
31
15м 10с
0
Закрытый
4.6 Константы
31
31
18м 44с
0
Закрытый
4.7 Техническое задание #1
31
31
19м 52с
0

5. Типы и пользовательский ввод

6 уроков
Закрытый
5.1 Пакет math
31
30
20м 14с
0
Закрытый
5.2 Псевдонимы типов
30
29
10м 6с
0
Закрытый
5.3 Приведение типов
29
28
24м 1с
0
Закрытый
5.4 Пользовательский ввод
29
27
22м 57с
0
Закрытый
5.5 Техническое задание #2
28
27
8м 57с
0
Закрытый
5.6 Практика кода
27
26
51м 2с
0

6. Память, указатели и продвинутый ввод данных

2 урока
Закрытый
6.1 Области видимости, указатели, продвинутый ввод
26
25
47м 15с
0
Закрытый
6.2 Продвинутый ввод и итоги
25
23
20м 22с
0

7. Принятие решений: условия и логика

7 уроков
Закрытый
7.1 Операции сравнения
24
21
19м 15с
0
Закрытый
7.2 Логические операторы
22
21
25м 40с
0
Закрытый
7.3 Условные конструкции
21
21
33м 19с
0
Закрытый
7.4 Инициализация переменных в условии
21
21
11м 1с
0
Закрытый
7.5 Техническое задание #3
21
18
22м 21с
0
Закрытый
7.6 Оператор switch
20
20
13м 15с
0
Закрытый
7.7 Практика кода
19
18
66м 7с
0

8. Повторение

5 уроков
Закрытый
8.1 Генерация псевдослучайных чисел
19
18
35м 44с
0
Закрытый
8.2 Циклы: базовые структуры управления
18
18
20м 13с
0
Закрытый
8.3 Цикл for
19
17
29м 32с
0
Закрытый
8.4 Дополнение
19
18
24м 30с
0
Закрытый
8.5 Практика кода
18
17
46м 23с
0

9. Массивы

5 уроков
Закрытый
9.1 Массивы: основы
18
17
12м 51с
0
Закрытый
9.2 Основы работы с массивами
17
17
16м 20с
0
Закрытый
9.3 Циклы и перебор массивов
17
17
17м 56с
0
Закрытый
9.4 Практические задачи с массивами
17
16
13м 5с
0
Закрытый
9.5 Алгоритмы поиска и обработки данных
17
16
17м 51с
0

10. Слайсы

5 уроков
Закрытый
10.1 Введение в слайсы
17
17
18м 58с
0
Закрытый
10.2 Устройство и базовые операции
17
15
28м 46с
0
Закрытый
10.3 Копирование, многомерность и специфика типа
16
13
12м 11с
0
Закрытый
10.4 Практика: числовые срезы
13
13
7м 53с
0
Закрытый
10.5 Практика: строки и «коллекции задач»
13
13
8м 49с
0

11. Строки

5 уроков
Закрытый
11.1 Основы строк и внутреннее устройство
14
12
18м 15с
0
Закрытый
11.2 Длина строк, байты и руны
14
13
14м 7с
0
Закрытый
11.3 Перебор строк и работа с символами
14
12
13м 43с
0
Закрытый
11.4 Пакет strings
14
13
13м 2с
0
Закрытый
11.5 Производительность
14
11
36м 3с
0

12. Применение строк и срезов

3 урока
Закрытый
12.1 Техническое задание #5
14
11
14м 52с
0
Закрытый
12.2 Техническое задание #4
14
12
38м 26с
0
Закрытый
12.3 Техническое задание #6
14
11
21м 24с
0

13. Коллекции (map и set)

2 урока
Закрытый
13.1 Ассоциативные массивы
13
11
36м 37с
0
Закрытый
13.2 Множества
12
12
18м 2с
0

14. Техническое задание #7

9 уроков
Закрытый
14.1 Постановка задачи
12
12
6м 18с
0
Закрытый
14.2 Базовый интерфейс и структура
11
11
5м 37с
0
Закрытый
14.3 Добавление книг
11
11
6м 44с
0
Закрытый
14.4 Просмотр книг
9
9
3м 19с
0
Закрытый
14.5 Удаление книг
10
10
5м 9с
0
Закрытый
14.6 Поиск
11
11
7м 12с
0
Закрытый
14.7 Добавление пользователей
9
9
5м 26с
0
Закрытый
14.8 Книги кользователя
9
9
5м 48с
0
Закрытый
14.9 Выдача книг
10
5
-
0

15. Функции

3 урока
Закрытый
15.1 Функции: принцип DRY
6
6
12м 13с
0
Закрытый
15.2 Основы функций
6
5
49м 38с
0
Закрытый
15.3 Резюме
6
5
48м 6с
0

16. Критические ситуации

3 урока
Закрытый
16.1 Ошибки
6
5
38м 3с
0
Закрытый
16.2 Паники
6
5
41м 18с
0
Закрытый
16.3 Выводы
6
5
-
0

17. Техническое задание #8

2 урока
Закрытый
17.1 Постановка задачи
6
5
2м 7с
0
Закрытый
17.2 Реализация
6
5
22м 5с
0

18. Про время

2 урока
Закрытый
18.1 Основа
4
4
21м 17с
0
Закрытый
18.2 Всё, что нужно знать
5
4
5м 52с
0

19. Про файлы и директории

2 урока
Закрытый
19.1 Основа
5
4
35м 25с
0
Закрытый
19.2 Всё, что нужно знать
5
4
1м 3с
0

20. Техническое задание #9

15 уроков
Закрытый
20.1 Постановка задачи
4
4
11м 31с
0
Закрытый
20.2 Начало
4
4
3м 38с
0
Закрытый
20.3 utils
5
4
12м 29с
0
Закрытый
20.4 parse-format
4
4
9м 29с
0
Закрытый
20.5 storage part 1
5
4
14м 47с
0
Закрытый
20.6 storage part 2
4
3
33м 59с
0
Закрытый
20.7 storage part 3
3
3
8м 39с
0
Закрытый
20.8 storage part 4
3
3
23м 24с
0
Закрытый
20.9 service 1
4
3
38м 21с
0
Закрытый
20.10 service 2
3
3
18м 29с
0
Закрытый
20.11 handler 1
4
3
11м 13с
0
Закрытый
20.12 handler 2
3
3
11м 3с
0
Закрытый
20.13 menu
4
3
10м 42с
0
Закрытый
20.14 preRun
3
3
10м 48с
0
Закрытый
20.15 Итоги
5
3
10м 30с
0

21. Структуры

5 уроков
Закрытый
21.1 Основы организации данных
4
3
9м 24с
0
Закрытый
21.2 Создание и инициализация
4
2
11м 51с
0
Закрытый
21.3 Инициализация структур и видимость
2
2
6м 18с
0
Закрытый
21.4 Создание структур
2
2
6м 25с
0
Закрытый
21.5 Резюме
2
2
9м 53с
0

22. Техническое задание #10

2 урока
Закрытый
22.1 Постановка задачи
3
2
5м 0с
0
Закрытый
22.2 Реализация
3
2
45м 1с
0

23. Про JSON

3 урока
Закрытый
23.1 Предназначение
2
2
12м 13с
0
Закрытый
23.2 Сериализация
2
2
12м 56с
0
Закрытый
23.3 Десериализация
3
2
5м 52с
0

24. Композиция — не наследование

5 уроков
Закрытый
24.1 Дополнение
2
2
4м 55с
0
Закрытый
24.2 Демонстрация
2
2
19м 21с
0
Закрытый
24.3 Техническое задание #11
2
2
1м 41с
0
Закрытый
24.4 Реализация
3
3
5м 39с
0
Закрытый
24.5 Итоги
3
2
9м 27с
0

25. Интерфейсы

3 урока
Закрытый
25.1 Основа
3
2
10м 5с
0
Закрытый
25.2 Замечание
2
2
5м 27с
0
Закрытый
25.3 Погружение
3
1
42м 44с
0

26. Практический проект: CRUD-приложение с персистентностью

25 уроков
Закрытый
26.1 Клонирование шаблона и инициализация проекта
2
2
-
0
Закрытый
26.2 Создание моделей Contact и ContactRelation
2
2
-
0
Закрытый
26.3 DTO для обновления контакта с указателями
1
1
-
0
Закрытый
26.4 Валидация полей и доменные ошибки
1
1
-
0
Закрытый
26.5 Фабричная функция NewContact
1
1
-
0
Закрытый
26.6 Методы управления тегами контакта
1
1
-
0
Закрытый
26.7 Управление связями между контактами
1
1
-
0
Закрытый
26.8 Структура ContactBook и конструктор
1
1
-
0
Закрытый
26.9 CRUD-операции: создание и чтение контактов
1
1
-
0
Закрытый
26.10 CRUD-операции: обновление и удаление
1
1
-
0
Закрытый
26.11 Реализация поиска по имени, телефону и тегам
1
1
-
0
Закрытый
26.12 Методы работы со связями в ContactBook
1
1
-
0
Закрытый
26.13 Методы сериализации и десериализации
1
1
-
0
Закрытый
26.14 Интерфейс Storage для персистентности
1
1
-
0
Закрытый
26.15 JSONStorage: реализация метода Load
2
2
-
0
Закрытый
26.16 JSONStorage: атомарная запись файлов
2
2
-
0
Закрытый
26.17 Тестирование ContactBook и JSONStorage
2
2
-
0
Закрытый
26.18 Структура CLI и внедрение зависимостей
2
2
-
0
Закрытый
26.19 Обработчик вывода списка контактов
2
2
-
0
Закрытый
26.20 Главный цикл и обработка команд CLI
2
2
-
0
Закрытый
26.21 Точка входа и инициализация приложения
2
2
-
0
Закрытый
26.22 CLI: создание контакта с вводом данных
2
2
-
0
Закрытый
26.23 Обработчик выхода с сохранением данных
2
2
-
0
Закрытый
26.24 Тестирование функции выхода
3
3
-
0
Закрытый
26.25 Техническое задание #12
3
1
-
0

27. Параллелизм и конкурентность

11 уроков
Закрытый
27.1 Горутины: первые шаги
2
1
-
0
Закрытый
27.2 Стек вызовов горутин и управление runtime
2
1
-
0
Закрытый
27.3 Каналы как основы синхронизации горутин
2
1
-
0
Закрытый
27.4 Буферизованные каналы
2
1
-
0
Закрытый
27.5 Обработка ошибок в горутинах
2
1
-
0
Закрытый
27.6 Альтернативная обработка ошибок
2
1
-
0
Закрытый
27.7 Примитив синхронизации горутин
2
1
-
0
Закрытый
27.8 Защита общих данных
2
1
-
0
Закрытый
27.9 Практика
2
1
-
0
Закрытый
27.10 Deadlock — взаимная блокировка горутин
2
1
-
0
Закрытый
27.11 Самостоятельная работа
2
1
-
0

28. Не SOLID

1 урок
Закрытый
28.1 Принципы, которые делают код лучше
2
0
-
0

29. Жизнь без ООП

6 уроков
Закрытый
29.1 Factory
0
0
-
0
Закрытый
29.2 Builder
1
0
-
0
Закрытый
29.3 Prototype
1
0
-
0
Закрытый
29.4 Singleton
0
0
-
0
Закрытый
29.5 Adapter
0
0
-
0
Закрытый
29.6 Дополнение
1
1
-
0

30. Управление зависимостями

1 урок
Закрытый
30.1 Подключение сторонних библиотек
3
1
6м 5с
0

31. RESTful API: обзор фундаментальных концепций

2 урока
Закрытый
31.1 Теория ключевых аспектов
204
157
30м 21с
26
Закрытый
31.2 Есть вопросик...
184
147
5м 23с
11

32. SQL и СУБД: SQLite, введение в теорию хранения данных

19 уроков
Закрытый
32.1 Зачем нужны базы данных
139
101
12м 9с
16
Закрытый
32.2 Установка и настройка окружения для работы с SQLite
127
112
16м 35с
12
Закрытый
32.3 Основные концепции структуры базы данных
123
111
9м 35с
12
Закрытый
32.4 Отношения в базе данных
121
109
5м 11с
14
Закрытый
32.5 Что такое SQL и система типов
114
105
9м 31с
12
Закрытый
32.6 Создание таблиц
115
105
6м 59с
12
Закрытый
32.7 Ограничения SQL
110
101
14м 59с
14
Закрытый
32.8 Добавление записей
105
100
8м 48с
14
Закрытый
32.9 Самостоятельная работа: наполнение данными
105
99
4м 19с
12
Закрытый
32.10 Выборка данных
105
99
10м 15с
11
Закрытый
32.11 Фильтрация данных
104
99
23м 43с
13
Закрытый
32.12 Оператор обновления данных
103
99
4м 39с
10
Закрытый
32.13 Самостоятельная работа на обновление данных
104
96
6м 44с
12
Закрытый
32.14 Оператор удаления данных
103
98
5м 27с
12
Закрытый
32.15 Самостоятельная работа: создание и наполнение базы данных
102
96
2м 16с
8
Закрытый
32.16 Сложные концепции
108
99
15м 38с
13
Закрытый
32.17 Самостоятельная работа на сложные запросы
102
93
3м 58с
11
Закрытый
32.18 Сложные запросы
107
107
3м 2с
11
Закрытый
32.19 Самостоятельная работа на объединение
105
96
6м 48с
12

33. Полноценный REST API с JWT‑аутентификацией

28 уроков
Закрытый
33.1 Базовый HTTP-сервер
1
1
-
0
Закрытый
33.2 Модель Contact
0
0
-
0
Закрытый
33.3 Инициализация SQLite и миграции
0
0
-
0
Закрытый
33.4 Репозиторий контактов
0
0
-
0
Закрытый
33.5 Сервис контактов
0
0
-
0
Закрытый
33.6 HTTP-обработчик создания контакта
0
0
-
0
Закрытый
33.7 Интеграция слоя контактов
0
0
-
0
Закрытый
33.8 Рефакторинг
0
0
-
0
Закрытый
33.9 Валидация и уникальность
0
0
-
0
Закрытый
33.10 Валидация по-взрослому
0
0
-
0
Закрытый
33.11 GET-запрос получения всех контактов
0
0
-
0
Закрытый
33.12 GET-запрос получение контакта по ID
0
0
-
0
Закрытый
33.13 Мягкое удаление контакта (Soft Delete)
0
0
-
0
Закрытый
33.14 Техническое задание
0
0
-
0
Закрытый
33.15 Модель пользователя и структура аутентификации
0
0
-
0
Закрытый
33.16 Таблица в базе данных
0
0
-
0
Закрытый
33.17 Заготовка слоя регистрации
0
0
-
0
Закрытый
33.18 Регистрация пользователя
0
0
-
0
Закрытый
33.19 Хеширование паролей
0
0
-
0
Закрытый
33.20 Аутентификация и проверка пароля
0
0
-
0
Закрытый
33.21 JWT-токены: Claims и JWTService
0
0
-
0
Закрытый
33.22 Генерация JWT при успешной авторизации
0
0
-
0
Закрытый
33.23 Окружение
0
0
-
0
Закрытый
33.24 JWT Middleware для защиты эндпоинтов
0
0
-
0
Закрытый
33.25 Поддержка Bearer-токенов
0
0
-
0
Закрытый
33.26 Проверка владельца при удалении
0
0
-
0
Закрытый
33.27 Проверка владельца при обновлении
0
0
-
0
Закрытый
33.28 Перспективы развития
2
0
-
0

34. Описание проекта

1 урок
Закрытый
34.1 Что будем делать
0
0
-
0

35. Что нас ждёт на собеседовани

1 урок
Закрытый
35.1 Практические рекомендации
3
3
-
0

36. Каталог товаров

43 урока
Закрытый
36.1 🗃️ 001 Введение в проект
0
0
-
0
Закрытый
36.2 🗃️ 002 Инициализация Go-модуля и Gin-сервер
0
0
-
0
Закрытый
36.3 🗃️ 003 Доменные сущности: BaseEntity, Brand, Category, CatalogI
0
0
-
0
Закрытый
36.4 🗃️ 004 Docker Compose и PostgreSQL
0
0
-
0
Закрытый
36.5 🗃️ 005 SQL-миграции и seed-данные
0
0
-
0
Закрытый
36.6 🗃️ 006 Репозиторий брендов (PostgreSQL)
0
0
-
0
Закрытый
36.7 🗃️ 007 Query handler: получение брендов
0
0
-
0
Закрытый
36.8 🗃️ 008 HTTP handler: эндпоинт брендов
0
0
-
0
Закрытый
36.9 🗃️ 009 Маршрутизация API v1: /brands
0
0
-
0
Закрытый
36.10 🗃️ 010 Конфигурация через .env и godotenv
0
0
-
0
Закрытый
36.11 🗃️ 011.1 [ТЗ] Самостоятельная работа
0
0
-
0
Закрытый
36.12 🗃️ 011.2 Эндпоинт /categories: полный цикл
0
0
-
0
Закрытый
36.13 🗃️ 012 Репозиторий товаров с JOIN
0
0
-
0
Закрытый
36.14 🗃️ 013 Query handler: список товаров
0
0
-
0
Закрытый
36.15 🗃️ 014 HTTP handler: список товаров
0
0
-
0
Закрытый
36.16 🗃️ 015 Маршрут /catalog-items
0
0
-
0
Закрытый
36.17 🗃️ 016 Рефакторинг SQL-запросов
0
0
-
0
Закрытый
36.18 🗃️ 017 Репозиторий: получение товара по ID
0
0
-
0
Закрытый
36.19 🗃️ 018 Query handler: товар по ID
0
0
-
0
Закрытый
36.20 🗃️ 019 HTTP handler: товар по ID
0
0
-
0
Закрытый
36.21 🗃️ 020 Маршрут /catalog-items/
0
0
-
0
Закрытый
36.22 🗃️ 021 Поиск по названию (ILIKE)
0
0
-
0
Закрытый
36.23 🗃️ 022 Query handler: поиск по названию
0
0
-
0
Закрытый
36.24 🗃️ 023 HTTP handler: поиск по названию
0
0
-
0
Закрытый
36.25 🗃️ 024 Маршрут /catalog-items/title/:title
0
0
-
0
Закрытый
36.26 🗃️ 025 Репозиторий: создание товара (INSERT)
0
0
-
0
Закрытый
36.27 🗃️ 026 Command handler: создание товара
0
0
-
0
Закрытый
36.28 🗃️ 027 HTTP handler: POST-запрос
0
0
-
0
Закрытый
36.29 🗃️ 028 Маршрут POST /catalog-items
0
0
-
0
Закрытый
36.30 🗃️ 029 Репозиторий: обновление товара (UPDATE)
0
0
-
0
Закрытый
36.31 🗃️ 030 Command handler: обновление товара
0
0
-
0
Закрытый
36.32 🗃️ 031 HTTP handler: PUT-запрос
0
0
-
0
Закрытый
36.33 🗃️ 032 Маршрут PUT /catalog-items
0
0
-
0
Закрытый
36.34 🗃️ 033 [ТЗ] Удаление товара
0
0
-
0
Закрытый
36.35 🗃️ 034 [ТЗ] Поиск по бренду
0
0
-
0
Закрытый
36.36 🗃️ 035 Пагинация: Pagination и QueryArgs
0
0
-
0
Закрытый
36.37 🗃️ 036 Фильтрация и сортировка: введение
0
0
-
0
Закрытый
36.38 🗃️ 037 Query handler: пагинация (V2)
0
0
-
0
Закрытый
36.39 🗃️ 038 HTTP handler: пагинация (V2)
0
0
-
0
Закрытый
36.40 🗃️ 039 Маршрут GET /v2/catalog-items, тестирование пагинации
0
0
-
0
Закрытый
36.41 🗃️ 040 Автомиграции при старте (golang-migrate)
0
0
-
0
Закрытый
36.42 🗃️ 041 Финал каталога и итоговые правки
0
0
-
0
Закрытый
36.43 🗃️ Саморефлексия
0
0
-
0

37. Корзина покупок

23 урока
Закрытый
37.1 🗑️ 042 PostgreSQL для Basket в Docker Compose
0
0
-
0
Закрытый
37.2 🗑️ 043 Gin-сервер и health-check для Basket
0
0
-
0
Закрытый
37.3 🗑️ 044 Миграции Basket и автозапуск
0
0
-
0
Закрытый
37.4 🗑️ 045 Доменные модели: ShoppingCart, ShoppingCartItem
0
0
-
0
Закрытый
37.5 🗑️ 046 Репозиторий: сохранение корзины (транзакция)
0
0
-
0
Закрытый
37.6 🗑️ 047 Command handler: сохранение корзины
0
0
-
0
Закрытый
37.7 🗑️ 048 HTTP handler: POST /cart
0
0
-
0
Закрытый
37.8 🗑️ 049 Маршрутизация API v1: /cart
0
0
-
0
Закрытый
37.9 🗑️ 050 Инициализация слоёв и DI
0
0
-
0
Закрытый
37.10 🗑️ 051 Валидация моделей (go-playground/validator)
0
0
-
0
Закрытый
37.11 🗑️ 052 Middleware: централизованная обработка ошибок
0
0
-
0
Закрытый
37.12 🗑️ 053 Интеграция ErrorHandlerMiddleware
0
0
-
0
Закрытый
37.13 🗑️ 054 Репозиторий: получение корзины
0
0
-
0
Закрытый
37.14 🗑️ 055 Query handler: получение корзины
0
0
-
0
Закрытый
37.15 🗑️ 056 HTTP handler: GET /cart/:accountName
0
0
-
0
Закрытый
37.16 🗑️ 057 Маршрут GET /cart/:accountName
0
0
-
0
Закрытый
37.17 🗑️ 058 Кастомный тип NotFoundError
0
0
-
0
Закрытый
37.18 🗑️ 059 [ТЗ] Удаление корзины
0
0
-
0
Закрытый
37.19 🗑️ 060 Redis-контейнер для кэширования
0
0
-
0
Закрытый
37.20 🗑️ 061 RedisCartRepository
0
0
-
0
Закрытый
37.21 🗑️ 062 Интеграция Redis
0
0
-
0
Закрытый
37.22 🗑️ 063 Dockerfile и compose-prod для Basket
0
0
-
0
Закрытый
37.23 🗑️ Саморефлексия
0
0
-
0

38. Окончание

1 урок
Закрытый
38.1 Итоги
1
0
472м 9с
0

39. Промоакции

31 урок
Закрытый
39.1 🏷️ 064 MySQL-контейнер для Promotion
0
0
-
0
Закрытый
39.2 🏷️ 065 Подключение к MySQL и автомиграции
0
0
-
0
Закрытый
39.3 🏷️ 066 Миграция: таблица promos и seed-данные
0
0
-
0
Закрытый
39.4 🏷️ 067 Protocol Buffers: greet.proto и кодогенерация
0
0
-
0
Закрытый
39.5 🏷️ 068 Реализация GreeterService (gRPC)
0
0
-
0
Закрытый
39.6 🏷️ 069 gRPC-сервер с graceful shutdown
0
0
-
0
Закрытый
39.7 🏷️ 070 gRPC Reflection и тестирование
0
0
-
0
Закрытый
39.8 🏷️ 071.1 gRPC метод Add (практика)
0
0
-
0
Закрытый
39.9 🏷️ 071.2 Proto-контракт
0
0
-
0
Закрытый
39.10 🏷️ 072 Доменная модель
0
0
-
0
Закрытый
39.11 🏷️ 073 Интерфейс PromotionRepository
0
0
-
0
Закрытый
39.12 🏷️ 074 Реализация FindByCatalogItem
0
0
-
0
Закрытый
39.13 🏷️ 075 Реализация обработчика promotion/queries
0
0
-
0
Закрытый
39.14 🏷️ 076 gRPC-сервис PromoService: заглушка
0
0
-
0
Закрытый
39.15 🏷️ 077 Реализация GetPromoByCatalogItem
0
0
-
0
Закрытый
39.16 🏷️ 078 Интеграция PromoService в main
0
0
-
0
Закрытый
39.17 🏷️ 079 Proto: CreatePromo RPC
0
0
-
0
Закрытый
39.18 🏷️ 080 Репозиторий: вставка промоакции
0
0
-
0
Закрытый
39.19 🏷️ 081 Command handler: создание промоакции
0
0
-
0
Закрытый
39.20 🏷️ 082 gRPC эндпоинт CreatePromo
0
0
-
0
Закрытый
39.21 🏷️ 083 Интеграция CreatePromoHandler и DI
0
0
-
0
Закрытый
39.22 🏷️ 084 Unique-ограничение и обработка дубликатов
0
0
-
0
Закрытый
39.23 🏷️ 085 UpdatePromo: полный цикл
0
0
-
0
Закрытый
39.24 🏷️ 086 [ТЗ] Удаление промоакции
0
0
-
0
Закрытый
39.25 🏷️ 087 gRPC-клиент в SaveCartHandler: применение скидок
0
0
-
0
Закрытый
39.26 🏷️ 088 Интеграция gRPC-клиента в Basket
0
0
-
0
Закрытый
39.27 🏷️ 089 Dockerfile и compose-prod для Promotion
0
0
-
0
Закрытый
39.28 🏷️ 090.1 Проблема: БД не готова при старте
0
0
-
0
Закрытый
39.29 🏷️ 090.2 Утилита WaitForDB с retry-логикой
0
0
-
0
Закрытый
39.30 🏷️ 091 Интеграция WaitForDB во все сервисы
0
0
-
0
Закрытый
39.31 🏷️ Саморефлексия
0
0
-
0

40. Оформление заказов

25 уроков
Закрытый
40.1 🚚 092 PostgreSQL для Checkout и миграции
0
0
-
0
Закрытый
40.2 🚚 093 Конфигурация и запуск миграций
0
0
-
0
Закрытый
40.3 🚚 094 Gin-сервер и health-check для Checkout
0
0
-
0
Закрытый
40.4 🚚 095 Доменная модель: Order, Value Objects, Enums
0
0
-
0
Закрытый
40.5 🚚 096 Интерфейс и реализация OrderRepository
0
0
-
0
Закрытый
40.6 🚚 097 Репозиторий: получение заказа с позициями
0
0
-
0
Закрытый
40.7 🚚 098 Репозиторий: поиск заказов по аккаунту
0
0
-
0
Закрытый
40.8 🚚 099 Репозиторий: создание заказа (транзакция)
0
0
-
0
Закрытый
40.9 🚚 100 Query handler: заказ по ID
0
0
-
0
Закрытый
40.10 🚚 101 HTTP handler: GET /orders/:id
0
0
-
0
Закрытый
40.11 🚚 102 Маршрут и DI для Checkout
0
0
-
0
Закрытый
40.12 🚚 103 [ТЗ] Заказы по аккаунту
0
0
-
0
Закрытый
40.13 🚚 104 RabbitMQ-контейнер в Docker Compose
0
0
-
0
Закрытый
40.14 🚚 105 Структура messaging: заготовки
0
0
-
0
Закрытый
40.15 🚚 106 BaseIntegrationEvent и OrderSubmittedEvent
0
0
-
0
Закрытый
40.16 🚚 107 RabbitMQ Publisher: exchange, queue, publish
0
0
-
0
Закрытый
40.17 🚚 108 Command handler: CheckoutCart и публикация события
0
0
-
0
Закрытый
40.18 🚚 109 HTTP handler: POST /cart/checkout
0
0
-
0
Закрытый
40.19 🚚 110 Маршрут checkout и интеграция RabbitMQ
0
0
-
0
Закрытый
40.20 🚚 111 RabbitMQ Consumer: подключение и обработка
0
0
-
0
Закрытый
40.21 🚚 112 ProcessOrderSubmissionHandler: создание заказа
0
0
-
0
Закрытый
40.22 🚚 113 OrderSubmittedConsumer: маппинг события в команду
0
0
-
0
Закрытый
40.23 🚚 114 Интеграция consumer в Checkout с graceful shutdown
0
0
-
0
Закрытый
40.24 🚚 115 Dockerfile и compose-prod для Checkout
0
0
-
0
Закрытый
40.25 🚚 Саморефлексия
0
0
-
0

41. Мониторинг и инфраструктура

16 уроков
Закрытый
41.1 📊 116.1 Введение в Prometheus и Grafana
0
0
-
0
Закрытый
41.2 📊 116.2 Пакет metrics: HTTP, gRPC, DB, RabbitMQ
0
0
-
0
Закрытый
41.3 📊 117 Gin Middleware для Prometheus-метрик
0
0
-
0
Закрытый
41.4 📊 118 gRPC-интерцепторы метрик
0
0
-
0
Закрытый
41.5 📊 119 Метрики в Catalog-сервисе
0
0
-
0
Закрытый
41.6 📊 120 Метрики в Promotion-сервисе
0
0
-
0
Закрытый
41.7 📊 121 Конфигурация Prometheus (prometheus.yml)
0
0
-
0
Закрытый
41.8 📊 122 Datasource Grafana для Prometheus
0
0
-
0
Закрытый
41.9 📊 123 Prometheus и Grafana в compose-prod
0
0
-
0
Закрытый
41.10 📊 124.1 Демо: дашборды Prometheus и Grafana
0
0
-
0
Закрытый
41.11 📊 124.2 Grafana-дашборды: Catalog и Promotion
0
0
-
0
Закрытый
41.12 📊 125 Нагрузочное тестирование с k6 (HTTP)
0
0
-
0
Закрытый
41.13 📊 126 Тюнинг пула соединений PostgreSQL
0
0
-
0
Закрытый
41.14 📊 127 k6: нагрузочный тест gRPC
0
0
-
0
Закрытый
41.15 📊 128 Portainer: управление контейнерами
1
1
-
0
Закрытый
41.16 📊 Саморефлексия
0
0
-
0