Курс на Stepik
Обложка курса «Твой Golang - Продвинутый» на Stepik
5 000₽ -5%
--:--:--
4 749

Твой Golang - Продвинутый 5.000

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

Углубленный курс по Go для тех, кто хочет понимать язык на уровне runtime и компилятора. Разбираем внутреннее устройство слайсов, мап (Swiss Tables), интерфейсов и асинхронности. Учимся писать эффективный backend, CLI и HTTP-серверы, опираясь на знание того, как код работает в памяти. Только Hard skills и архитектура production-систем. Это второй уровень после базового курса от Павла Тарасова.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Твой Golang - Продвинутый»Учеников на курсе 539
Сертификаты, выданные на курсе «Твой Golang - Продвинутый»Сертификатов выдано 9
Отзывы о курсе «Твой Golang - Продвинутый»Отзывов получено 3
Рейтинг курса «Твой Golang - Продвинутый»Рейтинг курса 5.000
Уроки в курсе «Твой Golang - Продвинутый»Количество уроков 146
Тесты в курсе «Твой Golang - Продвинутый»Количество квизов 449
Задачи с кодом в курсе «Твой Golang - Продвинутый»Количество задач с кодом 86
Время прохождения курса «Твой Golang - Продвинутый»Время прохождения курса
Стоимость курса «Твой Golang - Продвинутый»Стоимость курса 5 000 ₽
Обновления курса «Твой Golang - Продвинутый»Обновления курса
Дата публикации курса «Твой Golang - Продвинутый»Дата публикации курса
Последнее обновление курса «Твой Golang - Продвинутый»Последнее обновление
Сложность normal

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

Разделы в курсе «Твой Golang - Продвинутый» 20 разделов Уроки в курсе «Твой Golang - Продвинутый» 146 уроков Тесты в курсе «Твой Golang - Продвинутый» 449 тестов Задачи в курсе «Твой Golang - Продвинутый» 86 задач Время прохождения курса «Твой Golang - Продвинутый» 102 ч. Последнее обновление курса «Твой Golang - Продвинутый» обн. 5 сентября 2026

Слайсы

6 уроков
1. Введение
2. Структура слайса
3. Как работает append()
4. Нюансы append()
5. Подслайсы
6. Неожиданные мутации

Big O

3 урока
1. Сложность операций: Big O
2. Как данные хранятся в памяти?
3. Практика: Угадай сложность

Хеш-таблица

5 уроков
1. Проблема поиска
2. Придумываем хеш-таблицу
3. Коллизии
4. Создаем свою хеш-таблицу
5. Заключение

map

10 уроков
1. Введение
2. Идея swiss tables
3. hash
4. Каталог и расширяемое хеширование
5. Таблицы (Swiss tables)
6. Группы
7. Поиск элемента и пробирование
8. CRUD в map
9. Нюансы map
10. Заключение

Интерфейсы

4 урока
1. Устройство интерфейсов
2. Таблицы методов (itab)
3. Интерфейсы, nil и производительность
4. Использование интерфейсов

Время - time

7 уроков
1. Основы времени
2. Арифметика времени
3. Форматирование и парсинг времени
4. Временные зоны
5. Monotonic и Wall Time
6. Таймеры и задержки
7. DST, високосные секунды и другие подводные камни

Работа с файловой системой

14 уроков
1. Введение в работу с файлами
2. Ручное управление файлом
3. Операции с *os.File
4. Пример: чтение конфигурации
5. Работа с большими файлами
6. bufio
7. Реализуем логику head
8. Пути и работа с директориями
9. Directory (Path) Traversal
10. Рекурсивный обход файловой системы
11. Права доступа, метаданные и временные файлы
12. Атомарная запись
13. Практика: реализуем tail
14. Стандартные операции над файлами

JSON

11 уроков
1. Что такое JSON
2. Основы JSON
3. omitempty и omitzero
4. MarshalJSON и UnmarshalJSON
5. Вложенные структуры, слайсы, мапы
6. Динамический JSON
7. Валидация в UnmarshalJSON
8. Streaming и работа с большими данными
9. Циклические ссылки
10. encoding/json/v2
11. stepik

Конкурентность

8 уроков
1. Горутины и GMP
2. Как устроен GMP
3. Горутины
4. Каналы
5. Нюансы каналов
6. Практика с каналами
7. select
8. Таймеры и таймауты

Контекст

5 уроков
1. Введение в контекст
2. Отмена контекста
3. Передача контекста вниз по стеку
4. Причина - context.Cause
5. Пример: длинные вычисления с проверкой контекста

Сигналы

2 урока
1. Работа с сигналами
2. Graceful shutdown

Пакет sync

10 уроков
1. Введение в пакет sync
2. sync.Mutex
3. sync.RWMutex
4. sync.WaitGroup
5. sync.Once
6. sync.Cond
7. sync.Map
8. sync.Pool
9. errgroup
10. Что выбрать?

Пакет atomic

5 уроков
1. Атомарные операции
2. Пример: Флаг отмены для воркеров
3. Атомарное обновление структуры - atomic.Pointer
4. Когда нельзя использовать атомарные операции
5. Заключение

Практика и конкурентность

1 урок
1. Graceful shutdown

Паттерны конкурентности

7 уроков
1. Pipeline
2. Worker Pool
3. Fan-Out/Fan-In
4. Resource Pool
5. Circuit Breaker
6. Rate Limiting
7. Pub/Sub

CLI

7 уроков
1. Введение в CLI-приложения
2. Цветной вывод и индикаторы прогресса
3. Стандартный пакет flag
4. Пакет pflag
5. Библиотека urfave/cli
6. Библиотека Cobra и Viper
7. Интерактивные режимы (REPL)

Теория HTTP

4 урока
1. Введение в HTTP как протокол
2. Уровни сетевого взаимодействия: OSI
3. Эволюция HTTP
4. Stateless-природа HTTP

HTTP-сервер

16 уроков
1. Основы HTTP-сервера
2. Регистрация обработчиков
3. Запуск сервера
4. Заполнение обработчиков
5. Добавляем log/slog
6. Роутер
7. Роутинг в http.ServeMux
8. Убираем глобальный логгер
9. Middleware
10. Context и цепочки middleware
11. Настройка HTTP-сервера
12. Чтение данных из HTTP-запроса
13. Раздача статических файлов
14. Загрузка файлов
15. Множественная загрузка файлов
16. Заключение

HTTP-клиент

5 уроков
1. Простые запросы HTTP
2. http.Client
3. http.Transport
4. Диагностика сетевых ошибок
5. http.Request

Конец второй части курса "Твой Go"

1 урок
1. Что дальше?