Идеальный старт для будущих IT-разработчиков 👨‍💻 со скидкой до 65%!
Узнать больше

Python FastAPI

Online
7 дней тестового периода
Менторинг
Бесплатная заморозка
FastAPI — это современный, высокопроизводительный фреймворк для создания веб-приложений и API на Python. Он разработан с упором на скорость, удобство разработки и поддержку стандартов, таких как OpenAPI и JSON Schema. Благодаря асинхронной архитектуре и встроенной валидации данных FastAPI позволяет создавать масштабируемые приложения с минимальными усилиями. Этот фреймворк идеально подходит как для небольших проектов, так и для сложных систем, требующих высокой производительности.

Формат и требования

Формат:
Скорость прохождения курса зависит от вас. Быстрее учитесь – меньше платите.
Курс проходит онлайн в формате менторинга в режиме онлайн
Требования:
Базовые знания Python – понимание синтаксиса языка, работы с функциями, классами, списками, словарями и основными библиотеками.
Опыт работы с веб-технологиями – HTTP, JSON.
Знание англ. языка на уровне чтения технической документации

Программа курса

Objective 1: FastAPI. Создание простого API. Модели, валидация данных. Автогенерация документации

  • Что такое FastAPI?
  • Преимущества FastAPI
  • У становка FastAPI
  • Создание функций обработки запросов
  • Pydantic
  • Создание моделей данных
  • Создание правил валидации
  • Что такое инъекция зависимостей?
  • Dependens в FastAPI.
  • Особенности использования pydantic моделeй в качестве зависимостей
  • Сервис автодокументации

Objective 2: MultiThreading, MultiProcessing, Async/Await. Ассинхронное взаимодействие в FastApi

  • Осовные концепции взаимодействия — многопоточность, однопоточность, ассинхронное и воркеры
  • Кто такой Gil. Почему все о нем говорят, хотя никто не видел
  • EventLoop как с ним работать
  • Миграция синхронного кода в ассинхронный
  • uvloop
  • lifespan
  • Использование ipython в ассинзронном режиме
  • Тестирование ассинхронных веб-сервисов c pyTest

Objective 3: Работа с базами данных

  • Интреграция SqlAlchemy + PostgresSql
  • Подключаем Alembic
  • Ассинхронное взаимодействие с БД с использованием asyncpg (SqlAlchemy, DatabaseIo)
  • Особенности реализации ассинхронного взаимодействия в SqlAlchemy. Проблема ассинхронного доступа к реляционным связям в ORM

Objective 4: Авторизация запроса. Хендлер ошибок

  • Авторизация. Зачем, для чего и как
  • Авторизация с JWT-токеном
  • Встроенные механизмы авторизации пользователей
  • Ошибки, обработка и назначение
  • Создание пользовательских хендлеров ошибок

Objective 5: Работа с No-Sql

  • Redis — зачем и для чего
  • Подключаем к проекту
  • Основы работы с Redis
  • Реализация механизма кеширования
  • Ассинхронные запрос в Redis

Objective 6: Логгирование и запуск

  • Настройка логирования

Objective 1: Создание образа Docker для FastAPI

  • Что такое Docker?
  • Преимущества Docker
  • У становка Docker
  • Подготовка исходного кода
  • Создание образа Docker и запуск проекта

Objective 2: Запуск проекта FastAPI в Docker с использованием DockerCompose

  • Что такое DockerCompose?
  • Преимущества DockerCompose
  • Контейнерезируем наш проект
  • Непрерывная поставка кода в контейнерезированных средах

Objective 3: Фоновые задачи в FastApi

  • Выполнение фоновых задач в FastApi
  • Интеграция Celery (Глубокое погружение)
  • Знакомство с Broker (RabbitMQ, ZabitMQ, Kafka)

Objective 1: Реализация межсервисного взаимодействия и Создание инфраструктуры с использованием контейнеров

  • API и межсервисное взаимодействие.
  • Протокол взаимодействия — JSON, RPC, XML и экзотика
  • Способы реализации (http протокол, tcp/ip, gRPC)
  • От монолита к микросервисам с использованием технологии контейнеризации
  • Создание единиой инфраструктуры в контейнеризированных средах
  • Что такое прокси-сервер (единая точка входа)
  • Создание простого прокси-сервера для локальной разработки.

Objective 2: Ассинхронное межсервисное взаимодействие

  • Реализация с использованием саб-клиент на Aiohttp и httpX
  • Особенности реализации

Удобно — когда все в одном месте: LMS

Удобно — когда все в одном месте: LMS
Автор курса
Алексей Фрундин
Python Developer

В разработке с 2014 года. Повседневные технологии FastAPI + Pydantic, Aiohttp, Django3 + DRF (но больше нравится Ninja), SQLAlchemy/encode-databases, Celery, Airflow, Pandas, PostgreSQL, Redis, MongoDB. Для нужд: Devops — Docker, Docker compose, Traefik, Nginx. Кроме крупных проектов, также участвовал в проектах продолжительностью не более двух месяцев. В основном это интегрирование существующего, или создание под заказчика собственного сервиса процесса обработки данных и анализа.

Ваш результат:

Ваш результат:

По окончании курса мы выдадим вам сертификат, свидетельствующий об успешном завершении программы менторинга и подтверждающий вашу квалификацию по выбранному направлению.

Online
Менторинг

Python FastAPI

  • 7 дней тестового периода
  • Бесплатная заморозка

Как проходит обучение?

Регистрация на курс

Регистрируетесь на курс

Ответы на вопросы

С вами связывается сотрудник и отвечает на все ваши вопросы

Нулевая задача

Получаете «Нулевую задачу» для определения подойдет ли вам курс

Ментор

Вас распределяют к ментору и вы получаете первую задачу

Материал

Изучаете материал и делаете первую задачу

Отзыв о работе

Получаете отклик от ментора, финишируете задачу и переходите к следующей

Ментор курса

Константин Зивенко

Lead Software Engineer

ExSol LTD

Опыт в сфере
с 2019 года
Опыт преподавания
с 2021 года
Константин Зивенко

Lead Software Engineer

ExSol LTD

Опыт в сфере
с 2019 года
Опыт преподавания
с 2021 года

Имею коммерческий опыт программирования — 3 года. Классический пример свитчера — перешел в IT из совершенно другой профессии. На сегодня являюсь Software Engineer (Python Backend Developer) в компании Waylight.me (стартап в США с украинскими корнями). Ежедневно использую Python в профессиональной деятельности. Основное направление — Web-разработка приложений с высокой нагрузкой.

Бесплатная консультация

Поможем выбрать курс
Предложим лучшие условия
Дадим ответы на все вопросы

Бесплатная консультация



    Отправляя сообщениe, вы соглашаетесь с нашей офертой.

    Записаться на курс



      Отправляя сообщениe, вы соглашаетесь с нашей офертой.

      Курс Python FastAPI

      Python является одним из самых популярных языков программирования в мире. Он активно используется в веб-разработке, data science, автоматизации, разработке микросервисов и многих других направлениях. Один из самых перспективных инструментов для создания веб-сервисов на Python — это FastAPI. Этот фреймворк стал прорывом в разработке API благодаря своей производительности, асинхронности и простоте использования.

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

      Преимущества менторинга на курсе FastAPI

      Во многих курсах разработчики сталкиваются с тем, что теоретические знания оторваны от реальных кейсов. В результате, при переходе на реальные проекты, они сталкиваются с трудностями в практическом применении технологий.

      Менторинг решает эту проблему. Наши менторы — это опытные разработчики, которые работают с FastAPI в продакшене и понимают реальные вызовы, стоящие перед IT-командами.

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

      Показать больше Скрыть

      FAQ

      Что такое Менторинг?

      Это вид поддерживающих отношений и эффективный способ передачи знаний, опыта от более опытного эксперта (ментора) менее опытному (менти), который ведет его к профессиональному развитию и прогрессу менти, раскрытию его потенциала и личному росту.

      В каком формате проходит обучение на Менторинге?

      Суть формата в том, что вы учитесь на практических заданиях. Лекций, вебинаров по теории у нас не будет. Мы предполагаем, что теорию вы можете изучить самостоятельно из открытых источников. У нас практическая часть. Вся программа обучения основана на практических задачах, максимально приближенных к тем задачам, которые вам придется решать на работе. Вы получаете задание, выполняете его и передаете на проверку ментору. Ментор говорит, что верно, что следует изменить, дает рекомендации по литературе и направляет вас в нужное направление. Как только вы выполняете и сдаете первое задание — переходите к следующему. И так задание за заданием вы проходите всю программу менторинга.

      Как происходит коммуникация с ментором?

      Отправка решения на проверку и код ревью в GitLab (система контроля версий). Code review ментор проводит 1 раз в день (при условии, что у вас есть готовый вариант решения задачи). Проверка происходит в течение 24 часов с момента отправки решения. Общение с ментором в формате переписки в корпоративном чате Zulip. Ментор с вами на связи понедельника по пятницу. Задавать вопросы вы можете в любое время. С момента, как вы задаете вопрос, ментор в течение 24 часов предоставляет вам ответы.

      Есть ли тестовый период?

      Предоставляется 7 дней тестового периода для того, чтобы вы посмотрели, насколько вам подходит такой формат обучения и наша программа. Тестовый период оплачивается только если вы захотите продолжить обучение. Если вам все понравится и вы готовы будете продолжать обучение, то на 7й день вносите оплату, тестовый период в этом случае оплачивается. Если вам не понравится — сообщаете нам и оплату от вас мы ожидать не будем.

      Какой график обучения?

      Формат обучения на менторинге индивидуальный, поэтому вы сами выбираете, по какому графику учиться и проходите курс в своем темпе.

      Сколько длится курс?

      Длительность обучения на курсе зависит полностью от вашей интенсивности. В зависимости от выбранного курса и уровня вашей подготовки менеджер сможет посчитать, сколько примерно у вас займет прохождение курса. Мы обычно рекомендуем уделять обучению от 2 до 4 часов в день. 2 часа — это минимальное время в день, чтобы вникнуть в вопрос для изучения. Если уделять меньше 2 часов в день, то обучение затянется. Больше времени и усилий тратите на обучение — быстрее проходите курс — меньше платите.

      Выдаете ли вы сертификат по окончанию обучения?

      Да, после прохождения полной программы вы получаете электронный сертификат на английском языке.

      Больше FAQ