АСИНХРОННОЕ ПРОГРАММИРОВАНИЕ
Освойте подходы асинхронного программирования на 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 занятие
Защита курсовых работ
- Представите курсовой проект коллегам
регистрация
Освойте разработку с применением асинхронных подходов и улучшайте свои проекты.