Разработка через тестирование с помощью FastAPI и Docker
О чём курс
Разработка масштабируемого асинхронного RESTful API с нуля требует не только написания кода, но и настройки надёжной инфраструктуры для его тестирования и деплоя. Здесь вы освоите методологию TDD (Test-Driven Development) применительно к стеку FastAPI и Docker, превращая процесс создания бэкенда в контролируемую систему.
В процессе обучения вы:
- Научитесь проектировать асинхронное взаимодействие с базой данных Postgres через Tortoise ORM.
- Настроите полноценный CI/CD пайплайн с использованием GitHub Actions и GitHub Packages для автоматизации сборки и доставки Docker-контейнеров.
- Разберётесь в оптимизации тестирования: от параллельного запуска тестов через pytest-xdist до создания имитаций (mock) и оценки покрытия кода тестами.
- Освоите деплой связки FastAPI, Uvicorn, Gunicorn и Postgres на Heroku в контейнеризированном виде.
Курс предназначен для Python-разработчиков, желающих перейти от написания разрозненных скриптов к созданию профессиональных, тестируемых веб-приложений. На выходе вы получите работающий бэкенд-сервис, покрытый unit и integration тестами, готовый к эксплуатации в продакшене.
Программа обучения
- Часть 1: Основы FastAPI, TDD и Docker
- Разработка асинхронного RESTful API (Python, FastAPI)
- Практика Test-Driven Development
- Тестирование FastAPI-приложения с помощью pytest
- Асинхронное взаимодействие с базой данных Postgres
- Контейнеризация FastAPI и Postgres в Docker
- Запуск unit и integration тестов с анализом покрытия кода (coverage)
- Проверка качества кода с помощью линтеров
- Часть 2: CI/CD, деплой и продвинутое тестирование
- Конфигурация GitHub Actions для непрерывной интеграции и доставки
- Использование GitHub Packages для хранения Docker-образов
- Ускорение CI-сборок на базе Docker с помощью кэширования
- Деплой FastAPI, Uvicorn и Postgres на Heroku через Docker
- Параметризация функций тестирования и мокирование в pytest
- Параллельный запуск тестов с pytest-xdist
- Документирование RESTful API через Swagger/OpenAPI
- Запуск фоновых процессов вне основного потока request/response
Другие материалы автора 2
MH Michael Herman Все материалыОтзывов пока нет. Будьте первым!
Это не розничная цена — это ваш взнос в складчину. Мы собираем группу участников и делим между ними стоимость официального доступа: каждый платит только свою долю, а получает весь материал. Чем больше участников, тем меньше взнос. После того как сумма собрана, мы оформляем официальный доступ и раздаём материалы всем, кто участвовал.
Нажмите кнопку «Получить доступ» на этой странице и следуйте инструкциям. Вас переведёт на форму оплаты — доступны все современные способы (карта, СБП, электронные кошельки). После оплаты на почту придёт письмо с доступом: материалы выдаются в разделе «Мои складчины» на нашем основном сайте skladchik.org. Учтите: в России skladchik.org открывается только через ускоритель интернета (VPN) — настроить его можно за пару минут по инструкции на skladchik-kak-voiti.online.
Да, конечно. Все материалы — видео, PDF, дополнительные файлы — можно скачать к себе на компьютер и пользоваться ими сколько угодно, без ограничений по времени. Ссылки остаются активными в вашей библиотеке «Мои складчины».