Чему вы научитесь
- Проектировать FastAPI-приложение слоями, в которых правила домена не зависят от HTTP и SQL
- Описывать входные и выходные данные схемами Pydantic и держать контракт API стабильным
- Работать с PostgreSQL через SQLAlchemy 2.0 в асинхронном режиме и читать планы запросов
- Писать миграции Alembic, совместимые с работающей предыдущей версией кода
- Реализовывать аутентификацию и права: хеширование паролей, ротацию refresh-токенов, доступ на уровне объекта
- Применять Redis для кеша, ограничения частоты и одноразовых состояний
- Выносить долгую работу в очередь и делать задания идемпотентными
- Покрывать сервис тестами от правил домена до контрактных и архитектурных проверок
- Находить причину медленных ответов: пул соединений, N+1, блокирующий код в событийном цикле
- Настраивать логи, метрики и проверки готовности так, чтобы об отказе узнавать до жалобы
- Собирать образ, конвейер и выкат с откатом, резервными копиями и проверкой после релиза
О курсе
Для кого этот курс
Начальные требования
- Python на уровне уверенного владения синтаксисом: функции, классы, исключения, модули
- Базовое понимание HTTP: методы, коды ответов, заголовки
- Умение работать в терминале и с git
- Знакомство с SQL на уровне
SELECTс условием и соединением таблиц — остальное разбирается в курсе
Понадобится компьютер с установленным Docker: контейнеры используются для PostgreSQL, Redis и тестов. Асинхронное программирование, SQLAlchemy, Alembic, Redis, очереди и Docker в курсе разбираются с нуля.
Преподаватели курса
Формат курса
Уроки текстовые, с полными листингами кода и комментариями по месту принятия решения. Внутри каждого урока есть практика — задание на свой экземпляр проекта, и вопросы для самопроверки. Главы завершаются тестовыми задачами с одним правильным ответом; после неверного ответа показывается объяснение.
Дедлайнов нет, темп выбирает сам студент. Для практики нужны Python и Docker; всё остальное ставится по ходу курса командами из уроков.
Что вы получите
- Сквозной проект Tempo: рабочий сервис со всеми слоями, миграциями, тестами и конфигурацией контура
- Полные листинги из уроков, пригодные для копирования в свой проект
- Набор тестов всех уровней: правила домена, база, HTTP, безопасность, контракт, границы слоёв
- Готовые скрипты эксплуатации: выкат, откат, резервная копия, проверка восстановления, дымовые тесты
- Инструкции дежурного на каждый настроенный алерт
- Итоговую работу с критериями приёмки и разбором типичных ошибок