Асинхронное программирование на Python для джуниор-разработчиков
старт 13 октября
бесплатные live-code вебинары
сентября
29
6
где можно познакомиться со спикерами и увидеть, как они преподносят материал
А теперь о курсе
октября
Курс можно пройти за 6 недель, если заниматься 8–16 часов в неделю
Длительность
Учитесь в удобное время на платформе KTS и в мобильном приложении
Онлайн-формат
Для домашки у вас будет личный вирту­альный сервер с установленными компонентами
Автопроверка ДЗ
Чат-бот и свой Event Loop, написанные в последних модулях, можно разместить
в gitlab и приложить к резюме
Пет-проект
Асинхронное программирование используется для высоко­нагруженных проектов и микросервисов. Его спрашивают на собеседованиях в технологически развитых компаниях, и оно открывает дорогу к работе в интересных проектах.

В Python асинхронный подход реализуется через Asyncio, который мы рассматриваем в этом курсе. Каждый модуль — это полноценный проект, куда вы дописываете нужную функциональность. Дальше тесты автоматически проверяют взаимодействие всех компонентов проекта. Если ваше решение работает, вы успешно прошли модуль. Всё как на настоящей работе.
Кому подойдёт курс
Кому будет сложно на курсе
Вы собираетесь перейти в IT, прошли или проходите курс по программи­рова­нию. Знание асинхронного подхода к разработке может стать вашим преимуществом на собеседованиях и выделит вас среди других выпускников.
Выпускникам курсов
по программированию
Вы работаете в компании на позиции джуна и не чувствуете прогресса. Зная асинхронное программи­рование, вы сможете перейти на более сложные и интересные задачи.
Джуниор-разработчикам на Python
Asyncio — стандартная возможность Python. Тем, кто планирует развиваться в профессии и глубже погружаться в язык, рано или поздно придётся её освоить. Лучше рано :)
Мидлам, которые пока не изучили Asyncio
Этот курс для тех, кто уже пишет на Python. Он не подойдёт людям, которые только начинают переход в IT и не знакомы с основами языка.
Чему вы научитесь
Разберётесь, как работает асинхронное программи­рование и где его лучше применять
Узнаете, чем отличается асинхронное выполнение задач от параллельного и какие типы «параллельности» существуют
Научитесь мыслить нелинейно и сможете продумывать более сложные архитектуры приложений
Узнаете best practices написания асинхронных приложений на Python
Получите опыт работы с микросервисами
Освоите стандартную python-библиотеку Asyncio
Изучите асинхронный веб-фреймворк Aiohttp
Научитесь асинхронно работать с базами данных Postgres, Mongo, RabbitMQ
Разберётесь, как решать типовые задачи, в которых используется асинхронность
Например,

двухсторонняя передача данных с помощью web socket;

эффективная загрузка файлов в s3 (stream);

создание фоновых задач
Программа
1. Django vs Aiohttp
● Сравним Django и Aiohttp, поймем отличия
● Разберемся, когда следует применять Django, а когда – Aiohttp
● Сравним производительность Django и Aiohttp
● Разберемся, почему Aiohttp нельзя заменить Django 3.0 (c этой версии появилась поддержка асинхронности в Django)
2. Немного теории
● Поймем отличия CPU от IO bound операций
● Разберемся в python threading, поймем их особенность
● Рассмотрим способы реализовать многопоточность в Python (multiprocessing и Кооперативная многозадачность)
● Познакомимся с GIL, поймем зачем его добавили и почему еще не удалили
3. Asyncio
● Рассмотрим компоненты стандартной библиотеки asyncio и поймем как их применять на практике:
⁃ Coroutines
⁃ Tasks
⁃ Synchronization Primitives
⁃ Queues
4. Aiohttp client
● Научимся использовать клиент aiohttp для отправки запросов по протоколам http/https/web sockets/s3 при работе с сервисами:
⁃ VK API (http, long polling). Первые шаги при написании VK бота
⁃ Telegram API (http, long polling). Первые шаги при написании Telegram бота
⁃ Биржевое API (web socket)

● Научимся непрерывно получать данные от сервера, без предварительного запроса
⁃ Файловое API (s3). Научимся эффективно загружать большие файлы
5. Asyncio connectors
● Разберемся, что такое асинхронные коннекторы и как их выбирать
● Научимся работать с различными базами данных асинхронно: Postgres, Mongo, RabbitMQ
6. Aiohttp server
● Научимся работать с компонентами aiohttp сервера:
⁃ Handlers, routes и classview
⁃ Middleware и авторизация
⁃ Signals

● Разберемся, как решать типовые задачи, например:
⁃ Двухстороннее передача данных с помощью web socket
⁃ Эффективная загрузка файлов в s3 (stream)
⁃ Создание фоновых задачи
7. Устройство асинхронного программирования
● Разберемся, на чем работает асинхронное программирование в Python
● Поймем, что такое future и event loop, и реализуем свой собственный на генераторах
В ходе курса вы выполните 6 домашних заданий, в том числе напишете телеграм-бот и собственный Event Loop. ДЗ решаются на учебном виртуальном сервере с настроенным окружением — ничего не нужно искать, скачивать и устанавливать на свой компьютер.

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

Такой подход к домашним заданиям тренирует насмотренность: вы видите, как устроен проект, как выглядит код, куда вы дописываете своё решение.
Домашние задания
с автопроверкой
Тарифы
С личным ментором
Доступ к материалам на платформе и в мобильном приложении

Автоматическая проверка ДЗ

Выделенный виртуальный сервер для ДЗ

Чат для общения с однокурсниками
Еженедельный онлайн-разбор домашних заданий, на котором можно задать вопросы преподавателю AMA-сессии с экспертом после каждого этапа
Ментор, который будет делать ревью ДЗ и отвечать на ваши вопросы на личных созвонах
60 000
Без обратной связи
Доступ к материалам на платформе и в мобильном приложении

Автоматическая проверка ДЗ

Выделенный виртуальный сервер для ДЗ

Чат для общения с однокурсниками
20 000
С групповыми разборами
Доступ к материалам на платформе и в мобильном приложении

Автоматическая проверка ДЗ

Выделенный виртуальный сервер для ДЗ

Чат для общения с однокурсниками
Еженедельный онлайн-разбор домашних заданий, на котором можно задать вопросы преподавателю AMA-сессии с экспертом после каждого этапа
30 000
Click to order
Состав заказа
Total: 
Имя
Электронная почта
Подключайтесь к ТГ-боту Слёрмику, и он поделится полезными материалами по теме. А ещё будет сообщать о наших бесплатных вебинарах. Там же вы в любой момент сможете купить курс.