Ho Lee Fuk

Сенсей
🛡 МОДЕРАТОР 🛡
Регистрация
22 Февраль 2018
Сообщения
11.997
Автор: Stepik

Название: FastAPI для начинающих (2024)

1729015312102-png.137470


Описание:

Этот курс представляет собой подробное руководство по созданию приложений с помощью FastAPI. Вы узнаете, как создавать быстрые, эффективные и масштабируемые REST API на Python. Вы начнете с приложения Hello World и далее создадите полноценное API интернет магазина, использующее асинхронные запросы к базе данных, аутентификацию и права доступа. Внимание, данный курс не содержит ни минуты видео!

О курсе:

● Раздел 1: «Введение в API» мы познакомимся с API, архитектурой REST API. Изучим основные HTTP методы и коды ответа сервера.

● Раздел 2: «Знакомство с FastAPI» мы познакомимся с основами FastAPI и создадим свое первое API, возвращающее "Hello World". Также мы подробно изучим процесс создания конечных точек с использованием системы маршрутизации в FastAPI. И научимся валидировать параметры, получаемые из пути и тела запросов.

● Раздел 3: «Создание CRUD-приложения на FastAPI» мы спроектируем и реализуем простой CRUD проект. Познакомимся с основными методами запросов GET, POST, PUT, DELETE, научимся создавать и валидировать модели класса Pydantic. Изучим моделирование ответов, обработку ошибок и коды состояния. Обсудим, как можно использовать шаблоны Jinja для создания представлений и вывода ответов из API.

● Раздел 4: «Внедрения зависимостей» мы рассмотрим шаблон внедрения зависимостей, используемый FastAPI для управления экземплярами и структурой проекта с помощью директивы Depends() и сторонних модулей расширения.

● Раздел 5: «Интернет магазин на FastAPI» мы рассмотрим основные возможности FastAPI, научимся правильно структурировать проект. Узнаем об использовании APIRouter для организации проектов. Создадим подключение к БД через SQLAlchemy, научимся использовать Alembic для выполнения миграций. Научимся использовать сессии и напишем свои первые запросы, которые в дальнейшем мы сделаем асинхронными. Реализуем аутентификацию используя HTTP Basic Auth, OAuth2, и научимся генерировать JWT токен. Где в дальнейшем будем использовать его, для проверки прав доступа к различным конечным точкам нашего API.

● Раздел 6: «Продвинутые возможности в FastAPI» мы рассмотрим версионирование API сервисов, логгирование, кеширование ответов. Изучим, что такое тестирование и как тестировать конечные точки API.

● Раздел 7: «Docker + FastAPI» мы рассмотрим основные концепции Docker и на примере создадим свой контейнер с Python проектом. Далее мы упакуем FastAPI, PostgreSQL, NGINX в контейнеры и подготовим проект к деплою.

● Раздел 8: «Деплой проекта через Docker» мы рассмотрим деплой проекта FastAPI, вместе с базой данных PostgreSQL, веб сервером Gunicorn и Nginx на контейнерах Docker с Compose.

Чему вы научитесь:

- Работать с фреймворком FastAPI
- Писать свои API сервисы
- Валидировать данные через Pydantic
- Научитесь асинхронно работать с БД через SQLAlchemy и выполнять миграции используя Alembic
- Создавать аутентификацию на основе базовых методов и OAuth2 и JWT
- Упаковывать FastAPI в Docker Compose
- Выполнять деплой проектов на сервер

В курс входят:

52 урока / 40 тестов / 9 интерактивных задач

Содержание:

Введение в API


- Что такое API и его типы?
- Изучаем REST. Архитектура и лучшие практики
- HTTP методы и идемпотентность
- Коды состояний HTTP

Знакомство с FastAPI

- Что такое FastAPI?
- HelloWorld на FastAPI
- Знакомство с документацией API
- Маршрутизация в FastAPI
- Валидация параметров маршрутов (Path, Query)

Создание CRUD-приложения на FastAPI

- Проектирование и реализация REST API (GET, POST, PUT, DELETE)
- Модели Pydantic и их валидация
- Модели ответов и обработка ошибок
- Использование шаблонов Jinja и форм в FastAPI
- Итоги раздела

Внедрения зависимостей

- Внедрение функций и классов зависимости
- Зависимости в операциях пути и глобальные зависимости

Интернет магазин на FastAPI

- Структурирование FastAPI, APIRouter и написание моделей Pydantic
- Подключение к базе данных используя SQLAlchemy
- Введение в модели SQLAlchemy
- Отношения таблиц в SQLAchemy
- Миграции в SQLAlchemy, знакомство с Alembic
- Написание запросов к БД используя SQLAlchemy, часть 1
- Написание запросов к БД используя SQLAlchemy, часть 2
- Добавление асинхронности, переход на PostgreSQL
- Добавление асинхронности в запросах SQLAlchemy
- Реализация аутентификации используя HTTP Basic Auth
- Реализация аутентификации с помощью OAuth2 и JWT
- Управление правами доступа в FastAPI
- Итоги работы
- Экзамен

Продвинутые возможности в FastAPI

- Версионирование API
- Middleware
- Логгирование
- Механизм кэширования
- Асинхронные задачи с Celery и Redis
- Создание асинхронного WebSocket
- Тестирование приложений FastAPI, часть 1
- Тестирование приложений FastAPI, часть 2

Docker + FastAPI

- Знакомство с Docker
- Основные команды Docker
- Создание образов и запуск контейнера
- Контейнеризация Django и написание Dockerfile
- Введение в Docker Compose
- Docker Compose на примере FastAPI, PostgreSQL и Redis
- Подготовка к деплою, Gunicorn и NGINX в Docker Compose
- Настройка Docker-Compose для статических и медиа файлов
- Итоги работы

Деплой проекта через Docker

- Покупка VPS, доменного имени, привязка DNS
- Установка Docker на сервере
- Запуск Docker контейнеров на сервере
- Получение SSL-сертификата от Let's Encrypt и настройка HTTPS

Дополнительно.

Продажник:


https://stepik.org/course/180000/promo

Скачать:
Скрытое содержимое могут видеть только члены группы Премиум.


Скрытый контент для пользователей All-dar.
 

Создайте учетную запись или войдите, чтобы комментировать или скачивать материалы!

У вас должна быть учетная запись, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизоваться

У вас уже есть аккаунт? Войдите здесь.

Сверху