Backend Developer Python

Уроки с примерами кода; тему можно сразу закрепить вопросами в тренажёре.

Материалы открываются после регистрации на Free.

Уроки по модулям

  1. Язык Python

    9 уроков

    Семантика языка Python и её следствия для кода: всё — объект и работа со ссылками, изменяемость, имена и замыкания, модель данных и dunder-методы, равенство и хеширование, ленивые итераторы и генераторы, декораторы, менеджеры контекста, модель исключений и dataclass. Не синтаксис, а модель поведения кода.

    1. Объекты, ссылки и изменяемость
    2. Имена, области видимости и замыкания
    3. Модель данных и dunder-методы
    4. Равенство и хеширование
    5. Итераторы и генераторы
    6. Декораторы
    7. Менеджеры контекста и with
    8. Исключения: модель, иерархия и EAFP
    9. dataclass: генерация методов и ловушки
  2. Среда выполнения CPython

    4 урока

    Как устроен CPython: подсчёт ссылок и сборка мусора, модель памяти, компиляция в байткод и его исполнение, глобальная блокировка интерпретатора как свойство сборки. Что стоит за поведением кода под нагрузкой.

    1. Байткод и интерпретатор
    2. Подсчёт ссылок и сборка мусора
    3. Модель памяти и аллокации
    4. GIL и свободнопоточная сборка
  3. Асинхронность и конкурентность

    8 уроков

    Конкурентность в Python: цикл событий asyncio, корутины и задачи, отличие ввода-вывода от вычислений, выбор между потоками и процессами. Почему блокирующий вызов останавливает цикл событий.

    1. Конкурентность и параллелизм
    2. Блокировка и цикл событий
    3. Корутины и await
    4. Задачи и одновременность
    5. Отмена и таймауты
    6. Потоки для ввода-вывода и блокирующего кода
    7. Процессы для вычислений
    8. Синхронизация общего состояния
  4. Типизация

    5 уроков

    Аннотации типов и постепенная типизация: как типы делают контракты кода явными, статическая проверка и её место в веб-фреймворках. Типы как инструмент, а не декорация.

    1. Аннотации ничего не проверяют
    2. Постепенная типизация и статическая проверка
    3. Словарь аннотаций
    4. Дженерики и протоколы
    5. Типы в рантайме: валидация
  5. FastAPI

    8 уроков

    FastAPI: асинхронный веб-фреймворк на аннотациях типов поверх ASGI. Маршрутизация, внедрение зависимостей, валидация и сериализация через модели, автогенерация схемы OpenAPI.

    1. ASGI и асинхронный веб
    2. Маршрутизация и параметры
    3. Модели запроса и валидация
    4. Модели ответа и сериализация
    5. Внедрение зависимостей
    6. async и блокировка в FastAPI
    7. Обработка ошибок
    8. Генерация схемы OpenAPI
  6. Django

    9 уроков

    Django: полнофункциональный веб-фреймворк со встроенными ORM, миграциями, админкой и формами. Готовая структура приложения для сервисов с богатой доменной моделью.

    1. Цикл запрос–ответ в Django
    2. Проект, приложения и настройки
    3. Модели и ORM
    4. Миграции
    5. Представления и маршрутизация
    6. Формы и валидация
    7. Аутентификация, сессии и middleware
    8. Django REST framework
    9. async в Django
  7. Flask

    6 уроков

    Flask: минималистичный веб-фреймворк, дающий маршрутизацию и запрос-ответ, а остальное — из расширений. Осознанный контроль над зависимостями для небольших сервисов.

    1. Философия микрофреймворка и маршрутизация
    2. Запрос и ответ
    3. Контексты приложения и запроса
    4. Blueprints
    5. Расширения и экосистема
    6. Фабрика приложения и конфигурация
  8. Проектирование API

    6 уроков

    Проектирование HTTP-API: методы и коды состояния, идемпотентность, версионирование и пагинация, единый формат ошибок и валидация входных данных. Контракт как обещание сервиса клиентам.

    1. Ресурсы и методы
    2. Коды состояния и формат ошибок
    3. Идемпотентность и ретраи
    4. Версионирование и эволюция контракта
    5. Пагинация, фильтрация, сортировка
    6. Контракты, валидация и OpenAPI
  9. ORM и миграции

    10 уроков

    Работа с данными через ORM в Python: сессии и транзакции, ленивая и жадная загрузка, миграции схемы. Какой SQL порождает запрос ORM и как не поймать проблему N+1.

    1. Что такое ORM
    2. Движок, соединения и Core
    3. Декларативные модели и отображение
    4. Сессия: Unit of Work и Identity Map
    5. Транзакции и область сессии
    6. Запросы и порождаемый SQL
    7. Отношения и стратегии загрузки
    8. Проблема N+1
    9. Миграции с Alembic
    10. Асинхронный ORM
  10. Тестирование

    6 уроков

    Тестирование Python-сервиса: юнит-, интеграционные и end-to-end тесты, фикстуры и изоляция зависимостей, проверка HTTP-эндпоинтов. Тесты фиксируют поведение и защищают от регрессий.

    1. Зачем тестировать и пирамида тестов
    2. Основы pytest
    3. Фикстуры и изоляция
    4. Тест-дублёры и моки
    5. Тестирование HTTP и базы данных
    6. Тестирование асинхронного кода
  11. Упаковка и окружение

    6 уроков

    Упаковка и окружение Python-проекта: виртуальные окружения, управление зависимостями и файл проекта. Воспроизводимое окружение делает сборку и деплой предсказуемыми.

    1. Зачем упаковка и окружения
    2. Виртуальные окружения
    3. Зависимости и pyproject.toml
    4. Фиксация версий и воспроизводимость
    5. Современный инструментарий: uv
    6. Сборка и публикация
  12. Наблюдаемость

    5 уроков

    Наблюдаемость Python-сервиса: логи, метрики и трассировки как три канала, структурное логирование и health-проверки. Без них поведение сервиса под нагрузкой остаётся непрозрачным.

    1. Зачем наблюдаемость и три канала
    2. Структурное логирование
    3. Метрики
    4. Трассировка и корреляция
    5. OpenTelemetry и health-проверки
  13. Очереди задач

    5 уроков

    Фоновые задачи и очереди: вынос долгой работы из обработчика запроса через брокер сообщений, повторные попытки и идемпотентность. Очередь развязывает сервисы во времени и сглаживает нагрузку.

    1. Зачем фоновые задачи и очереди
    2. Брокеры и воркеры
    3. Задачи Celery и маршрутизация
    4. Повторы и идемпотентность
    5. Периодические задачи и обработка сбоев
  14. Контейнеры и CI/CD

    5 уроков

    Контейнеры и CI/CD для Python-сервиса: упаковка в образ, переменные окружения, конвейер сборки и деплоя. Воспроизводимая сборка делает деплой предсказуемым.

    1. Зачем контейнеры
    2. Dockerfile для Python-сервиса
    3. Оптимизация образа и многоступенчатая сборка
    4. Конфигурация и окружение
    5. Конвейер CI/CD

О курсе

Глубокое понимание Python и его среды выполнения для backend-разработки. Курс разбирает не синтаксис, а семантику языка и поведение CPython: объектную модель и работу со ссылками, модель данных и протоколы, конкурентность на asyncio и следствия глобальной блокировки интерпретатора, прикладной веб-слой (FastAPI, Django, Flask), работу с данными через ORM и продакшн-инженерию. Цель — научиться видеть стоимость абстракций и поведение кода под нагрузкой, а не просто заставлять его работать.

Дальше по теме

Пройдите курс и проверьте темы вслух