Курс: Разработка интернет-приложений
Целевая аудитория
Студенты, владеющие основами 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-модели и валидация |
| 5 | REST API: проектирование веб-сервисов | 4. CRUD-ресурс · 5. Коды и обработка ошибок |
| 6 | REST API: продвинутые темы | 6. Пагинация/фильтрация · 7. Версионирование · 8. Документация и зависимости · 9. Тестирование API |
Раздел 3. Базы данных (3 лекции, 3 лабы)
| № | Лекция | Практика |
|---|---|---|
| 7 | Основы баз данных и SQL | 10. SQL-запросы |
| 8 | Индексы, транзакции и ACID | — |
| 9 | ORM и миграции (SQLAlchemy, Alembic) | 11. ORM и CRUD · 12. Миграции Alembic |
Раздел 4. Безопасность (2 лекции, 1 лаба)
| № | Лекция | Практика |
|---|---|---|
| 10 | Аутентификация в веб-приложениях | — |
| 11 | Авторизация и безопасность веб-приложений | 13. Аутентификация и авторизация (JWT + RBAC) |
Материалы курса
| Файл | Назначение |
|---|---|
lecture_01.md–lecture_11.md | Конспекты лекций |
practice_01.md–practice_13.md | Практические работы |
exam_questions.md | Вопросы к экзамену (без ответов) |
private_exam_answers.md | Вопросы с ответами |
private_exam_tasks.md | Практические задачи с решениями |
private_exam_tickets.md | Экзаменационные билеты |
Форма контроля
Экзамен: билет с двумя теоретическими вопросами и практической задачей на FastAPI
(см. private_exam_tickets.md).