Асинхронность в Python: от новичка до эксперта

6 участников

О чём курс

О курсе

Финальная часть серии тем по многозадачным решениям в 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
Складчина создана 15 мая 2026 г. · описание обновлено 18 октября 2026 г.

Теги курса

Инструменты

Другие материалы автора 3

АШ Александр Шибаев Все материалы
1 300 ₽ 3 500 ₽