Онлайн-курс «Асинхронне програмування» | robot_dreams
  • онлайн-курс
  • 12 занять
  • курсовий проєкт

АСИНХРОННЕ ПРОГРАМУВАННЯ

Опануйте підходи асинхронного програмування на Python для розробки швидких та ефективних програм.

Сергій Руських

13+ років досвіду в розробці

Lead Python Software Engineer у SoftServe

про курс

  • Тривалість:

    12 занять

  • Курсовий проєкт:

    НАБІР СЕРВІСІВ ДЛЯ РОБОТИ З ДАНИМИ

Опануєте модуль asyncio в Python і навчитеся створювати вебсервіси із фреймворком FastAPI та бібліотекою SQLAlchemy. За підсумками курсу створите набір сервісів для роботи з даними, який додасте в портфоліо, та зможете імплементувати асинхронні рішення у свою роботу.

до програми курсу входять

01

КЕЙС У ПОРТФОЛІО

Створите набір сервісів, який вивантажуватиме базу даних загальновідомих вразливостей інформаційної безпеки (CVE), зберігатиме її та повертатиме користувачу через API-запит.

02

ІНТЕГРАЦІЯ Й ОПТИМІЗАЦІЯ БД

Набудете досвіду використання асинхронних бібліотек і розв’язання проблем обробки, вивантаження та збереження даних у базу із застосуванням asyncio та multiprocessing.

03

РОЗРОБКА ВЕБСЕРВІСІВ

Навчитеся розробки вебсервісів із застосуванням FastAPI та SQLAlchemy. Дізнаєтеся, як розв’язувати й уникати проблем використання синхронних та асинхронних підходів.

04

АСИНХРОННЕ ПРОГРАМУВАННЯ В PYTHON

Опануєте синхронний та асинхронний підходи програмування на Python. Засвоїте потрібні знання про asyncio та Event Loop. Розберетеся з примітивами синхронізації та race conditions.

 

для кого

  • Developers

    Щоб розібратися в асинхронному програмуванні на практиці, опанувати нові фреймворки й бібліотеки та оптимізувати продуктивність своїх високонавантажених застосунків.

  • Tech/Team Leads

    Щоб застосовувати асинхронні техніки в роботі та створювати високопродуктивні й масштабовані програми, спрямовуючи команди на ефективне використання ресурсів.

  • DevOps, Architects, QA Automation Engineers

    Щоб набути навичок для підвищення продуктивності в мікросервісах, зниження вимог до інфраструктури, автоматизації CI/CD-процесів та ефективного масштабування тестів.

roadmap курсу

 
icon
Розбираєтеся з Event Loop, вчитеся використовувати модуль asyncio
 
 
icon
Опановуєте асинхронне програмування
 
 
icon
Застосовуєте асинхронні підходи для взаємодії з базами даних
 
 
icon
Розробляєте вебсервіси з FastAPI та SQLAlchemy
 

лектор

Сергій Руських

Lead Python Software Engineer у SoftServe
13+ років досвіду в розробці

  • 10+ років використовує Python для розробки вебсервісів і систем обробки та вивантаження даних. Працював у Takeoff Technologies, Ender Turing, Wargaming

  • має досвід у таких сферах, як-от E-commerce, автоматизація та роботизація складських рішень, програмне забезпечення для колцентрів, медіареклама

  • співорганізатор LvivPy (Lviv Python Community) та Ukraine Python Community

  • доповідач на конференціях PyConUA та LvivPy

Програма

  • 01 заняття

    Знайомство з асинхронним програмуванням

    • Розберете відмінності між асинхронним і синхронним підходами в програмуванні
    • Дізнаєтеся, коли можна використовувати асинхронний підхід
    • Зрозумієте, що таке coroutine та subroutine, thread, process
  • 02 заняття

    Знайомство з asyncio

    • Ознайомитеся з основними примітивами й об’єктами asyncio, розберете способи їх використання
    • Дізнаєтеся, що таке awaitable-об’єкти
  • 03 заняття

    Асинхронні застосунки та Event Loop

    • Зрозумієте, як впливають блокувальні та неблокувальні операції на роботу мережевих застосунків
    • Навчитеся використовувати asyncio для написання мережевого сервісу
    • Розберетеся, як Event Loop застосовує низькорівневий функціонал системи
  • 04 заняття

    Розширені можливості асинхронного програмування

    • Зрозумієте, що таке race conditions і як це може вплинути на роботу програм
    • Дізнаєтеся, які примітиви синхронізації існують для asyncio
    • Навчитеся тестувати асинхронний код, використовуючи pytest
  • 05 заняття

    Воркшоп. Робота з CPU-bound задачами з асинхронним підходом

    • Розумітимете, як асинхронні підходи можна використовувати для обробки даних
    • Навчитеся застосовувати MapReduce-підхід для обробки даних
    • Ознайомитеся з підходом та інструментами для аналізу продуктивності програм
  • 06 заняття

    Асинхронний доступ до бази даних

    • Дізнаєтеся, як запустити PostgreSQL у докер-контейнери
    • Розберете відмінність між асинхронним і синхронним драйвером для бази даних
    • Розглянете, як підключити й робити запити з використанням asyncpg, SQLAlchemy, Alembic
    • Зрозумієте переваги застосування асинхронного підходу для зберігання даних
  • 07 заняття

    Розробка асинхронних HTTP-сервісів

    • Розберете відмінності між протоколами WSGI & ASGI
    • Зрозумієте, в яких випадках ASGI буде швидшим
  • 08 заняття

    FastAPI та асинхронне програмування

    • Дізнаєтеся, як написати web-сервіс із використанням FastAPI + SQLAlchemy
    • Ознайомитеся з функціоналом і можливостями FastAPI
  • 09 заняття

    Асинхронні комунікації між сервісами

    • Зрозумієте, які синхронні й асинхронні комунікації використовують під час побудови мікросервісної архітектури
    • Дізнаєтеся, коли застосовувати той чи інший підхід
    • Розумітимете відмінність між чергами й потоками
  • 10 заняття

    Q&A-сесія з лектором

    • Розберете свої запитання щодо курсового проєкту на Live-сесії з лектором
  • 11 заняття

    Підготовка до технічного інтерв’ю

    • Знатимете, які запитання ставлять рекрутери, та підготуєтеся до співбесіди
  • 12 заняття

    Захист курсових робіт

    • Презентуєте курсовий проєкт колегам

реєстрація

Навчіться розробки із застосуванням асинхронних підходів та покращуйте свої проєкти.

 
 
 
Реєструючись, ви погоджуєтеся з умовами договору-оферти та політикою конфіденційності.