Асинхронность в Python: от новичка до эксперта
О чём курс
О курсе
Финальная часть серии тем по многозадачным решениям в Python подробно разбирает тему асинхронная многозадачность. Программа ориентирована на понимание концепций и знакомит слушателей как с готовыми инструментами, так и с эволюцией подхода — от функций обратного вызова и генераторов до современного синтаксиса.
В процессе обучения детально исследуется внутреннее устройство стандартной библиотеки и механизмы работы операционных систем. Особое место занимает разбор исходного кода ключевых компонентов платформы, что позволяет разобраться в архитектурных решениях опытных разработчиков и комьюнити, а также научиться эффективно отлаживать сложные сценарии.
Чему вы научитесь
В ходе прохождения курса студенты осваивают следующие навыки:
- Разработка высокопроизводительного кода на Python для построения масштабируемых систем.
- Использование библиотеки asyncio: управление корутинами, задачами и футурами с опорой на актуальную документацию.
- Понимание устройства низкоуровневых механизмов, таких как цикл событий, планирование вызовов и контроль жизненного цикла сопрограмм.
- Применение модулей select и selectors для прямого взаимодействия с механизмами ввода-вывода операционных систем.
- Создание управляемых генераторов, асинхронных классов и собственных аналогов событийного цикла.
- Организация взаимодействия с базой данных PostgreSQL в асинхронном режиме с помощью библиотеки asyncpg.
- Настройка и грамотное использование пулов соединений для работы в условиях высоких нагрузок.
Что внутри
Программа объединяет теоретические основы и интенсивную практику. Теоретический блок включает подробный анализ фундаментальных механизмов ОС для обработки IO-bound задач, разбор исходного кода модуля asyncio, а также подборку дополнительных материалов из различных русскоязычных и англоязычных источников.
Практическая часть состоит из решения многочисленных задач, разбора типовых тестовых примеров и реализации собственного учебного проекта. В рамках финального задания учащиеся разрабатывают сервис агрегации рыночных данных ценных бумаг, взаимодействующий с реальными API финансовых сервисов.
Для кого
Курс рассчитан на разработчиков, которые хотят перейти от базового применения асинхронных библиотек к глубокому пониманию принципов работы многозадачности на уровне языка и операционной системы.
Программа обучения
Введение
- Приветствие!
- О курсе и особенностях тестирующей системы
Основы асинхронного программирования
- Основные определения
- Виды операций и область применения
- Переключение потока выполнения
- Генераторы и корутины ч.1
- Генераторы и корутины ч.2
- Файлы, сокеты и блокирующие операции ввода-вывода
- Операционные системы и контроль IO-bound задач, ч.1
- Операционные системы и контроль IO-bound задач, ч.2
- Асинхронное программирование на коллбэках
- Асинхронное программирование на генераторах
- Эпилог
Библиотека asyncio
- Детали пазла
- Awaitables объекты, ч.1
- Awaitables объекты, ч.2
- Runners и локальный контекст значений. Сontextvars, ч.1
- Runners и локальный контекст значений. Сontextvars, ч.2
- Задачи Tasks. Работа с коллбэками
- Задачи Tasks. gather и TaskGroup
- Нетерпеливый старт задач eager_start и uvloop
- Задачи Tasks. Исключения
- Задачи Tasks. Исключения gather и TaskGroup
- Задачи Tasks. Примитивы ожидания
- Задачи Tasks. Таймауты/таймеры
- Работа с сетевыми соединениями. Streams
- Запуск блокирующих операций с использованием потоков
- Запуск блокирующих операций с использованием пула процессов
- Запуск блокирующих операций с помощью пула интерпретаторов
- Асинхронный менеджер контекста
- Асинхронный итератор
- Асинхронные очереди
- Асинхронные примитивы синхронизации. Lock
- Асинхронные примитивы синхронизации. Event и Condition
- Асинхронные примитивы синхронизации. Semaphore и Barrier
- Асинхронная работа с субпроцессами
- Разбор тестовых задач и примеры решений
- Эпилог
Низкоуровневая работа с asyncio
- Back to the Future
- Работа с циклом событий. Планирование обратных вызовов
- Реализации событийных циклов. Очередь коллбэков
- Реализации событийных циклов. Мониторинг I/O-операций
Асинхронная работа с БД на примере PostgreSQL и asyncpg
- Введение. Архитектура СУБД
- Установка и настройка
- Подключение и работа с запросами
- Пул соединений. Connection Pool
Последний подвиг
- Учебный проект: агрегация рыночных данных III
Теги курса
Другие материалы автора 3
АШ Александр Шибаев Все материалыОтзывов пока нет. Будьте первым!
Это не розничная цена — это ваш взнос в складчину. Мы собираем группу участников и делим между ними стоимость официального доступа: каждый платит только свою долю, а получает весь материал. Чем больше участников, тем меньше взнос. После того как сумма собрана, мы оформляем официальный доступ и раздаём материалы всем, кто участвовал.
Нажмите кнопку «Получить доступ» на этой странице и следуйте инструкциям. Вас переведёт на форму оплаты — доступны все современные способы (карта, СБП, электронные кошельки). После оплаты на почту придёт письмо со ссылкой и инструкциями для доступа к материалам. Если ссылка не открывается, загляните в раздел «Помощь» или напишите в поддержку.
Да, конечно. Все материалы — видео, PDF, дополнительные файлы — можно скачать к себе на компьютер и пользоваться ими сколько угодно, без ограничений по времени. Ссылки остаются активными в вашей библиотеке «Мои складчины».