Перейти к содержимому

Курс: Разработка интернет-приложений

Целевая аудитория

Студенты, владеющие основами Python. Опыт веб-разработки не требуется.

Платформа и стек

Backend-разработка на Python + FastAPI (ASGI/uvicorn). Базы данных — SQLite + SQLAlchemy/Alembic. Дополнительно: сетевые основы, протоколы, REST, безопасность.

Цель курса

Научить проектировать и разрабатывать серверную часть веб-приложений: от сетевых основ и протокола HTTP до проектирования REST API, работы с базами данных и обеспечения безопасности.

Структура

Курс разбит на 4 раздела. Каждой лекции соответствует материал, отрабатываемый в практиках (lecture_NN, practice_NN). Лекции рассчитаны на пару ~1ч30м.


Раздел 1. Введение и сетевые основы (2 лекции, 1 лаба)

ЛекцияПрактика
1Введение в разработку интернет-приложений
2Сетевые основы и архитектура веб-приложений1. FastAPI «Книги» — первое приложение

Раздел 2. Протоколы и REST API (4 лекции, 8 лаб)

ЛекцияПрактика
3Протокол HTTP в деталях2. HTTP-запросы и первые эндпоинты
4Прикладные протоколы и форматы данных3. Pydantic-модели и валидация
5REST API: проектирование веб-сервисов4. CRUD-ресурс · 5. Коды и обработка ошибок
6REST API: продвинутые темы6. Пагинация/фильтрация · 7. Версионирование · 8. Документация и зависимости · 9. Тестирование API

Раздел 3. Базы данных (3 лекции, 3 лабы)

ЛекцияПрактика
7Основы баз данных и SQL10. SQL-запросы
8Индексы, транзакции и ACID
9ORM и миграции (SQLAlchemy, Alembic)11. ORM и CRUD · 12. Миграции Alembic

Раздел 4. Безопасность (2 лекции, 1 лаба)

ЛекцияПрактика
10Аутентификация в веб-приложениях
11Авторизация и безопасность веб-приложений13. Аутентификация и авторизация (JWT + RBAC)

Материалы курса

ФайлНазначение
lecture_01.mdlecture_11.mdКонспекты лекций
practice_01.mdpractice_13.mdПрактические работы
exam_questions.mdВопросы к экзамену (без ответов)
private_exam_answers.mdВопросы с ответами
private_exam_tasks.mdПрактические задачи с решениями
private_exam_tickets.mdЭкзаменационные билеты

Форма контроля

Экзамен: билет с двумя теоретическими вопросами и практической задачей на FastAPI (см. private_exam_tickets.md).