МОВС Прикладной Python, (2023-24 уч. год, 2-3 модули)
Материал из Wiki - Факультет компьютерных наук
Версия от 22:25, 18 декабря 2023; Saprokhorov 1 (обсуждение | вклад)
Содержание
О курсе
В данном курсе изучаются основные инструменты и подходы, которые используются в 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 Запись | Ноутбук Тестирование 1: assert'ы, параметризация, фикстуры | ||
9 Запись | Ноутбук Тестирование 2: Selenium, моки, стабы | ||
10 Запись | Ноутбук SQL: PostgreSQL, запросы к БД из-под Python, оконные функции | ||
11 Запись | Ноутбук SQLAlchemy | ||
12 Запись | Ноутбук FastAPI 1: API, Pydantic, архитектура веб-приложения | ||
13 Запись | Ноутбук FastAPI 2: Redis, Celery, логирование, мониторинг | ||
14 Запись | Ноутбук Собираем всё вместе: PostgreSQL + SQLAlchemy + Streamlit + FastAPI + Celery + Redis + Docker + VPS |
Записи консультаций
Формула оценивания
Оценка = 0.15*ОДЗ-1 + 0.15*ОДЗ-2 + 0.3*ОПроект + 0.4*ОИтоговый проект
Домашние задания
- Разработка интерактивного дашборда с использованием фреймворка Streamlit: условие. Дедлайн 13.12.2023 1:00
- Тестирование веб-сервиса
Проекты
- Разработка Telegram бота для презентации модели машинного обучения
- Итоговый. Реализация веб-сервиса с использованием фреймворка FastAPI
Литература
- Лучано Рамальо: Python. К вершинам мастерства. 2-е издание, 2022 г., издательство ДМК Пресс
- Мэтью Фаулер: Asyncio и конкурентное программирование на Python, 2023 г., издательство ДМК Пресс
Курс 1-2 модуля [Основы программирования на Python]