Главная Школы Robot Dreams Асинхронне програмування
Robot Dreams

Асинхронне програмування

12 занятий
Для опытных
Python
Этот курс про асинхронное программирование в Python. Вы научитесь работать с asyncio, FastAPI и SQLAlchemy, создавать веб-сервисы и обрабатывать данные. После курса у вас будет готовый проект для портфолио и знания для реализации асинхронных решений в работе.

О курсе

Программа курса

Основы асинхронного программирования

На этом курсе начнут с понимания разницы между асинхронным и синхронным программированием. Выяснят, когда стоит использовать асинхронный подход. Разберут такие понятия как coroutine, subroutine, thread и process.

Работа с Asyncio

Студенты ознакомятся с основными примитивами и объектами asyncio. Узнают про awaitable-объекты и способы их использования. Этот модуль даст практическое понимание инструментов асинхронного программирования в Python.

Асинхронные приложения и Event Loop

Здесь поймут, как блокирующие и неблокирующие операции влияют на сетевые приложения. Научатся писать сетевые сервисы с использованием asyncio. Разберут принцип работы Event Loop и его взаимодействие с системным функционалом.

Расширенные техники асинхронного программирования

Модуль охватывает более сложные аспекты - race conditions и их влияние на программы. Студенты изучат примитивы синхронизации для asyncio и научатся тестировать асинхронный код с помощью pytest.

Воркшоп по обработке данных

Практический модуль об использовании асинхронных подходов для CPU-bound задач. Рассмотрят MapReduce-подход для обработки данных. Ознакомятся с инструментами анализа производительности программ.

Работа с базами данных

Студенты научатся запускать PostgreSQL в докер-контейнерах. Разберут разницу между асинхронными и синхронными драйверами. Попрактикуются с asyncpg, SQLAlchemy и Alembic. Поймут преимущества асинхронного подхода для хранения данных.

Разработка HTTP-сервисов и FastAPI

Этот блок охватывает разработку веб-сервисов. Разберут отличия между WSGI и ASGI протоколами. Выяснят, когда ASGI работает быстрее. Научатся создавать web-сервисы с использованием FastAPI и SQLAlchemy, ознакомятся с функционалом FastAPI.

Микросервисная архитектура

Модуль про коммуникации между сервисами в микросервисной архитектуре. Студенты поймут, когда использовать синхронные и асинхронные коммуникации. Разберут разницу между очередями и потоками.

Финальный этап и карьера

Курс завершается Q&A сессией с лектором, где разбирают вопросы по курсовым проектам. Студенты подготовятся к техническим интервью - узнают о типичных вопросах рекрутеров. На заключном занятии презентуют свои курсовые проекты коллегам.

Особенности курса

Курс включает 12 онлайн-занятий с поддержкой ментора. После успешного завершения студенты получают сертификат. В процессе обучения разрабатывают вебсервисы, которые станут частью портфолио.

Что включено

Вечерние занятия
Выдается диплом/сертификат
Реальный проект в портфолио
Сопровождение ментора