1 спринт 30 часов - Параллельное программирование
Вы узнаете, что такое процессы и потоки, научитесь их создавать и завершать, познакомитесь с поведением и проблемами, которые возникают в мультипроцессорных и многопоточных программах. Ознакомитесь с GIL, понятиями голодания, гонки, взаимоблокировки, научитесь отлавливать и обходить возникающие проблемы, а главное — примените процессы и потоки при решении прикладных задач.
Проектная работа
Анализ данных от API Яндекс Погода с применением концепций параллельного программирования.
2 спринт 30 часов - От синхронного программирования к асинхронному
Вы познакомитесь с итераторами, генераторами и корутинами, разными типами задач, разницей в утилизации ресурсов и ограничениями использовании подходов. На практике научитесь создавать и использовать кастомные итераторы, генераторы и корутины.
Проектная работа
Проектирование и реализация таск-менеджера с использованием концепций сопрограмм.
3 спринт 30 часов - Работа с асинхронным кодом
Вы узнаете, что такое событийное программирование и циклы событий, познакомитесь с типами многозадачности. Научитесь использовать сокеты и применять основные классы и примитивы фреймворка asyncio для решения прикладных задач. Создадите свой первый асинхронный сервер на asyncio и http-сервер для работы с запросами.
Проектная работа
Проектирование и реализация мессенджера (клиентской и серверной части) на внутренней библиотеке asyncio.
4 спринт 30 часов - Асинхронные фреймворки
Расскажем про устройство фреймворков, обработку запросов, реализацию бизнес-логики. Вы получите практические навыки работы с асинхронными фреймворками, такими как aiohttp, FastAPI, и создадите свой сервис с использованием одного из фреймворков в рамках проектного задания.
Проектная работа
Проектирование и реализация сервиса по генерации ссылок на ресурсы и анализ произведенных по ним переходов.
5 спринт 30 часов - Работа с асинхронным приложением в production
Вы научитесь организовывать инфраструктуру с применением Docker и nginx, познакомитесь с популярными веб-серверами для FastAPI. Освоите работу с конфигами с использованием pydantic и выполните практическое задание по созданию сервиса, который работает с БД, деплоится в облако и подвергается нагрузке.
Проектная работа
Проектирование и реализация сервиса по загрузке, хранению и выдаче файлов; развертывание сервисов на удаленных серверах.