Содержание курса
1. Начало
1 урок
4 906
1 134
4м
253
Открытый
1.1
Введение
↗
4 906
1 134
4м 0с
253
2. Основы асинхронного программирования
6 уроков
25 547
12 741
72м
953
Открытый
2.1
Введение в асинхронность
↗
6 789
1 960
9м 26с
224
Закрытый
2.2
Основные преимущества asyncio
↗
3 869
2 301
12м 13с
160
Закрытый
2.3
IO bound и CPU bound
↗
4 342
2 773
12м 50с
144
Закрытый
2.4
В каких задачах полезно асинхронное программирование
↗
3 555
1 867
10м 11с
135
Закрытый
2.5
В каких задачах бесполезно асинхронное программирование
↗
3 446
1 787
9м 50с
138
Закрытый
2.6
GIL
↗
3 546
2 053
19м 17с
152
3. Awaitable объекты
7 уроков
17 606
10 363
318м
792
Закрытый
3.1
Основные элементы asyncio
↗
1 867
1 867
1м 8с
87
Закрытый
3.2
Coroutines / Корутины
↗
3 212
1 922
35м 53с
138
Закрытый
3.3
Task / Задачи
↗
2 482
1 796
68м 50с
155
Закрытый
3.4
Future / Футуры
↗
2 322
977
117м 1с
94
Закрытый
3.5
Awaitable объекты
↗
2 390
1 305
43м 36с
113
Открытый
3.6
Ключевое слово await
↗
2 930
986
30м 0с
107
Закрытый
3.7
Цикл событий (event loop)
↗
2 403
1 510
25м 38с
98
4. Основы работы с Asyncio
15 уроков
23 112
12 209
834м
1123
Закрытый
4.1
Основные методы asyncio
↗
2 018
1 386
17м 42с
104
Закрытый
4.2
Запуск цикла событий
↗
1 936
1 254
33м 37с
100
Закрытый
4.3
Асинхронный сон
↗
1 881
850
80м 53с
90
Закрытый
4.4
Создание задач
↗
1 828
1 061
77м 17с
93
Закрытый
4.5
Создание задач, часть 2
↗
1 699
689
89м 3с
-23
Закрытый
4.6
Одновременное выполнение корутин
↗
1 980
780
97м 46с
95
Закрытый
4.7
Предотвращаем "зависание" корутин
↗
1 676
799
95м 16с
57
Закрытый
4.8
Ожидание группы корутин
↗
1 574
776
91м 47с
98
Закрытый
4.9
Получение результатов от группы задач по мере завершения
↗
917
651
30м 17с
65
Закрытый
4.10
Создаём новый цикл событий
↗
1 467
613
36м 40с
84
Закрытый
4.11
Устанавливаем цикл событий по умолчанию
↗
1 416
798
18м 20с
60
Закрытый
4.12
Получаем ссылку на текущий цикл событий
↗
1 405
884
17м 54с
79
Закрытый
4.13
Получаем доступ к текущему циклу событий
↗
1 378
592
27м 19с
76
Закрытый
4.14
Запуск блокирующих функций в отдельном потоке
↗
1 150
553
72м 50с
102
Закрытый
4.15
Контекстные переменные
↗
787
523
56м 39с
43
5. Работа с задачами / task
15 уроков
18 183
10 640
806м
880
Закрытый
5.1
Введение в задачи / task
↗
1 456
823
16м 23с
69
Закрытый
5.2
Основные методы управления задачами / task
↗
1 430
1 193
6м 51с
63
Закрытый
5.3
Проверка статуса задачи
↗
1 308
656
64м 39с
66
Закрытый
5.4
Получение результата выполнения задачи
↗
1 285
544
40м 8с
75
Закрытый
5.5
Работа с текущей задачей
↗
1 246
517
44м 4с
72
Закрытый
5.6
Получение всех задач в цикле событий
↗
1 233
604
18м 44с
66
Закрытый
5.7
Установка и получение имени задачи
↗
1 216
583
25м 1с
65
Закрытый
5.8
Работа с исключениями внутри задачи
↗
1 226
591
29м 31с
62
Закрытый
5.9
Работа с отменой задач
↗
1 210
933
58м 46с
43
Закрытый
5.10
Получение информации о состоянии цикла событий и корутин
↗
1 150
1 036
15м 56с
53
Закрытый
5.11
Работа с асинхронным стеком вызова
↗
1 160
1 016
16м 4с
61
Закрытый
5.12
Работа Сallback функции
↗
1 178
460
84м 20с
52
Закрытый
5.13
Защита корутины от отмены
↗
1 113
485
70м 39с
40
Закрытый
5.14
Работа с группой задач TaskGroup()
↗
914
507
53м 16с
78
Закрытый
5.15
Решаем задачи
↗
1 058
692
268м 28с
15
6. Асинхронные конструкции
2 урока
2 398
939
70м
112
Закрытый
6.1
async with
↗
1 231
476
29м 38с
57
Закрытый
6.2
async for
↗
1 167
463
41м 24с
55
7. Проблемы синхронизации
5 уроков
7 375
2 896
113м
391
Закрытый
7.1
Состояние гонки
↗
733
468
18м 21с
42
Закрытый
7.2
Атомарность операций
↗
1 505
879
11м 11с
81
Закрытый
7.3
Мьютекс (mutex)
↗
2 004
585
21м 14с
90
Закрытый
7.4
Решаем проблему состояния гонки
↗
1 657
457
20м 49с
89
Закрытый
7.5
Deadlock
↗
1 476
507
43м 49с
89
8. Работа с очередями в Asyncio
4 урока
4 270
2 602
147м
217
Закрытый
8.1
Введение в очереди
↗
1 122
1 122
2м 58с
49
Закрытый
8.2
Очередь FIFO
↗
1 124
527
75м 24с
61
Закрытый
8.3
Очередь LIFO
↗
1 020
437
45м 8с
53
Закрытый
8.4
Очередь Priority
↗
1 004
516
25м 36с
54
9. Базовые примитивы синхронизации Asyncio
7 уроков
6 973
4 361
405м
284
Закрытый
9.1
Введение в примитивы
↗
1 137
1 137
1м 25с
44
Закрытый
9.2
Защита ресурса от одновременного доступа
↗
1 011
779
23м 23с
54
Закрытый
9.3
Ожидание событий для синхронизации доступа
↗
982
530
95м 2с
-10
Закрытый
9.4
Синхронизация задач
↗
980
502
165м 18с
49
Закрытый
9.5
Принцип простого семафора
↗
1 045
698
36м 9с
46
Закрытый
9.6
Принцип ограниченного семафора
↗
906
350
38м 14с
49
Закрытый
9.7
Реализация барьера для защиты одновременного доступа
↗
912
365
46м 39с
52
10. aiofiles
9 уроков
7 781
5 544
629м
438
Закрытый
10.1
Введение в асинхронное чтение файлов
↗
975
975
2м 42с
51
Закрытый
10.2
Aiofiles введение
↗
925
925
2м 21с
48
Закрытый
10.3
Основные методы и параметры аiofiles
↗
909
438
23м 51с
66
Закрытый
10.4
Методы асинхронного файлового объекта
↗
858
725
28м 14с
53
Закрытый
10.5
Контроль знаний
↗
841
318
66м 58с
49
Закрытый
10.6
Основные методы аiofiles.os
↗
799
678
34м 30с
52
Закрытый
10.7
Контроль знаний
↗
786
440
7м 36с
34
Закрытый
10.8
Асинхронная работа с CSV-файлами
↗
814
637
28м 47с
51
Закрытый
10.9
Решаем задачи
↗
874
408
439м 33с
34
11. aiohttp
9 уроков
7 133
4 293
371м
381
Закрытый
11.1
Введение в aiohttp
↗
1 106
491
36м 1с
76
Закрытый
11.2
Методы клиентской сессии, часть 1
↗
895
419
49м 20с
58
Закрытый
11.3
Методы клиентской сессии, часть 2
↗
529
371
24м 27с
21
Закрытый
11.4
Жизненный цикл HTTP-запроса
↗
799
393
22м 30с
41
Закрытый
11.5
Работа с Cookies
↗
767
576
26м 57с
48
Закрытый
11.6
Работа с прокси
↗
746
558
15м 26с
43
Закрытый
11.7
HTTP заголовки
↗
723
556
18м 44с
35
Закрытый
11.8
Основы работы с исключениями в aiohttp
↗
685
532
5м 13с
31
Закрытый
11.9
Решаем задачи
↗
883
397
175м 40с
28