Содержание пакета (4 курса)
1. Асинхронность в Python: от новичка до эксперта 5.00
Введение
2 урока
1.
Приветствие!
↗
2.
О курсе и особенностях тестирующей системы
↗
Основы асинхронного программирования
11 уроков
1.
Основные определения
↗
2.
Виды операций и область применения
↗
3.
Переключение потока выполнения
↗
4.
Генераторы и корутины ч.1
↗
5.
Генераторы и корутины ч.2
↗
6.
Файлы, сокеты и блокирующие операции ввода-вывода
↗
7.
Операционные системы и контроль IO-bound задач, ч.1
↗
8.
Операционные системы и контроль IO-bound задач, ч.2
↗
9.
Асинхронное программирование на коллбэках
↗
10.
Асинхронное программирование на генераторах
↗
11.
Эпилог
↗
Библиотека asyncio
25 уроков
1.
Детали пазла
↗
2.
Awaitables объекты, ч.1
↗
3.
Awaitables объекты, ч.2
↗
4.
Runners и локальный контекст значений. Сontextvars, ч.1
↗
5.
Runners и локальный контекст значений. Сontextvars, ч.2
↗
6.
Задачи Tasks. Работа с коллбэками
↗
7.
Задачи Tasks. gather и TaskGroup
↗
8.
Нетерпеливый старт задач eager_start и uvloop
↗
9.
Задачи Tasks. Исключения
↗
10.
Задачи Tasks. Исключения gather и TaskGroup
↗
11.
Задачи Tasks. Примитивы ожидания
↗
12.
Задачи Tasks. Таймауты/таймеры
↗
13.
Работа с сетевыми соединениями. Streams
↗
14.
Запуск блокирующих операций с использованием потоков
↗
15.
Запуск блокирующих операций с использованием пула процессов
↗
16.
Запуск блокирующих операций с помощью пула интерпретаторов
↗
17.
Асинхронный менеджер контекста
↗
18.
Асинхронный итератор
↗
19.
Асинхронные очереди
↗
20.
Асинхронные примитивы синхронизации. Lock
↗
21.
Асинхронные примитивы синхронизации. Event и Condition
↗
22.
Асинхронные примитивы синхронизации. Semaphore и Barrier
↗
23.
Асинхронная работа с субпроцессами
↗
24.
Разбор тестовых задач и примеры решений
↗
25.
Эпилог
↗
Низкоуровневая работа с asyncio
4 урока
1.
Back to the Future
↗
2.
Работа с циклом событий. Планирование обратных вызовов
↗
3.
Реализации событийных циклов. Очередь коллбэков
↗
4.
Реализации событийных циклов. Мониторинг I/O-операций
↗
Асинхронная работа с БД на примере PostgreSQL и asyncpg
4 урока
1.
Введение. Архитектура СУБД
↗
2.
Установка и настройка
↗
3.
Подключение и работа с запросами
↗
4.
Пул соединений. Connection Pool
↗
Последний подвиг
2 урока
1.
Учебный проект: агрегация рыночных данных III
↗
2.
Заключение
↗
2. Логирование в Python: от новичка до эксперта в logging 5.00
Пролог
3 урока
1.
О курсе
↗
2.
Логирование. Что это и зачем?
↗
3.
Стандартные потоки ввода-вывода stdin, stdout, stderr
↗
Пакет logging. Базовое применение
13 уроков
1.
Архитектура logging
↗
2.
Базовые настройки. Функция basicConfig
↗
3.
Атрибуты LogRecord
↗
4.
Форматы и стили. printf-style
↗
5.
Форматы и стили. str.format и string.Template
↗
6.
Форматирование даты/времени
↗
7.
Передача контекста. Аргументы в функциях логирования
↗
8.
Handlers. Передаем логи в несколько источников
↗
9.
Formatters. Создаем обработчики с различными форматами
↗
10.
Filter. Фильтруем и модифицируем записи
↗
11.
Жизненный цикл записи LogRecord
↗
12.
Микрооптимизация логирования
↗
13.
Учебный проект: логируем работу скрипта по скачиванию файлов
↗
Пакет logging. Средний уровень
10 уроков
1.
Иерархия и наследование. Уровень NOTSET
↗
2.
Работа с именованными логгерами
↗
3.
Что именно логировать, где и когда?
↗
4.
Контроль размера логов. Ротация файлов по размеру
↗
5.
Контроль времени жизни логов. Ротация файлов по времени
↗
6.
Ротация с сжатием (архивирование логов)
↗
7.
Кастомные форматтеры. JSONFormatter
↗
8.
Пользовательские уровни логирования. TRACE, NOTICE, ALARM
↗
9.
Запись в БД с помощью кастомных обработчиков. SQLiteHandler
↗
10.
Конфигурационные файлы логирования YAML и JSON
↗
Пакет logging. Продвинутый уровень
6 уроков
1.
Проблемы блокирующих I/O операций логирования
↗
2.
Использование буферизации в логировании
↗
3.
Производитель - потребитель. QueueHandler и QueueListener
↗
4.
Многопоточное, многопроцессное и асинхронное логирование
↗
5.
Использование контекстных значений
↗
6.
Заключение
↗
3. Многопоточность в Python: от новичка до эксперта 5.00
Основные понятия
3 урока
1.
Введение
↗
2.
Основные определения
↗
3.
Реализация и ограничения в Python
↗
Многопоточность. Модуль threading
24 урока
1.
Библиотека threading. Поток. Создание потоков. ч.1
↗
2.
Библиотека threading. Поток. Создание потоков. ч.2
↗
3.
Перехват исключений, трассировка, профилирование
↗
4.
Поток-таймер
↗
5.
Переопределение потока
↗
6.
Взаимодействие потоков. Очередь queue. ч.1
↗
7.
Взаимодействие потоков. Очередь queue. ч.2
↗
8.
Локальное хранилище
↗
9.
Синхронизация потоков. Базовый примитив
↗
10.
Синхронизация потоков. Классификация
↗
11.
Синхронизация потоков. Семафор и Барьер
↗
12.
Синхронизация потоков. Событие
↗
13.
Синхронизация потоков. Условная переменная
↗
14.
Пул потоков. ч.1
↗
15.
Пул потоков. ч.2
↗
16.
Пул потоков. ч.3
↗
17.
Пул интерпретаторов. Многопоточные параллельные вычисления
↗
18.
Создание и использование субинтерпретаторов.
↗
19.
Отключение GIL. free-threaded build интерпретаторы
↗
20.
Ускоряем многопоточные расчеты, используя NumPy, Numba и Cython
↗
21.
Учебный проект: агрегация рыночных данных
↗
22.
Разбор тестовых задач и примеры решений
↗
23.
Заключение
↗
24.
Post game
↗
Отладка многопоточных программ
3 урока
1.
Работа с исключениями
↗
2.
Traceback исключений
↗
3.
Трассировка и профилирование
↗
Пул потоков. Модуль concurrent.futures
3 урока
1.
Пул потоков. ч.1
↗
2.
Пул потоков. ч.2
↗
3.
Пул потоков. ч.3
↗
Финал
3 урока
1.
Разбор тестовых задач и примеры решений
↗
2.
Заключение
↗
3.
Post game
↗
Многопоточные параллельные вычисления
4 урока
1.
Пул интерпретаторов. Многопоточные параллельные вычисления
↗
2.
Создание и использование субинтерпретаторов.
↗
3.
Отключение GIL. free-threaded build интерпретаторы
↗
4.
Ускоряем многопоточные расчеты, используя NumPy, Numba и Cython
↗
4. Многопроцессность в Python: от новичка до эксперта 4.86
Основные понятия
2 урока
1.
Введение
↗
2.
Основные определения
↗
Многопроцессность. Модуль multiprocessing
15 уроков
1.
Библиотека multiprocessing. Процесс. ч.1
↗
2.
Библиотека multiprocessing. Процесс. ч.2
↗
3.
Переопределение процесса
↗
4.
Взаимодействие процессов. Разделяемая память.
↗
5.
Взаимодействие процессов. Менеджеры.
↗
6.
Взаимодействие процессов. Очереди.
↗
7.
Взаимодействие процессов. Каналы.
↗
8.
Объекты синхронизации процессов
↗
9.
Пул процессов ч.1
↗
10.
Пул процессов ч.2
↗
11.
Логирование. Рекомендации при использовании multiprocessing
↗
12.
Учебный проект: агрегация рыночных данных II
↗
13.
Разбор тестовых задач и примеры решений.
↗
14.
Заключение
↗
15.
Post game
↗