Содержание пакета (2 курса)
1. Твой Go 4.977578475336323
1. Введение
8 уроков
👁
41 953
👤
38 920
Закрытый
1.1
О курсе
↗
8 510
8 510
5м
181
Закрытый
1.2
Что нужно сделать
↗
5 665
5 665
1м
136
Закрытый
1.3
Про Golang
↗
5 472
5 472
3м
139
Закрытый
1.4
Установка Golang
↗
5 123
5 123
3м
96
Закрытый
1.5
Установка редактора кода
↗
4 836
4 836
14м
99
Закрытый
1.6
Первая программа
↗
4 668
3 205
11м
111
Закрытый
1.7
Запуск и компиляция
↗
4 017
3 192
11м
133
Закрытый
1.8
Отладка
↗
3 662
2 917
16м
141
2. Базовые типы
27 уроков
👁
57 772
👤
48 212
Закрытый
2.1
Переменные
↗
4 082
2 979
14м
99
Закрытый
2.2
Названия переменных
↗
3 391
2 766
17м
115
Закрытый
2.3
Типы
↗
3 168
2 668
11м
93
Закрытый
2.4
Тип int
↗
3 001
2 586
8м
74
Закрытый
2.5
Переполнение и приведение типов int
↗
2 842
2 362
11м
83
Закрытый
2.6
Типы byte и rune
↗
2 734
2 235
10м
74
Закрытый
2.7
Выбор int
↗
2 563
2 258
3м
72
Закрытый
2.8
Система счисления
↗
2 490
2 091
19м
121
Закрытый
2.9
iota
↗
2 486
2 162
10м
93
Закрытый
2.10
Случайное целое число
↗
2 358
1 819
19м
77
Закрытый
2.11
Тип float
↗
2 184
1 767
20м
84
Закрытый
2.12
Случайное дробное число
↗
1 978
1 602
9м
61
Закрытый
2.13
Тип complex
↗
1 948
1 948
4м
50
Закрытый
2.14
Пакет math
↗
1 928
1 493
26м
71
Закрытый
2.15
Тип bool
↗
1 803
1 641
3м
52
Закрытый
2.16
Тип string
↗
1 814
1 487
16м
64
Закрытый
2.17
Пакет strings
↗
1 766
1 402
15м
70
Закрытый
2.18
Приведение в строку
↗
1 693
1 341
17м
63
Закрытый
2.19
Приведение строки в число
↗
1 583
1 248
31м
69
Закрытый
2.20
Пакет fmt
↗
1 584
1 258
14м
69
Закрытый
2.21
Спецификаторы f-функций
↗
1 527
1 186
16м
63
Закрытый
2.22
Тип rune
↗
1 491
1 331
9м
57
Закрытый
2.23
Указатели
↗
1 561
1 366
12м
89
Закрытый
2.24
nil и new
↗
1 513
1 326
7м
62
Закрытый
2.25
Ввод данных от пользователя
↗
1 451
1 290
17м
73
Закрытый
2.26
Тип any или interface{}
↗
1 442
1 209
7м
65
Закрытый
2.27
Другие типы
↗
1 391
1 391
2м
118
3. Операторы
9 уроков
👁
11 686
👤
9 983
Закрытый
3.1
Операторы и операнды
↗
1 448
1 266
3м
56
Закрытый
3.2
Математические операторы
↗
1 375
984
46м
66
Закрытый
3.3
Операторы присваивания
↗
1 305
1 095
4м
54
Закрытый
3.4
Конкатенация
↗
1 300
1 173
6м
51
Закрытый
3.5
Сравнение
↗
1 257
1 167
4м
38
Закрытый
3.6
Логические операторы
↗
1 250
1 130
12м
52
Закрытый
3.7
Логические "И", "ИЛИ"
↗
1 274
995
22м
58
Закрытый
3.8
Побитовые операторы
↗
1 246
1 246
11м
44
Закрытый
3.9
Пример побитовых операторов
↗
1 231
927
22м
78
4. Ветвления
7 уроков
👁
8 483
👤
7 146
Закрытый
4.1
Логические конструкции if-else
↗
1 280
1 013
16м
52
Закрытый
4.2
Логическое if с присвоением значения
↗
1 242
1 117
6м
50
Закрытый
4.3
Конструкция switch
↗
1 237
970
28м
69
Закрытый
4.4
Область видимости
↗
1 195
1 039
13м
60
Закрытый
4.5
Практика - Определение времени суток
↗
1 145
988
19м
55
Закрытый
4.6
Практика - Калькулятор ИМТ
↗
1 178
990
28м
52
Закрытый
4.7
Практика - Поиск по названию товара
↗
1 206
1 029
22м
64
5. Функции
25 уроков
👁
25 057
👤
20 969
Закрытый
5.1
Создание функций
↗
1 240
1 058
7м
53
Закрытый
5.2
Параметры
↗
1 194
833
53м
64
Закрытый
5.3
Возвращение значений
↗
1 128
822
33м
60
Закрытый
5.4
Именованый return
↗
1 095
988
4м
45
Закрытый
5.5
Применение return
↗
1 077
1 077
9м
43
Закрытый
5.6
Вариативный параметр
↗
1 084
983
3м
41
Закрытый
5.7
Указатели и функции
↗
1 097
995
7м
56
Закрытый
5.8
defer
↗
1 123
991
7м
48
Закрытый
5.9
Нюансы defer
↗
1 086
960
12м
73
Закрытый
5.10
Стек вызовов - callstack
↗
1 066
767
10м
61
Закрытый
5.11
Паника!!!
↗
1 079
933
9м
52
Закрытый
5.12
Ошибки
↗
1 042
764
53м
59
Закрытый
5.13
Оборачивание ошибок
↗
987
727
44м
58
Закрытый
5.14
Замыкания
↗
984
710
38м
64
Закрытый
5.15
Пользовательские типы
↗
935
726
17м
53
Закрытый
5.16
Инициализация с init
↗
904
825
10м
49
Закрытый
5.17
Рекурсия
↗
926
821
13м
56
Закрытый
5.18
Практикуемся с рекурсией - факториал
↗
898
687
30м
51
Закрытый
5.19
Стиль функций
↗
891
798
8м
44
Закрытый
5.20
Одна функция - одна задача
↗
862
787
4м
43
Закрытый
5.21
if, else и return
↗
886
886
5м
41
Закрытый
5.22
Затенение переменных
↗
874
613
56м
62
Закрытый
5.23
Имена функций
↗
851
775
7м
56
Закрытый
5.24
Практика - Система оценок
↗
879
744
25м
54
Закрытый
5.25
Практика - Декораторы
↗
869
699
20м
40
6. Пакеты
3 урока
👁
2 697
👤
2 279
Закрытый
6.1
Пакеты в golang
↗
957
784
15м
56
Закрытый
6.2
Внешние пакеты и их подключение
↗
880
760
11м
49
Закрытый
6.3
Советы по пакетам
↗
860
735
9м
49
7. Циклы
6 уроков
👁
4 887
👤
3 303
Закрытый
7.1
Цикл for
↗
927
573
66м
55
Закрытый
7.2
Итерация по строкам
↗
845
626
22м
46
Закрытый
7.3
break, continue и return
↗
828
521
61м
47
Закрытый
7.4
Вложенные циклы и лейблы
↗
801
423
67м
42
Закрытый
7.5
Практика - Игра "Угадай число"
↗
781
605
32м
30
Закрытый
7.6
Практика - Анализ текста
↗
705
555
19м
19
8. Массивы
6 уроков
👁
4 829
👤
3 339
Закрытый
8.1
Создание массивов
↗
879
751
9м
44
Закрытый
8.2
Доступ к значениям массивов
↗
832
735
10м
30
Закрытый
8.3
Итерация по массиву
↗
810
591
26м
42
Закрытый
8.4
Массивы и функции
↗
800
543
32м
39
Закрытый
8.5
Сравнение массивов
↗
766
123
17м
31
Закрытый
8.6
Практика - Секретный код
↗
742
596
14м
27
9. Слайсы
16 уроков
👁
11 015
👤
7 852
Закрытый
9.1
Создание слайсов
↗
838
26
36м
33
Закрытый
9.2
Итерация по слайсу
↗
782
527
34м
40
Закрытый
9.3
Просто про добавление значений - append()
↗
735
532
23м
35
Закрытый
9.4
Вариативные параметры функции
↗
726
541
15м
30
Закрытый
9.5
Пустой слайс - nil
↗
718
524
18м
37
Закрытый
9.6
Вложенные массивы и слайсы
↗
700
506
42м
35
Закрытый
9.7
Копирование - copy
↗
696
478
38м
49
Закрытый
9.8
Подслайсы
↗
687
609
17м
40
Закрытый
9.9
Указатель на элемент
↗
681
612
10м
39
Закрытый
9.10
Вставка значений - append()
↗
668
482
60м
51
Закрытый
9.11
Удаление значений
↗
660
464
46м
42
Закрытый
9.12
Нюансы работы со слайсами
↗
651
592
17м
47
Закрытый
9.13
Сортировка
↗
650
387
54м
36
Закрытый
9.14
Пакет slices
↗
646
646
57м
41
Закрытый
9.15
Практика - шифр Цезаря
↗
604
472
12м
25
Закрытый
9.16
Практика - Отслайси его!
↗
573
454
50м
28
10. Структура map
12 уроков
👁
7 427
👤
5 680
Закрытый
10.1
Создание map
↗
749
625
17м
45
Закрытый
10.2
Итерация по map
↗
691
474
19м
33
Закрытый
10.3
Изменение map во время итерации
↗
651
583
7м
30
Закрытый
10.4
Ключи
↗
653
575
7м
33
Закрытый
10.5
Значения
↗
633
393
67м
40
Закрытый
10.6
Скорость работы
↗
625
560
3м
29
Закрытый
10.7
Пример использования
↗
611
428
50м
34
Закрытый
10.8
Сравнение
↗
602
407
32м
35
Закрытый
10.9
Копирование и клонирование
↗
570
412
16м
34
Закрытый
10.10
Удаление значений с maps.DeleteFunc()
↗
567
405
14м
36
Закрытый
10.11
Практика - рекомендации фильмов
↗
569
431
34м
20
Закрытый
10.12
Практика - анализ друзей
↗
506
387
22м
19
11. Структуры
15 уроков
👁
8 686
👤
6 512
Закрытый
11.1
Проблема хранения данных
↗
705
571
6м
39
Закрытый
11.2
Структуры
↗
675
472
18м
39
Закрытый
11.3
Вложенные структуры
↗
628
395
56м
41
Закрытый
11.4
Передача по значению
↗
604
524
10м
38
Закрытый
11.5
Методы
↗
621
414
35м
47
Закрытый
11.6
Изменение структуры в методах
↗
587
338
87м
39
Закрытый
11.7
Экспортируемость полей и методов
↗
561
495
12м
34
Закрытый
11.8
Функция-конструктор
↗
581
370
34м
47
Закрытый
11.9
Теги
↗
566
494
9м
37
Закрытый
11.10
Композиция
↗
574
492
20м
36
Закрытый
11.11
Встраивание
↗
544
481
21м
38
Закрытый
11.12
Композиция vs встраивание
↗
544
459
14м
44
Закрытый
11.13
Пустая структура
↗
535
297
82м
37
Закрытый
11.14
Практика - система управления тегами
↗
494
361
14м
22
Закрытый
11.15
Практика - система управления проектами
↗
467
349
52м
25
12. Интерфейсы
10 уроков
👁
5 615
👤
4 780
Закрытый
12.1
Создание интерфейсов
↗
705
357
44м
49
Закрытый
12.2
Пример использования
↗
588
588
9м
35
Закрытый
12.3
Тип any или пустой интерфейс
↗
576
490
12м
26
Закрытый
12.4
nil
↗
548
480
8м
28
Закрытый
12.5
Вызов метода у nil
↗
544
544
7м
38
Закрытый
12.6
Пользовательские типы
↗
536
458
10м
35
Закрытый
12.7
Пример использования пользовательских типов
↗
523
523
9м
22
Закрытый
12.8
Сложнее пример с интерфейсами
↗
533
533
28м
31
Закрытый
12.9
Встраивание интерфейсов
↗
527
431
17м
37
Закрытый
12.10
Практика - Симуляция жизни в деревне
↗
535
376
35м
24
13. Ошибки
9 уроков
👁
4 346
👤
2 834
Закрытый
13.1
Вспоминаем про ошибки
↗
554
452
6м
24
Закрытый
13.2
Оборачивание ошибок
↗
519
305
25м
39
Закрытый
13.3
Пользовательские ошибки
↗
474
402
10м
35
Закрытый
13.4
Функции errors.Is() и errors.As()
↗
491
252
60м
33
Закрытый
13.5
Как устроены errors.Is() и errors.As()
↗
453
358
11м
17
Закрытый
13.6
Оборачивание пользовательских ошибок
↗
443
350
16м
19
Закрытый
13.7
Другой подход к работе с ошибками
↗
427
345
9м
22
Закрытый
13.8
Советы по работе с ошибками
↗
456
350
7м
18
Закрытый
13.9
Практика - Обработка ошибок платежа
↗
529
20
24м
15
14. Конец первой части курса
2 урока
👁
1 741
👤
1 710
Закрытый
14.1
Друзья курса
↗
88
57
1м
0
Закрытый
14.2
Что дальше?
↗
1 653
1 653
1м
51
2. Твой Go — Продвинутый
1. Слайсы
6 уроков
👁
184
👤
122
Закрытый
1.1
Введение
↗
86
86
2м
0
Закрытый
1.2
Структура слайса
↗
46
7
26м
0
Закрытый
1.3
Как работает append()
↗
15
8
24м
0
Закрытый
1.4
Нюансы append()
↗
16
7
24м
0
Закрытый
1.5
Подслайсы
↗
11
8
29м
0
Закрытый
1.6
Неожиданные мутации
↗
10
6
14м
0
2. Big O
3 урока
👁
30
👤
21
Закрытый
2.1
Сложность операций: Big O
↗
11
11
8м
0
Закрытый
2.2
Как данные хранятся в памяти?
↗
9
9
12м
0
Закрытый
2.3
Практика: Угадай сложность
↗
10
1
12м
0
3. Хеш-таблица
5 уроков
👁
30
👤
11
Закрытый
3.1
Проблема поиска
↗
6
3
21м
0
Закрытый
3.2
Придумываем хеш-таблицу
↗
6
2
17м
0
Закрытый
3.3
Коллизии
↗
6
3
10м
0
Закрытый
3.4
Создаем свою хеш-таблицу
↗
8
1
22м
0
Закрытый
3.5
Заключение
↗
4
2
11м
0
4. map
10 уроков
👁
41
👤
13
Закрытый
4.1
Введение
↗
6
1
19м
0
Закрытый
4.2
Идея swiss tables
↗
6
3
11м
0
Закрытый
4.3
hash
↗
4
2
13м
0
Закрытый
4.4
Каталог и расширяемое хеширование
↗
5
1
24м
0
Закрытый
4.5
Таблицы (Swiss tables)
↗
4
1
18м
0
Закрытый
4.6
Группы
↗
4
1
15м
0
Закрытый
4.7
Поиск элемента и пробирование
↗
3
1
20м
0
Закрытый
4.8
CRUD в map
↗
3
1
20м
0
Закрытый
4.9
Нюансы map
↗
3
1
14м
0
Закрытый
4.10
Заключение
↗
3
1
19м
0
5. Интерфейсы
4 урока
👁
20
👤
5
Закрытый
5.1
Устройство интерфейсов
↗
6
2
17м
0
Закрытый
5.2
Таблицы методов (itab)
↗
5
1
18м
0
Закрытый
5.3
Интерфейсы, nil и производительность
↗
3
1
18м
0
Закрытый
5.4
Использование интерфейсов
↗
6
1
27м
0
6. Время - time
7 уроков
👁
17
👤
7
Закрытый
6.1
Основы времени
↗
2
1
30м
0
Закрытый
6.2
Арифметика времени
↗
3
1
42м
0
Закрытый
6.3
Форматирование и парсинг времени
↗
2
1
28м
0
Закрытый
6.4
Временные зоны
↗
3
1
29м
0
Закрытый
6.5
Monotonic и Wall Time
↗
2
1
15м
0
Закрытый
6.6
Таймеры и задержки
↗
2
1
10м
0
Закрытый
6.7
DST, високосные секунды и другие подводные камни
↗
3
1
13м
0
7. Работа с файловой системой
14 уроков
👁
33
👤
17
Закрытый
7.1
Введение в работу с файлами
↗
3
1
16м
0
Закрытый
7.2
Ручное управление файлом
↗
3
1
15м
0
Закрытый
7.3
Операции с *os.File
↗
2
1
28м
0
Закрытый
7.4
Пример: чтение конфигурации
↗
2
2
21м
0
Закрытый
7.5
Работа с большими файлами
↗
2
1
19м
0
Закрытый
7.6
bufio
↗
2
1
27м
0
Закрытый
7.7
Реализуем логику head
↗
2
2
13м
0
Закрытый
7.8
Пути и работа с директориями
↗
2
1
24м
0
Закрытый
7.9
Directory (Path) Traversal
↗
2
1
15м
0
Закрытый
7.10
Рекурсивный обход файловой системы
↗
2
1
30м
0
Закрытый
7.11
Права доступа, метаданные и временные файлы
↗
3
1
30м
0
Закрытый
7.12
Атомарная запись
↗
3
1
12м
0
Закрытый
7.13
Практика: реализуем tail
↗
3
2
27м
0
Закрытый
7.14
Стандартные операции над файлами
↗
2
1
22м
0
8. JSON
11 уроков
👁
26
👤
13
Закрытый
8.1
Что такое JSON
↗
2
1
17м
0
Закрытый
8.2
Основы JSON
↗
2
1
27м
0
Закрытый
8.3
omitempty и omitzero
↗
2
1
24м
0
Закрытый
8.4
MarshalJSON и UnmarshalJSON
↗
3
1
32м
0
Закрытый
8.5
Вложенные структуры, слайсы, мапы
↗
3
1
12м
0
Закрытый
8.6
Динамический JSON
↗
2
1
22м
0
Закрытый
8.7
Валидация в UnmarshalJSON
↗
2
2
18м
0
Закрытый
8.8
Streaming и работа с большими данными
↗
2
1
18м
0
Закрытый
8.9
Циклические ссылки
↗
3
1
7м
0
Закрытый
8.10
encoding/json/v2
↗
2
2
8м
0
Закрытый
8.11
stepik
↗
3
1
0
9. Конкурентность
8 уроков
👁
33
👤
12
Закрытый
9.1
Горутины и GMP
↗
8
3
16м
0
Закрытый
9.2
Как устроен GMP
↗
5
2
37м
0
Закрытый
9.3
Горутины
↗
5
1
23м
0
Закрытый
9.4
Каналы
↗
3
1
30м
0
Закрытый
9.5
Нюансы каналов
↗
3
1
28м
0
Закрытый
9.6
Практика с каналами
↗
3
2
23м
0
Закрытый
9.7
select
↗
3
1
33м
0
Закрытый
9.8
Таймеры и таймауты
↗
3
1
33м
0
10. Контекст
5 уроков
👁
15
👤
5
Закрытый
10.1
Введение в контекст
↗
4
1
23м
0
Закрытый
10.2
Отмена контекста
↗
2
1
12м
0
Закрытый
10.3
Передача контекста вниз по стеку
↗
2
1
20м
0
Закрытый
10.4
Причина - context.Cause
↗
4
1
11м
0
Закрытый
10.5
Пример: длинные вычисления с проверкой контекста
↗
3
1
14м
0
11. Сигналы
2 урока
👁
9
👤
4
Закрытый
11.1
Работа с сигналами
↗
5
1
25м
0
Закрытый
11.2
Graceful shutdown
↗
4
3
24м
0
12. Пакет sync
10 уроков
👁
25
👤
11
Закрытый
12.1
Введение в пакет sync
↗
3
1
5м
0
Закрытый
12.2
sync.Mutex
↗
2
1
20м
0
Закрытый
12.3
sync.RWMutex
↗
2
1
21м
0
Закрытый
12.4
sync.WaitGroup
↗
3
1
22м
0
Закрытый
12.5
sync.Once
↗
2
1
20м
0
Закрытый
12.6
sync.Cond
↗
2
1
31м
0
Закрытый
12.7
sync.Map
↗
3
1
7м
0
Закрытый
12.8
sync.Pool
↗
3
1
16м
0
Закрытый
12.9
errgroup
↗
2
1
12м
0
Закрытый
12.10
Что выбрать?
↗
3
2
5м
0
13. Пакет atomic
5 уроков
👁
14
👤
10
Закрытый
13.1
Атомарные операции
↗
3
2
33м
0
Закрытый
13.2
Пример: Флаг отмены для воркеров
↗
3
2
8м
0
Закрытый
13.3
Атомарное обновление структуры - atomic.Pointer
↗
3
3
12м
0
Закрытый
13.4
Когда нельзя использовать атомарные операции
↗
3
1
27м
0
Закрытый
13.5
Заключение
↗
2
2
4м
0
14. Практика и конкурентность
1 урок
👁
6
👤
3
Закрытый
14.1
Graceful shutdown
↗
6
3
39м
0
15. Паттерны конкурентности
7 уроков
👁
29
👤
11
Закрытый
15.1
Pipeline
↗
4
2
17м
0
Закрытый
15.2
Worker Pool
↗
5
1
56м
0
Закрытый
15.3
Fan-Out/Fan-In
↗
3
1
41м
0
Закрытый
15.4
Resource Pool
↗
4
3
23м
0
Закрытый
15.5
Circuit Breaker
↗
4
1
80м
0
Закрытый
15.6
Rate Limiting
↗
4
1
38м
0
Закрытый
15.7
Pub/Sub
↗
5
2
45м
0
16. CLI
7 уроков
👁
20
👤
7
Закрытый
16.1
Введение в CLI-приложения
↗
6
1
44м
0
Закрытый
16.2
Цветной вывод и индикаторы прогресса
↗
3
1
30м
0
Закрытый
16.3
Стандартный пакет flag
↗
2
1
48м
0
Закрытый
16.4
Пакет pflag
↗
3
1
24м
0
Закрытый
16.5
Библиотека urfave/cli
↗
2
1
29м
0
Закрытый
16.6
Библиотека Cobra и Viper
↗
2
1
41м
0
Закрытый
16.7
Интерактивные режимы (REPL)
↗
2
1
40м
0
17. Теория HTTP
4 урока
👁
15
👤
4
Закрытый
17.1
Введение в HTTP как протокол
↗
6
1
48м
0
Закрытый
17.2
Уровни сетевого взаимодействия: OSI
↗
4
1
18м
0
Закрытый
17.3
Эволюция HTTP
↗
2
1
19м
0
Закрытый
17.4
Stateless-природа HTTP
↗
3
1
12м
0
18. HTTP-сервер
16 уроков
👁
48
👤
17
Закрытый
18.1
Основы HTTP-сервера
↗
4
1
18м
0
Закрытый
18.2
Регистрация обработчиков
↗
4
1
37м
0
Закрытый
18.3
Запуск сервера
↗
4
1
23м
0
Закрытый
18.4
Заполнение обработчиков
↗
3
1
18м
0
Закрытый
18.5
Добавляем log/slog
↗
3
1
16м
0
Закрытый
18.6
Роутер
↗
3
1
11м
0
Закрытый
18.7
Роутинг в http.ServeMux
↗
2
1
37м
0
Закрытый
18.8
Убираем глобальный логгер
↗
2
1
26м
0
Закрытый
18.9
Middleware
↗
4
1
73м
0
Закрытый
18.10
Context и цепочки middleware
↗
3
1
47м
0
Закрытый
18.11
Настройка HTTP-сервера
↗
2
1
31м
0
Закрытый
18.12
Чтение данных из HTTP-запроса
↗
3
1
51м
0
Закрытый
18.13
Раздача статических файлов
↗
4
1
25м
0
Закрытый
18.14
Загрузка файлов
↗
2
1
30м
0
Закрытый
18.15
Множественная загрузка файлов
↗
3
1
19м
0
Закрытый
18.16
Заключение
↗
2
2
1м
0
19. HTTP-клиент
5 уроков
👁
21
👤
5
Закрытый
19.1
Простые запросы HTTP
↗
4
1
26м
0
Закрытый
19.2
http.Client
↗
5
1
15м
0
Закрытый
19.3
http.Transport
↗
4
1
14м
0
Закрытый
19.4
Диагностика сетевых ошибок
↗
3
1
6м
0
Закрытый
19.5
http.Request
↗
5
1
68м
0
20. Конец второй части курса "Твой Go"
1 урок
👁
10
👤
10
Закрытый
20.1
Что дальше?
↗
10
10
1м
0