Головна Школи Robot Dreams Асинхронне програмування
Robot Dreams

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

12 занять
Для досвідчених
Python
Цей курс про асинхронне програмування в Python. Ви навчитеся працювати з asyncio, FastAPI та SQLAlchemy, створювати вебсервіси та обробляти дані. Після курсу у вас буде готовий проєкт для портфоліо та знання для реалізації асинхронних рішень у роботі.

Про курс

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

Основи асинхронного програмування

На цьому курсі розпочнуть з розуміння різниці між асинхронним та синхронним програмуванням. З'ясують, коли варто використовувати асинхронний підхід. Розберуть такі поняття як coroutine, subroutine, thread та process.

Робота з Asyncio

Студенти ознайомляться з основними примітивами та об'єктами asyncio. Дізнаються про awaitable-об'єкти та способи їх використання. Цей модуль дасть практичне розуміння інструментів асинхронного програмування в Python.

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

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

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

Модуль охоплює складніші аспекти - race conditions та їх вплив на програми. Студенти вивчать примітиви синхронізації для asyncio та навчаться тестувати асинхронний код за допомогою pytest.

Воркшоп з обробки даних

Практичний модуль про використання асинхронних підходів для CPU-bound задач. Розглянуть MapReduce-підхід для обробки даних. Ознайомляться з інструментами аналізу продуктивності програм.

Робота з базами даних

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

Розробка HTTP-сервісів та FastAPI

Цей блок охоплює розробку веб-сервісів. Розберуть відмінності між WSGI та ASGI протоколами. З'ясують, коли ASGI працює швидше. Навчаться створювати web-сервіси з використанням FastAPI та SQLAlchemy, ознайомляться з функціоналом FastAPI.

Мікросервісна архітектура

Модуль про комунікації між сервісами в мікросервісній архітектурі. Студенти зрозуміють, коли використовувати синхронні та асинхронні комунікації. Розберуть різницю між чергами та потоками.

Фінальний етап та кар'єра

Курс завершується Q&A сесією з лектором, де розбирають питання щодо курсових проектів. Студенти підготуються до технічних інтерв'ю - дізнаються про типові запитання рекрутерів. На заключному занятті презентують свої курсові проекти колегам.

Особливості курсу

Курс включає 12 онлайн-занять з підтримкою ментора. Після успішного завершення студенти отримують сертифікат. В процесі навчання розробляють вебсервіси, що стануть частиною портфоліо.

Що включено

Вечірні заняття
Видається диплом/сертифікат
Реальний проект у портфоліо
Супровід ментора