МОВС Прикладной Python, (2023-24 уч. год, 2-3 модули)
Материал из Wiki - Факультет компьютерных наук
Содержание
О курсе
В данном курсе изучаются основные инструменты и подходы, которые используются в backend-разработке современных сервисов на языке Python.
Курс предназначен для освоения веб-фреймворка FastAPI и всей сопутствующей экосистемы: асинхронное программирование, тестирование, SQLAlchemy, Redis, Celery, Pytest, логирование, мониторинг.
Занятия проводятся в [Zoom] по средам в 19:40
Контакты
Чат курса в TG: https://t.me/+LH8XQqZ7iTxkNWVi
Преподаватель: Горшков Сергей
Автор программы: Паточенко Евгений Анатольевич
Anytask: 1WBZLkf
Ассистенты
Ассистент | Контакты |
---|---|
Сергей Осипович | @ml_enjoyer |
Гордей Зуев | @WhiteShape |
Анна Лазарева | @annalzrv |
Илья Сокур | @ilias_ml |
Милана Алёшкина | @milashkinaa |
Материалы курса
Ссылка на плейлист курса на YouTube: [YouTube-playlist]
Презентация с интро курса: [Слайды]
Занятие | Тема | Дата | Ссылки |
---|---|---|---|
1 [Запись] | Ноутбук [Слайды] Асинхронность 1: генераторы, конструкция yield from. От генераторов к асинхронности. Обработка исключений в Python | 03.11.23 | |
2 [Запись] | [Ноутбук] [Слайды] Асинхронность 2: основы асинхронного программирования, awaitable-объекты, Event Loop, Asyncio, Aiohttp | 13.11.23 | |
3 [Запись] | [Ноутбук] [Слайды] Продвинутый ООП: магические методы, property, статические методы, методы класса. Класс как пространство имён | 23.11.23 | |
4 [Запись] | [Ноутбук] [Слайды] Продвинутый ООП: абстрактные классы, классы-декораторы. Нововведения Python 3.8+. Работа с виртуальным окружением. [Фреймворк Streamlit] [больше ссылок тут] | 24.11.23 | |
5 [Запись] | [Ноутбук] [Слайды] GIL. Процессы и потоки. Основы синхронизации. Способы ускорения вычислений применения функций к датасетам. Именованные кортежи и dataclass | 30.11.23 | |
6 [Запись] | [Слайды] Работа с сетью, протокол HTTP. Продвинутые возможности работы с SQL: индексы, ограничения, views, транзакции, принципы ACID | 08.12.23 | |
7 [Запись] | [Код] [Туториал] Telegram-боты, Aiogram, конечные автоматы | 14.12.23 | |
8 [Запись] | [Слайды] [Заметки] Тестирование в Python | 26.01.24 | |
9 [Запись] | [Слайды] [Ноутбук] Пример написания тестов. Оконные функции в SQL, запросы к базе данных из Python [Leetcode задачи на оконные функции. Кое-где они избыточны, но для практики полезно] | 02.02.24 | |
10 [Запись] | [Код] FastAPI: пример API для инференса модели машинного обучения | 07.02.24 | |
11 [Запись] | [Код] SQLAlchemy, миграции с помощью Alembic. FastAPI: аутентификация пользователей, миграции в Postgres | 14.02.24 | |
12 [Запись] | [Код] FastAPI: аутентификация пользователей (окончание), роутеры, запросы к базе данных через ORM, файловая структура, обработка ошибок. | 21.02.24 | |
13 [Запись] | [Код] FastAPI: Redis, Celery, тестирование | 28.02.24 | |
14 [Запись] | [Код] [Deploy] FastAPI: зависимости, упаковка в docker, deploy приложения | 05.03.24 |
Записи консультаций
Формула оценивания
Оценка = 0.15*ОДЗ-1 + 0.15*ОДЗ-2 + 0.3*ОПроект + 0.4*ОИтоговый проект
Домашние задания
- Разработка интерактивного дашборда с использованием фреймворка Streamlit: условие. Дедлайн 13.12.2023 1:00
- Тестирование веб-сервиса: условие Дедлайн: 21.02.2024 23:59
Проекты
- Разработка Telegram бота для презентации модели машинного обучения: условие. Дедлайн: 14.01.2024 23:59
- Итоговый. Реализация веб-сервиса с использованием фреймворка FastAPI. условие Дедлайн: 22.03.2024 23:59
Литература
- Лучано Рамальо: Python. К вершинам мастерства. 2-е издание, 2022 г., издательство ДМК Пресс
- Мэтью Фаулер: Asyncio и конкурентное программирование на Python, 2023 г., издательство ДМК Пресс
- Курс 1-2 модуля [Основы программирования на Python]
- Вики МОВС