Веб-разработка

FastAPI для начинающих

Данный курс предлагает всестороннее руководство по разработке приложений с использованием FastAPI. Вы познакомитесь с процессом создания быстрых, эффективных и масштабируемых REST API на языке Python. Стартуя с простейшего приложения "Hello World", вы постепенно перейдете к созданию полноценного API для интернет-магазина, который будет включать в себя асинхронные запросы к базе данных, а также механизмы аутентификации и управления доступом. Также мы научимся логгировать наши приложения, создавать асинхронные фоновые задачи с помощью Celery и Redis, и подключим WebSocket. И в самом конце выполним деплой проекта с помощью Docker на сервер.

  • Рейтинг 0 (0)
  • 72 ученика
  • Для начинающих
FastAPI для начинающих

Курс по FastAPI предназначен для разработчиков, желающих быстро и эффективно создавать API для веб-приложения. FastAPI - это современный веб-фреймворк на Python, который позволяет разрабатывать высокопроизводительные приложения с минимальными затратами времени. В рамках нашего курса вы изучите основы FastAPI, проектирование RESTful API, а также работу с базами данных через SQLAlchemy.

 Данный курс также размещен на площадке Stepik.org, где его прошли более 200 человек,  посмотреть отзывы вы можете по этой ссылке.

Курс включает в себя теоретические занятия и практические задания, что поможет вам освоить лучшие практики разработки. Мы рассмотрим генерирование документации API, аутентификацию и авторизацию, а также тестирование приложений. Знания, полученные на курсе, позволят вам создавать масштабируемые сервисы и интегрировать их с популярными библиотеками и фреймворками.


Модуль 1: «Введение в API» мы рассмотрим различные типы API, их ключевые характеристики, и как они могут быть использованы для оптимизации бизнес-процессов и разработки новых технологий. Изучим основные HTTP методы и коды ответа сервера.

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

Модуль 3: «Создание CRUD-приложения на FastAPI» разработаем и осуществим проект с базовыми CRUD операциями, изучим ключевые методы запросов: GET, POST, PUT, DELETE, а также освоим процесс создания и валидации моделей с использованием Pydantic. Мы также узнаем, как создавать Pydantic модели для наших запросов и добавлять параметры пути и запроса к нашим операциям пути. В результате мы создадим приложение с CRUD операциями, чтобы применить на практике все, что мы узнали до этой части курса. Мы познакомимся с ответами, моделированием ответов и обработкой ошибок в FastAPI, о кодах состояния и о том, как их использовать в объектах ответа, а также о правильной обработке ошибок. Мы изучим моделирование ответов, обработку ошибок и коды состояния, а также обсудим использование шаблонов Jinja для формирования представлений и вывода ответов из API.

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

Модуль 5: «Интернет магазин на FastAPI»  посвящен основным возможностям FastAPI, структуре проектов, использованию APIRouter и SQLAlchemy для подключения к БД. Мы освоим Alembic для миграций, а также аутентификацию с использованием HTTP Basic Auth и OAuth2. В этом модуле мы узнаем, как структурировать приложение FastAPI и реализовать маршруты и модели для приложения интернет магазина. Мы будем использовать основы маршрутизации и знания о маршрутизации и моделировании, полученные в предыдущих модулях курса. Также мы изучим, как добавлять базы данных SQLite и PostgreSQL с помощью SQLAlchemy и Alembic соответственно. Мы познакомимся с защитой приложения, изучив основы аутентификации, а также различные методы аутентификации, доступным разработчикам FastAPI. Затем мы внедрим систему аутентификации, основанную на JSON веб-токенах (JWT), и защитим маршруты для создания, обновления и удаления событий.

Модуль 6: «Продвинутые возможности в FastAPI» Мы изучим версионирование API, механизмы логирования и использование промежуточного ПО, а также применим Celery и Redis для организации асинхронных фоновых задач. В конечном итоге мы создадим веб-чат, используя FastAPI и WebSocket.

Модуль 7: «Docker + FastAPI» мы рассмотрим основы Docker и его использование. Мы научимся создавать образы, запускать контейнеры. Также мы создадим простое Python-приложение, обернем его в образ и запустим контейнер. Узнаем что такое Docker Compose и сможем упаковать туда наш FastAPI проект с использованием PostgreSQL. И в итоге мы подготовим наш проект к деплою, добавив Gunicorn> и NGINX.

Модуль 8: «Деплой проекта через Docker» мы подробно рассмотрим, как осуществить развертывание FastAPI приложения, которое будет включать в себя базу данных PostgreSQL и веб-сервер Gunicorn, применяя при этом Docker Compose.


Присоединяйтесь к нашему курсу по FastAPI и станьте экспертом в разработке высоконагруженных приложений! Улучшите свои навыки программирования Python и изучите, как создавать эффективные и быстрые веб-сервисы. Запишитесь прямо сейчас, и начните свой путь к успешной карьере разработчика!

Программа курса
1.1 - Что такое API и его типы

1.2 - Изучаем REST. Архитектура и лучшие практики

1.3 - HTTP методы и идемпотентность

1.4 - Коды состояний HTTP

2.1 - Что такое FastAPI?

2.2 - HelloWorld на FastAPI

2.3 - Знакомство с документацией API

2.4 - Маршрутизация в FastAPI

2.5 - Валидация параметров маршрутов Path/Query

3.1 - Проектирование и реализация REST API (GET, POST, PUT, DELETE)

3.2 - Модели Pydantic и их валидация

3.3 - Модели ответов и обработка ошибок

3.4 - Использование шаблонов Jinja и форм в FastAPI

4.1 - Внедрение функций и классов зависимости

4.2 - Зависимости в операциях пути и глобальные зависимости

5.1 - Структурирование FastAPI APIRouter и написание моделей Pydantic

5.2 - Подключение к базе данных используя SQLAlchemy

5.3 - Введение в модели SQLAlchemy

5.4 - Отношения таблиц в SQLAchemy

5.5 - Миграции в SQLAlchemy знакомство с Alembic

5.6 - Написание запросов к БД используя SQLAlchemy часть 1

5.7 - Написание запросов к БД используя SQLAlchemy часть 2

5.8 - Добавление асинхронности переход на PostgreSQL

5.9 - Добавление асинхронности в запросах SQLAlchemy

5.10 - Реализация аутентификации используя HTTP Basic Auth

5.11 - Реализация аутентификации с помощью OAuth2 и JWT

5.12 - Управление правами доступа в FastAPI

5.13 - Экзамен

6.1 - Версионирование API

6.2 - Middleware, CORS, Session, Custom

6.3 - Логирование приложений

6.4 - Создание фоновых задач

6.5 - Асинхронные задачи с Celery и Redis

6.6 - Создание асинхронного WebSocket

7.1 - Знакомство с Docker

7.2 - Основные команды Docker

7.3 - Создание образов и запуск контейнера

7.4 - Контейнеризация FastAPI и написание Dockerfile

7.5 - Введение в Docker Compose

7.6 - Docker Compose на примере FastAPI и PostgreSQL

7.7 - Подготовка к деплою, Gunicorn и NGINX в Docker Compose

8.1 - Покупка VPS, доменного имени, привязка DNS

8.2 - Установка Docker на сервере

8.3 - Запуск Docker контейнеров на сервере

8.4 - Получение SSL-сертификата от Lets Encrypt и настройка HTTPS

Отзывы прошедших курс

0

Курс включает в себя:

  • Лекций 151
  • Тестов 32
  • Задач 10
  • Тип курса Платный
  • Уровень курса Для начинающих
  • Язык курса Русский
  • Обновлен None
  • Сертификат Выдается