Ідеальний старт для майбутніх 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 моделей як залежностей
  • Сервіс автодокументації

Objective 2: MultiThreading, MultiProcessing, Async/Await. Асинхронна взаємодія у FastApi

  • Основні концепції взаємодії – багатопоточність, однопоточність, асинхронна та воркери
  • Хто такий Gil. Чому всі про нього говорять, хоча ніхто не бачив
  • EventLoop як із ним працювати
  • Міграція синхронного коду в асинхронний
  • uvloop
  • lifespan
  • Використання ipython в ассинзронному режимі
  • Тестування асинхронних веб-сервісів з 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-розробка застосунків з високим навантаженням.

Безкоштовна консультація

Допоможемо вибрати курс
Запропонуємо найкращі умови
Надамо відповіді на всі запитання

Безкоштовна консультація



    Надсилаючи повідомлення, ви погоджуєтесь з нашою офертою.

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



      Надсилаючи повідомлення, ви погоджуєтесь з нашою офертою.

      Курс 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