Чему вы научитесь
- Создавать гибкие API
- Эффективно работать с данными с помощью Pydantic
- Управлять файлами в FastAPI
- Проектировать масштабируемые приложения, применяя различные архитектурные паттерны
- Разрабатывать и интегрировать микросервисы
- Оптимизировать производительность API
- Писать тесты для FastAPI-приложений
О курсе
Курс "Продвинутый FastAPI для продолжающих" предназначен для разработчиков, которые уже знакомы с основами FastAPI и хотят углубить свои знания, освоить передовые практики и научиться строить высокопроизводительные, масштабируемые и хорошо структурированные API.
Данный курс является продолжением курса «FastAPI для начинающих», который получил Приз зрительских симпатий 2024!
Раздел 1: Продвинутые возможности FastAPI
Мы углубимся в продвинутые инструменты FastAPI. Вы изучите вложенные маршрутизаторы (APIRouter), различные подходы к версионированию API (через заголовки Accept, Path или Header), создание пользовательских классов APIRoute для расширения функциональности и использование Lifespan Events для управления жизненным циклом приложения. Также мы рассмотрим глобальную конфигурацию FastAPI и настройку классов Response для точного контроля ответов.
Раздел 2: Продвинутая работа с Pydantic
Мы подробно разберем продвинутые возможности Pydantic. Вы научитесь работать с вложенными моделями, циклическими зависимостями, расширенной валидацией и модификацией данных. Мы изучим Pydantic Generics для создания гибких моделей, а также тонкости сериализации и десериализации. Вы узнаете, как настраивать поведение Pydantic с помощью ConfigDict.
Раздел 3: Работа с файлами в FastAPI
В этом разделе мы разберем загрузку и скачивание файлов, их валидацию и обработку. Особое внимание уделим потоковой передаче данных (Streaming) для эффективной работы с большими файлами.
Раздел 4: Архитектуры в FastAPI
Мы начнем с простых монолитных структур и постепенно перейдем к более сложным архитектурным паттернам: модульной структуре, многоуровневой архитектуре (Layered Architecture), луковой архитектуре (Onion Architecture) и чистой архитектуре (Clean Architecture). Вы научитесь проектировать легко поддерживаемые и масштабируемые приложения.
Раздел 5: Микросервисы с FastAPI
Мы изучим создание нескольких FastAPI-сервисов и организацию их взаимодействия через HTTP и брокер сообщений RabbitMQ. Вы узнаете, как внедрить концепцию API Gateway для эффективного управления сервисами.
Раздел 6: Производительность и оптимизация
В этом разделе мы разберем методы оптимизации приложений FastAPI. Вы научитесь внедрять кэширование, настраивать Rate Limiting для защиты от перегрузок, а также использовать Prometheus и Grafana для мониторинга и логирования. Мы также рассмотрим трассировку запросов с OpenTelemetry для анализа производительности API.
Раздел 7: Тестирование FastAPI-приложений
Мы изучим, как использовать TestClient для тестирования API. Вы научитесь писать эффективные тесты с помощью pytest для синхронного и асинхронного кода, тестировать защищенные конечные точки и обеспечивать изоляцию тестов для надежных результатов.
Для кого этот курс
Начальные требования
Для прохождения курса необходимы знания Python, ООП, SQL и иметь базовые знания FastAPI.
Желательно прохождение курса - FastAPI для начинающих
Наши преподаватели
Как проходит обучение
Курс состоит из лекций по теории, тестов, практических заданий(задач).
Программа курса
Сертификат
Входит в 2 программы
Что вы получаете
- Глубокое понимание FastAPI
- Навыки проектирования архитектур
- Опыт работы с микросервисами
- Умение оптимизировать производительность
- Мастерство тестирования
- Конкурентное преимущество