Асинхронне програмування в Python: asyncio, FastAPI та SQLAlchemy

starstarstarstarstar 0 оцінок
Огляд асинхронного програмування на Python з акцентом на asyncio, FastAPI та SQLAlchemy. Практичні підходи до конкурентності, неблокуючого I/O та роботи з даними.
Асинхронне програмування в Python: asyncio, FastAPI та SQLAlchemy
Платформа:
robot_dreams
Курси партнера:
Мова курсу:
Українська
Тривалість:
1,5 місяця
Складність:
Середня
Формат проведення:
Онлайн
Сертифікат:
Так
Ціна
Ціну уточнюйте у менеджерів
Додати до колекції
ви ще не створили колекцію
Додати колекцію
+

Аналітичний огляд курсу

Опис згенерований на основі програми курсу та відкритих даних.

Матеріали охоплюють асинхронне програмування на Python: модуль asyncio, Event Loop, неблокуюче I/O, побудову вебсервісів із FastAPI та взаємодію з БД через SQLAlchemy (async драйвери). Розглядаються синхронні та асинхронні підходи, примітиви синхронізації та питання race conditions, а також взаємодія з multiprocessing для інтенсивних задач.

Лектор: Сергій Руських — Python та асинхронні вебсервіси

Lead Python Software Engineer у SoftServe. 13+ років у розробці, 10+ років із Python для вебсервісів та обробки даних. Досвід: E-commerce, автоматизація складів, системи кол-центрів, медіареклама. Співорганізатор LvivPy та Ukraine Python Community; доповідач PyConUA, LvivPy.

Кому підходить асинхронне програмування (Python, asyncio), а кому ні

Підійде

  • Розробникам Python, що працюють із I/O-важкими задачами: HTTP, черги, БД, кеші.
  • Тим, хто створює вебсервіси на FastAPI й прагне ефективної конкурентності.
  • Фахівцям з інтеграцій та витягування даних (ETL), яким потрібна неблокуюча обробка.

Не підійде

  • Якщо задачі суто CPU-bound і розв’язуються краще через multiprocessing чи C-розширення.
  • Якщо потрібні лише базові скрипти без мережевих викликів або взаємодії з БД.

Проблема → результат (асинхронне програмування, FastAPI, SQLAlchemy)

  • Проблема: Блокування запитів у синхронних драйверах БД. Результат: Використання async SQLAlchemy/драйверів з неблокуючим I/O.
  • Проблема: Низька пропускна здатність HTTP-сервісу. Результат: FastAPI + asyncio, корутини, пули з’єднань, таймаути, ретраї.
  • Проблема: Race conditions і некоректна синхронізація. Результат: Примітиви asyncio (Lock, Semaphore, Queue), контроль доступу та ідемпотентність.
  • Проблема: Змішування CPU-bound та I/O-bound. Результат: Розділення навантажень: asyncio для I/O, multiprocessing/executor для CPU.

Порівняння з альтернативами: синхронний підхід, багатопотоковість, multiprocessing vs asyncio

  • Синхронний стек (Flask + sync драйвери): простіше стартувати, але блокує на I/O, знижує масштабованість.
  • Потоки (threading): зручні для змішаних задач, але накладні витрати, конкуренція за GIL, складна синхронізація.
  • Multiprocessing: ефективний для CPU-bound, але важчий IPC, серіалізація даних, вища вартість контекстів.
  • Asyncio + FastAPI + async SQLAlchemy: неблокуючі операції, висока конкурентність для I/O-bound; вимагає дисципліни у виборі бібліотек та дизайні.

Результати опрацювання (asyncio, Event Loop, вебсервіси, БД)

  • Розуміння Event Loop, тасків, корутин, таймаутів, відміни та обробки винятків.
  • Застосування примітивів синхронізації, уникнення race conditions, патерни ідемпотентності.
  • Проєктування REST API на FastAPI з middleware, валідацією, логуванням і тестами.
  • Інтеграція з БД через async SQLAlchemy: сесії, транзакції, пули, індекси, профілювання запитів.
  • Поєднання asyncio з multiprocessing/executors для різних класів навантажень.
  • Практичний кейс: набір сервісів для завантаження та зберігання даних CVE і повернення через API.

Опис курсу

Лектор Сергій Руських Lead Python Software Engineer у SoftServe - 13+ років досвіду в розробці - 10+ років використовує Python для розробки вебсервісів і систем обробки та вивантаження даних. Працював у Takeoff Technologies, Ender Turing, Wargaming - має досвід у таких сферах, як-от E-commerce, автоматизація та роботизація складських рішень, програмне забезпечення для колцентрів, медіареклама - співорганізатор LvivPy (Lviv Python Community) та Ukraine Python Community - доповідач на конференціях PyConUA та LvivPy

Оцінка

Тільки авторизовані користувачі можуть залишати відгуки та ставити оцінки
Увійти »

Рекомендовані курси


Мови програмування, частина Б

COURSERA

16 год

Безкоштовно

Fullstack Python Розробник

Prog Academy

10 місяців

39900 грн.

Розробник Java

GoIT

10 місяці

2520 грн/міс

Unreal Engine Developer

robot_dreams

5 місяців

Ціну уточнюйте у менеджерів
4 Відгука
Р
Руслана
02.09.2024 18:30:21
Варто пройти
О
Оксана
02.08.2024 10:15:22
Спасибо за отзыв!
D
Dmytri Lashyn
16.11.2024 08:03:12
Сложно было в начале, пока не освоил async/await. Спасибо за примеры.
О
Оксана
17.07.2024 08:17:44
Спасибо за вашу искренность.
A
Artem
10.07.2024 11:50:12
Реально розширює горизонти.
А
Анатолій
08.06.2024 14:41:39
Асинхронне програмування важлива тема для оптимізації додатків. Практикуйтеся на реальних проектах.
© 2022-2026 Improveme.Tech
За підтримки веб-студії "Сайт Зроблений В Одесі"
×
×