Содержание курса
1. Слайсы
6 уроков
184
122
119м
0
Закрытый
1.1
Введение
↗
86
86
2м 54с
0
Закрытый
1.2
Структура слайса
↗
46
7
26м 50с
0
Закрытый
1.3
Как работает append()
↗
15
8
24м 11с
0
Закрытый
1.4
Нюансы append()
↗
16
7
24м 2с
0
Закрытый
1.5
Подслайсы
↗
11
8
29м 17с
0
Закрытый
1.6
Неожиданные мутации
↗
10
6
14м 6с
0
2. Big O
3 урока
30
21
32м
0
Закрытый
2.1
Сложность операций: Big O
↗
11
11
8м 38с
0
Закрытый
2.2
Как данные хранятся в памяти?
↗
9
9
12м 28с
0
Закрытый
2.3
Практика: Угадай сложность
↗
10
1
12м 13с
0
3. Хеш-таблица
5 уроков
30
11
80м
0
Закрытый
3.1
Проблема поиска
↗
6
3
21м 34с
0
Закрытый
3.2
Придумываем хеш-таблицу
↗
6
2
17м 39с
0
Закрытый
3.3
Коллизии
↗
6
3
10м 23с
0
Закрытый
3.4
Создаем свою хеш-таблицу
↗
8
1
22м 37с
0
Закрытый
3.5
Заключение
↗
4
2
11м 47с
0
4. map
10 уроков
41
13
172м
0
Закрытый
4.1
Введение
↗
6
1
19м 54с
0
Закрытый
4.2
Идея swiss tables
↗
6
3
11м 33с
0
Закрытый
4.3
hash
↗
4
2
13м 57с
0
Закрытый
4.4
Каталог и расширяемое хеширование
↗
5
1
24м 41с
0
Закрытый
4.5
Таблицы (Swiss tables)
↗
4
1
18м 31с
0
Закрытый
4.6
Группы
↗
4
1
15м 46с
0
Закрытый
4.7
Поиск элемента и пробирование
↗
3
1
20м 19с
0
Закрытый
4.8
CRUD в map
↗
3
1
20м 50с
0
Закрытый
4.9
Нюансы map
↗
3
1
14м 52с
0
Закрытый
4.10
Заключение
↗
3
1
19м 16с
0
5. Интерфейсы
4 урока
20
5
80м
0
Закрытый
5.1
Устройство интерфейсов
↗
6
2
17м 23с
0
Закрытый
5.2
Таблицы методов (itab)
↗
5
1
18м 36с
0
Закрытый
5.3
Интерфейсы, nil и производительность
↗
3
1
18м 7с
0
Закрытый
5.4
Использование интерфейсов
↗
6
1
27м 46с
0
6. Время - time
7 уроков
17
7
169м
0
Закрытый
6.1
Основы времени
↗
2
1
30м 18с
0
Закрытый
6.2
Арифметика времени
↗
3
1
42м 56с
0
Закрытый
6.3
Форматирование и парсинг времени
↗
2
1
28м 26с
0
Закрытый
6.4
Временные зоны
↗
3
1
29м 23с
0
Закрытый
6.5
Monotonic и Wall Time
↗
2
1
15м 29с
0
Закрытый
6.6
Таймеры и задержки
↗
2
1
10м 12с
0
Закрытый
6.7
DST, високосные секунды и другие подводные камни
↗
3
1
13м 12с
0
7. Работа с файловой системой
14 уроков
33
17
300м
0
Закрытый
7.1
Введение в работу с файлами
↗
3
1
16м 55с
0
Закрытый
7.2
Ручное управление файлом
↗
3
1
15м 50с
0
Закрытый
7.3
Операции с *os.File
↗
2
1
28м 27с
0
Закрытый
7.4
Пример: чтение конфигурации
↗
2
2
21м 7с
0
Закрытый
7.5
Работа с большими файлами
↗
2
1
19м 55с
0
Закрытый
7.6
bufio
↗
2
1
27м 20с
0
Закрытый
7.7
Реализуем логику head
↗
2
2
13м 24с
0
Закрытый
7.8
Пути и работа с директориями
↗
2
1
24м 28с
0
Закрытый
7.9
Directory (Path) Traversal
↗
2
1
15м 13с
0
Закрытый
7.10
Рекурсивный обход файловой системы
↗
2
1
30м 2с
0
Закрытый
7.11
Права доступа, метаданные и временные файлы
↗
3
1
30м 57с
0
Закрытый
7.12
Атомарная запись
↗
3
1
12м 52с
0
Закрытый
7.13
Практика: реализуем tail
↗
3
2
27м 38с
0
Закрытый
7.14
Стандартные операции над файлами
↗
2
1
22м 13с
0
8. JSON
11 уроков
26
13
185м
0
Закрытый
8.1
Что такое JSON
↗
2
1
17м 40с
0
Закрытый
8.2
Основы JSON
↗
2
1
27м 41с
0
Закрытый
8.3
omitempty и omitzero
↗
2
1
24м 23с
0
Закрытый
8.4
MarshalJSON и UnmarshalJSON
↗
3
1
32м 22с
0
Закрытый
8.5
Вложенные структуры, слайсы, мапы
↗
3
1
12м 41с
0
Закрытый
8.6
Динамический JSON
↗
2
1
22м 7с
0
Закрытый
8.7
Валидация в UnmarshalJSON
↗
2
2
18м 14с
0
Закрытый
8.8
Streaming и работа с большими данными
↗
2
1
18м 34с
0
Закрытый
8.9
Циклические ссылки
↗
3
1
7м 25с
0
Закрытый
8.10
encoding/json/v2
↗
2
2
8м 33с
0
Закрытый
8.11
stepik
↗
3
1
-
0
9. Конкурентность
8 уроков
33
12
223м
0
Закрытый
9.1
Горутины и GMP
↗
8
3
16м 1с
0
Закрытый
9.2
Как устроен GMP
↗
5
2
37м 14с
0
Закрытый
9.3
Горутины
↗
5
1
23м 2с
0
Закрытый
9.4
Каналы
↗
3
1
30м 14с
0
Закрытый
9.5
Нюансы каналов
↗
3
1
28м 0с
0
Закрытый
9.6
Практика с каналами
↗
3
2
23м 36с
0
Закрытый
9.7
select
↗
3
1
33м 13с
0
Закрытый
9.8
Таймеры и таймауты
↗
3
1
33м 35с
0
10. Контекст
5 уроков
15
5
79м
0
Закрытый
10.1
Введение в контекст
↗
4
1
23м 29с
0
Закрытый
10.2
Отмена контекста
↗
2
1
12м 30с
0
Закрытый
10.3
Передача контекста вниз по стеку
↗
2
1
20м 9с
0
Закрытый
10.4
Причина - context.Cause
↗
4
1
11м 31с
0
Закрытый
10.5
Пример: длинные вычисления с проверкой контекста
↗
3
1
14м 49с
0
11. Сигналы
2 урока
9
4
48м
0
Закрытый
11.1
Работа с сигналами
↗
5
1
25м 47с
0
Закрытый
11.2
Graceful shutdown
↗
4
3
24м 39с
0
12. Пакет sync
10 уроков
25
11
159м
0
Закрытый
12.1
Введение в пакет sync
↗
3
1
5м 18с
0
Закрытый
12.2
sync.Mutex
↗
2
1
20м 59с
0
Закрытый
12.3
sync.RWMutex
↗
2
1
21м 57с
0
Закрытый
12.4
sync.WaitGroup
↗
3
1
22м 52с
0
Закрытый
12.5
sync.Once
↗
2
1
20м 42с
0
Закрытый
12.6
sync.Cond
↗
2
1
31м 7с
0
Закрытый
12.7
sync.Map
↗
3
1
7м 31с
0
Закрытый
12.8
sync.Pool
↗
3
1
16м 2с
0
Закрытый
12.9
errgroup
↗
2
1
12м 0с
0
Закрытый
12.10
Что выбрать?
↗
3
2
5м 19с
0
13. Пакет atomic
5 уроков
14
10
83м
0
Закрытый
13.1
Атомарные операции
↗
3
2
33м 39с
0
Закрытый
13.2
Пример: Флаг отмены для воркеров
↗
3
2
8м 26с
0
Закрытый
13.3
Атомарное обновление структуры - atomic.Pointer
↗
3
3
12м 44с
0
Закрытый
13.4
Когда нельзя использовать атомарные операции
↗
3
1
27м 35с
0
Закрытый
13.5
Заключение
↗
2
2
4м 58с
0
14. Практика и конкурентность
1 урок
6
3
39м
0
Закрытый
14.1
Graceful shutdown
↗
6
3
39м 6с
0
15. Паттерны конкурентности
7 уроков
29
11
300м
0
Закрытый
15.1
Pipeline
↗
4
2
17м 9с
0
Закрытый
15.2
Worker Pool
↗
5
1
56м 21с
0
Закрытый
15.3
Fan-Out/Fan-In
↗
3
1
41м 55с
0
Закрытый
15.4
Resource Pool
↗
4
3
23м 39с
0
Закрытый
15.5
Circuit Breaker
↗
4
1
80м 52с
0
Закрытый
15.6
Rate Limiting
↗
4
1
38м 46с
0
Закрытый
15.7
Pub/Sub
↗
5
2
45м 28с
0
16. CLI
7 уроков
20
7
256м
0
Закрытый
16.1
Введение в CLI-приложения
↗
6
1
44м 59с
0
Закрытый
16.2
Цветной вывод и индикаторы прогресса
↗
3
1
30м 54с
0
Закрытый
16.3
Стандартный пакет flag
↗
2
1
48м 49с
0
Закрытый
16.4
Пакет pflag
↗
3
1
24м 4с
0
Закрытый
16.5
Библиотека urfave/cli
↗
2
1
29м 7с
0
Закрытый
16.6
Библиотека Cobra и Viper
↗
2
1
41м 47с
0
Закрытый
16.7
Интерактивные режимы (REPL)
↗
2
1
40м 52с
0
17. Теория HTTP
4 урока
15
4
97м
0
Закрытый
17.1
Введение в HTTP как протокол
↗
6
1
48м 12с
0
Закрытый
17.2
Уровни сетевого взаимодействия: OSI
↗
4
1
18м 13с
0
Закрытый
17.3
Эволюция HTTP
↗
2
1
19м 48с
0
Закрытый
17.4
Stateless-природа HTTP
↗
3
1
12м 58с
0
18. HTTP-сервер
16 уроков
48
17
464м
0
Закрытый
18.1
Основы HTTP-сервера
↗
4
1
18м 40с
0
Закрытый
18.2
Регистрация обработчиков
↗
4
1
37м 23с
0
Закрытый
18.3
Запуск сервера
↗
4
1
23м 54с
0
Закрытый
18.4
Заполнение обработчиков
↗
3
1
18м 46с
0
Закрытый
18.5
Добавляем log/slog
↗
3
1
16м 18с
0
Закрытый
18.6
Роутер
↗
3
1
11м 55с
0
Закрытый
18.7
Роутинг в http.ServeMux
↗
2
1
37м 17с
0
Закрытый
18.8
Убираем глобальный логгер
↗
2
1
26м 21с
0
Закрытый
18.9
Middleware
↗
4
1
73м 57с
0
Закрытый
18.10
Context и цепочки middleware
↗
3
1
47м 28с
0
Закрытый
18.11
Настройка HTTP-сервера
↗
2
1
31м 45с
0
Закрытый
18.12
Чтение данных из HTTP-запроса
↗
3
1
51м 58с
0
Закрытый
18.13
Раздача статических файлов
↗
4
1
25м 15с
0
Закрытый
18.14
Загрузка файлов
↗
2
1
30м 56с
0
Закрытый
18.15
Множественная загрузка файлов
↗
3
1
19м 13с
0
Закрытый
18.16
Заключение
↗
2
2
1м 18с
0
19. HTTP-клиент
5 уроков
21
5
128м
0
Закрытый
19.1
Простые запросы HTTP
↗
4
1
26м 47с
0
Закрытый
19.2
http.Client
↗
5
1
15м 4с
0
Закрытый
19.3
http.Transport
↗
4
1
14м 42с
0
Закрытый
19.4
Диагностика сетевых ошибок
↗
3
1
6м 31с
0
Закрытый
19.5
http.Request
↗
5
1
68м 10с
0
20. Конец второй части курса "Твой Go"
1 урок
10
10
1м
0
Закрытый
20.1
Что дальше?
↗
10
10
1м 37с
0