Содержание курса
От монолитов к микросервисам
21 урок
1.
Введение
↗
2.
Знакомство с преподавателем
↗
3.
Первые интернет-сайты
↗
4.
Первые динамические сайты
↗
5.
Современные статические сайты
↗
6.
Переход к FastCGI
↗
7.
Развитие интернета в 2000-х
↗
8.
CDN
↗
9.
Развитие интернета в 2000-х, часть 2
↗
10.
Появление WSGI
↗
11.
AJAX и первые API
↗
12.
Архитектура монолита
↗
13.
Появление докера
↗
14.
Плюсы и минусы монолита
↗
15.
Разделение монолита
↗
16.
Микросервисная архитектура
↗
17.
Сервис данных
↗
18.
Event Notification Pattern
↗
19.
Сервис отправки сообщений
↗
20.
Минимальный набор технологий
↗
21.
Заключение
↗
Создание базового проекта
25 уроков
1.
Введение в курс
↗
2.
Создание проекта
↗
3.
Настройка PyCharm
↗
4.
Формирование структуры проекты
↗
5.
Эндпоинты для домов
↗
6.
Настройки роутинга
↗
7.
Базовая логика в эндпоинтах
↗
8.
Грамотный возврат 404
↗
9.
Pydantic схемы
↗
10.
Погружение в Pydantic схемы
↗
11.
Простейший фильтр
↗
12.
Фильтры по цене
↗
13.
Сортировка данных
↗
14.
Улучшение фильтров
↗
15.
Проверка active для дома
↗
16.
Запуск PostgreSQL в Docker
↗
17.
Подключение к PostgreSQL из pgAdmin
↗
18.
Настройки проекта
↗
19.
Установка psycopg
↗
20.
Первые зависимости
↗
21.
Подключение к базе данных
↗
22.
Создание первой модели
↗
23.
Получение данных из базы
↗
24.
Базовые запросы к базе
↗
25.
Фильтры и сортировка данных
↗
Домашнее задание 1
2 урока
1.
Домашнее задание 1 - 1
↗
2.
Домашнее задание 1 - 2
↗
Асинхронность, кэширование, архитектура
16 уроков
1.
Полностью асинхронный проект
↗
2.
Слеш в конце эндпоинта
↗
3.
Подключение и настройка Alembic
↗
4.
Первая миграция
↗
5.
Расширение модели и схемы дома
↗
6.
Конфигурация Redis
↗
7.
Запуск Redis в Docker Desktop
↗
8.
Подключение к Redis
↗
9.
Слоистая архитектура
↗
10.
Оформление фильтров в виде зависимости
↗
11.
Рефакторинг зависимостей
↗
12.
Доступ к кэшу через зависимости
↗
13.
Создание общего репозитория
↗
14.
Репозиторий домов
↗
15.
Сервис кэширования
↗
16.
Создание сервиса домов
↗
Домашнее задание 2
2 урока
1.
Домашнее задание 2 - 1
↗
2.
Домашнее задание 2-2
↗
HTTP методы, Celery, RabbitMQ
18 уроков
1.
Введение
↗
2.
Удаление дома
↗
3.
Добавление домов - заглушка
↗
4.
Добавление домов - репозиторий и сервис
↗
5.
Добавление домов - собираем эндпоинт
↗
6.
Изменение дома - создание заглушки
↗
7.
Изменение дома - репозиторий и сервис
↗
8.
Изменение дома - собираем эндпоинт
↗
9.
Схема нового микросервиса
↗
10.
Разбор кода сервиса
↗
11.
Настройка celery
↗
12.
Создание и постановка задания в очередь
↗
13.
Обработка задачи из очереди
↗
14.
Рефакторинг сервиса
↗
15.
Повторное выполнение заданий
↗
16.
Асинхронная отправка E-mail
↗
17.
Подключение mailpit
↗
18.
Установка и подключение RabbitMQ
↗
Домашнее задание 3
8 уроков
1.
Улучшаем схему
↗
2.
Добавляем валидаторы
↗
3.
Логика проверки в эндпоинтах
↗
4.
Новые параметры для E-mail
↗
5.
Отправка нескольких сообщений
↗
6.
Улучшаем асинхронность
↗
7.
Массовая отправка
↗
8.
Зависимость от aiosmtplib
↗
Файлы, пагинация и связь сервисов
23 урока
1.
Введение в раздел
↗
2.
Новое поле в базе данных
↗
3.
Эндпоинт для загрузки файлов
↗
4.
Загрузка файла на сервер
↗
5.
Привязка preview к дому
↗
6.
Возврат media файлов
↗
7.
Вычисляемые поля
↗
8.
Асинхронная загрузка файлов
↗
9.
Загрузка файлов в S3 хранилище
↗
10.
Несколько слов об S3 и CDN
↗
11.
Обзор сервиса заказов
↗
12.
Подключение к сервису домов
↗
13.
Провека существования дома
↗
14.
Отправка E-mail через сервис сообщений
↗
15.
Базовая проверка ключей
↗
16.
Защита сервиса отправки сообщений
↗
17.
Отправка сообщений с ключом
↗
18.
Зависимость от пагинации
↗
19.
Схема пагинации
↗
20.
Подсчет количества объектов
↗
21.
Общее количество страниц
↗
22.
Финальный код пагинации
↗
23.
Мощь Generic
↗
Домашнее задание 4
5 уроков
1.
Рефакторинг
↗
2.
Добавляем настройки
↗
3.
Создание уменьшенной копии
↗
4.
Сохранение тубочек в S3
↗
5.
Финальные настройки
↗
JWT авторизация и Docker
6 уроков
1.
Сервис JWT авторизации
↗
2.
Обращение к сервису авторизации
↗
3.
JWT авторизация в endpoint
↗
4.
Сборка Docker Compose
↗
5.
Запуск nginx перед сервисами
↗
6.
CORS ошибка
↗
Завершение
1 урок
1.
Окончание курса
↗