2025/2026




Backend-разработка
Статус:
Маго-лего
Где читается:
Факультет компьютерных наук
Когда читается:
3 модуль
Охват аудитории:
для своего кампуса
Язык:
русский
Кредиты:
3
Контактные часы:
40
Программа дисциплины
Аннотация
Курс посвящён изучению основ backend-разработки, необходимых для создания и поддержки серверной части веб-сервисов и аналитических систем.
На лекциях рассматриваются ключевые концепции клиент-серверного взаимодействия, принципы работы HTTP и REST API, подходы к организации хранения данных и реализации фоновых процессов.
Практическая часть курса направлена на развитие навыков проектирования и реализации простых веб-сервисов с использованием Python-фреймворков (Flask, FastAPI), интеграции баз данных, настройки кэширования и масштабирования.
Особое внимание уделяется вопросам безопасности, отказоустойчивости и архитектурного проектирования распределённых систем. Итогом курса является разработка и развёртывание полноценного прототипа веб-сервиса.
Цель освоения дисциплины
- Сформировать у студентов представление о принципах работы серверных приложений и современных веб-сервисов, а также развить практические навыки создания, тестирования и развёртывания backend-систем с учётом требований к масштабируемости, безопасности и надёжности.
Планируемые результаты обучения
- Понимать основы веб-разработки и архитектуры сервисов: студент объясняет принципы работы клиент-серверной модели, HTTP и REST API и различает типы HTTP-запросов и применяет Python-фреймворки (Flask, FastAPI).
- Создавать и тестировать веб-сервисы: студент реализует REST API, маршрутизацию и обработку запросов, пишет и запускает базовые тесты, использует инструменты отладки (curl, Postman).
- Работать с данными и фоновой обработкой: студент проектирует простую базу данных, пишет SQL-запросы, использует Redis для кэширования и реализует фоновые задачи (Celery, cron).
- Обеспечивать безопасность и масштабируемость: студент применяет безопасные подходы хранения и передачи данных (JWT, шифрование), объясняет принципы масштабирования, балансировки нагрузки и отказоустойчивости.
- Проектировать и развёртывать прототип системы: студент интегрирует компоненты (API, БД, фоновые процессы, безопасность), развёртывает прототип в локальной или облачной среде и оценивает его производительность.
- Уметь реализовать веб-сервис, оборачивающий модель.
- Уметь совершить все необходимые действия для реализации следующих шагов: 1. Реализация API и тестов. 2. Интеграция ML-модели. 3. Работа с базой данных. 4. Фоновые задачи (воркеры, очереди, крон-задания). 5. Кэширование. 6. Мониторинг, логирование и трассировка. 7. Аутентификация входящего трафика.
Содержание учебной дисциплины
- Основы Web-разработки
- API вокруг ML-модели
- Базы данных
- Фоновые задачи и процессы ETL
- Масштабирование сервисов
- Надежность системы
- Безопасность и аутентификация
- System design
- Деплой и развертывание
- Рефлексия курса и подготовка к сдаче итоговой работы
Промежуточная аттестация
- 2025/2026 3rd module0.1 * Вовлечённость + 0.7 * Домашние задания + 0.2 * Итоговая работа
Список литературы
Рекомендуемая основная литература
- Паттерны разработки на Python : TDD, DDD и событийно-ориентированная архитектура, Персиваль, Г., 2022
- Простой Python. Современный стиль программирования, Любанович, Б., 2017
- Экстремальное программирование, пер. с англ. П. Анджан, 224 с., Бек, К., 2002
Рекомендуемая дополнительная литература
- System Design : подготовка к сложному интервью, Сюй, А., 2023
- Паттерны разработки на Python: TDD, DDD и событийно-ориентированная архитектура. - 978-5-4461-1468-9 - Персиваль Гарри, Грегори Боб - 2022 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/382391 - 382391 - iBOOKS
- Простой Python. Современный стиль программирования. 2-е изд. - 978-5-4461-1639-3 - Билл Любанович - 2021 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/373510 - 373510 - iBOOKS
- Экстремальное программирование: разработка через тестирование - 978-5-496-02570-6 - Бек Кент - 2017 - Санкт-Петербург: Питер - https://ibooks.ru/bookshelf/355246 - 355246 - iBOOKS