АСИНХРОННЕ ПРОГРАМУВАННЯ
Опануйте підходи асинхронного програмування на Python для розробки швидких та ефективних програм.
Сергій Руських
13+ років досвіду в розробці
Lead Python Software Engineer у SoftServe
про курс
- Тривалість:
12 занять
- Курсовий проєкт:
НАБІР СЕРВІСІВ ДЛЯ РОБОТИ З ДАНИМИ
Опануєте модуль asyncio в Python і навчитеся створювати вебсервіси із фреймворком FastAPI та бібліотекою SQLAlchemy. За підсумками курсу створите набір сервісів для роботи з даними, який додасте в портфоліо, та зможете імплементувати асинхронні рішення у свою роботу.
до програми курсу входять
для кого
-
Developers
Щоб розібратися в асинхронному програмуванні на практиці, опанувати нові фреймворки й бібліотеки та оптимізувати продуктивність своїх високонавантажених застосунків.
-
Tech/Team Leads
Щоб застосовувати асинхронні техніки в роботі та створювати високопродуктивні й масштабовані програми, спрямовуючи команди на ефективне використання ресурсів.
-
DevOps, Architects, QA Automation Engineers
Щоб набути навичок для підвищення продуктивності в мікросервісах, зниження вимог до інфраструктури, автоматизації CI/CD-процесів та ефективного масштабування тестів.
roadmap курсу
лектор
Сергій Руських
Lead Python Software Engineer у SoftServe
13+ років досвіду в розробці
-
10+ років використовує Python для розробки вебсервісів і систем обробки та вивантаження даних. Працював у Takeoff Technologies, Ender Turing, Wargaming
-
має досвід у таких сферах, як-от E-commerce, автоматизація та роботизація складських рішень, програмне забезпечення для колцентрів, медіареклама
-
співорганізатор LvivPy (Lviv Python Community) та Ukraine Python Community
-
доповідач на конференціях PyConUA та LvivPy
Програма
-
01 заняття
Знайомство з асинхронним програмуванням
- Розберете відмінності між асинхронним і синхронним підходами в програмуванні
- Дізнаєтеся, коли можна використовувати асинхронний підхід
- Зрозумієте, що таке coroutine та subroutine, thread, process
-
02 заняття
Знайомство з asyncio
- Ознайомитеся з основними примітивами й об’єктами asyncio, розберете способи їх використання
- Дізнаєтеся, що таке awaitable-об’єкти
-
03 заняття
Асинхронні застосунки та Event Loop
- Зрозумієте, як впливають блокувальні та неблокувальні операції на роботу мережевих застосунків
- Навчитеся використовувати asyncio для написання мережевого сервісу
- Розберетеся, як Event Loop застосовує низькорівневий функціонал системи
-
04 заняття
Розширені можливості асинхронного програмування
- Зрозумієте, що таке race conditions і як це може вплинути на роботу програм
- Дізнаєтеся, які примітиви синхронізації існують для asyncio
- Навчитеся тестувати асинхронний код, використовуючи pytest
-
05 заняття
Воркшоп. Робота з CPU-bound задачами з асинхронним підходом
- Розумітимете, як асинхронні підходи можна використовувати для обробки даних
- Навчитеся застосовувати MapReduce-підхід для обробки даних
- Ознайомитеся з підходом та інструментами для аналізу продуктивності програм
-
06 заняття
Асинхронний доступ до бази даних
- Дізнаєтеся, як запустити PostgreSQL у докер-контейнери
- Розберете відмінність між асинхронним і синхронним драйвером для бази даних
- Розглянете, як підключити й робити запити з використанням asyncpg, SQLAlchemy, Alembic
- Зрозумієте переваги застосування асинхронного підходу для зберігання даних
-
07 заняття
Розробка асинхронних HTTP-сервісів
- Розберете відмінності між протоколами WSGI & ASGI
- Зрозумієте, в яких випадках ASGI буде швидшим
-
08 заняття
FastAPI та асинхронне програмування
- Дізнаєтеся, як написати web-сервіс із використанням FastAPI + SQLAlchemy
- Ознайомитеся з функціоналом і можливостями FastAPI
-
09 заняття
Асинхронні комунікації між сервісами
- Зрозумієте, які синхронні й асинхронні комунікації використовують під час побудови мікросервісної архітектури
- Дізнаєтеся, коли застосовувати той чи інший підхід
- Розумітимете відмінність між чергами й потоками
-
10 заняття
Q&A-сесія з лектором
- Розберете свої запитання щодо курсового проєкту на Live-сесії з лектором
-
11 заняття
Підготовка до технічного інтерв’ю
- Знатимете, які запитання ставлять рекрутери, та підготуєтеся до співбесіди
-
12 заняття
Захист курсових робіт
- Презентуєте курсовий проєкт колегам
реєстрація
Навчіться розробки із застосуванням асинхронних підходів та покращуйте свої проєкти.