Связаться с нами
Асинхронный Python
Модуль из 8 уроков

В вакансиях для Python программистов часто требуют асинхронность. Эта технология упрощает архитектуру ПО и позволяет создавать сложные проекты, не теряя в скорости разработки. Асинхронность — это светлое будущее веба.

Пока мало кто умеет писать асинхронный код. На рынке труда такие программисты в дефиците: они легко находят работу и просят больше денег. Вы можете стать одним из них. Познакомьтесь с технологиями, освойте best-practices и дополните своё резюме асинхронными проектами. Все что нужно включено в курс.

Задачами поделился
Александр Зеленяк
Александр — IT-директор, архитектор и тимлид в компании Tickets Cloud, которая за 5 лет из стартапа выросла в международную платформу по продаже билетов. Бэкенд проекта на 80% написан Александром лично. И еще под его руководством работают три специалиста по бэкенду и четыре фронтэндера.
Урок 1 из 8
Делаем игру про космос
Делаем игру про космос
В этом уроке вы напишете свою консольную игру. Будем летать на ракете и любоваться звёздным небом. А заодно познакомимся с асинхронностью.
Свой игровой движок
Мы не будем использовать готовые движки, а напишем свой. Если вы захотите заменить ракету на динозаврика, а астероиды на кактусы — вы сделаете это в несколько строк кода.
Научитесь писать корутины
Корутины — это функции из мира асинхронности. Как обычный код состоит из функций, так и асинхронный собирается из корутин. Без них никуда.
14 заданий
4 учебных часа
ревью кода
Урок 2 из 8
Сквозь мусор к звёздам
Сквозь мусор к звёздам
Игра получилась расслабляющей, но любители экшена назовут её скучной. Пора добавить режим с пушками: взрывы, астероиды, спутники, горящие куски обшивки. В такой игре уже не заскучаешь.
Дирижируйте корутинами
В предыдущем уроке вы писали только асинхронные функции и вызывали их. Здесь же вы хлебнёте корутин по полной: одна корутина создаёт другие корутины, а другая их уничтожает ...
Будет чем хвастаться
Друзьям не похвастаешься сортировкой или переворотом бинарного дерева. А вот игрой про космос, да ещё со звуком — уже можно!
12 заданий
8 учебных часов
ревью кода
Урок 3 из 8
А скинешь фоточки?
А скинешь фоточки?
Что происходит, когда вы нажимаете кнопку «Скачать» в Дропбоксе? Как ему удаётся в одно мгновение сжать гигабайты в архив и начать загрузку на ваш компьютер? В этой задаче вы сами напишете код для кнопки «Скачать», узнаете всё на собственном опыте.
Django? Flask? А может aiohttp?
В этой задаче вы поднимете свой сервер на aiohttp. Это самый популярный фреймворк с поддержкой асинхронного кода.
Новое о старом: HTTP
А вы знали, что HTTP-ответ необязательно готовить целиком? В этой задаче вы будете архивировать файлы «на лету», по кусочкам, и тут же отдавать эти кусочки клиенту на скачивание.
16 заданий
6 учебных часов
ревью кода
Урок 4 из 8
Подключаемся к подпольному чату
Подключаемся к подпольному чату
В этом уроке вы будете писать клиент для анонимного чата. Да, чат будет о Майнкрафте, и очень секретный. Коды для Майнкрафта — дело серьёзное, такое в обычных чатах не обсуждают.
Узнайте, как делают чаты
Чаты — это не так-то просто! Сообщения должны приходить мгновенно, а если вдруг отключится интернет, то приложение должно само переподключиться.
Сокеты! Наконец-то!
В этом уроке вы станете одним из избранных, тем самым, кто знает о сокетах. Они помогут развить такие скорости, о которых c HTTP нельзя и мечтать.
15 заданий
8 учебных часов
ревью кода
Урок 5 из 8
Помогаем клубу анонимных геймеров
Помогаем клубу анонимных геймеров
Подключиться к чату — полдела. Куда сложнее сделать полноценный чат-клиент, удобный рядовому пользователю.
Своё приложение в терминале
В чатах сидят подолгу. Чтобы было приятно, нужен удобный интерфейс, похожий на Телеграмм. Вы сделаете как раз такой.
Жонглируйте очередями
Очереди — это краеугольный камень в мире асинхронного кода. С их помощью корутины могут обмениваться данными, даже если работают параллельно.
16 заданий
8 учебных часов
ревью кода
Урок 6 из 8
Фильтруем Интернет со скоростью света
Фильтруем Интернет со скоростью света
Вам надоели фейковые новости в интернете? Теперь есть шанс с ними поквитаться. Вы напишете краулер, который пройдет по сайтам и составит свой рейтинг желтушности. Благодаря асинхронности он наберет огромную скорость, ограниченную лишь сетевым соединением.
Сделайте поискового робота
Поисковые роботы Гугл и Яндекс безустали парсят сайты и ранжируют страницы по популярности. Вы сделаете то же самое. Если смог Сергей Брин, чем вы хуже?
Блесните знаниями в тусовке программистов
Все слышали про магические event loop и корутины, но мало кто с ними по-настоящему работал. Вы будете одним из немногих, кто знает о чем говорит.
15 заданий
8 учебных часов
ревью кода
Урок 7 из 8
Следим за автобусами
Следим за автобусами
Вы знали, что на общественном транспорте установлены GPS датчики? Их координаты можно узнать и отобразить на карте в браузере. Но вы сделаете больше — покажете перемещение транспорта в реальном времени.
Как Яндекс Транспорт, только свой
В этом уроке вы загляните под капот известного сервиса и набъете те же шишки, что и программисты Яндекса.
Когда подключены тысячи устройств
Чтобы автобусы перемещались по карте, нужны не только координаты, но и постоянное их обновление. Вам предстоит работать с сокетами напрямую, а такое не часто увидишь в резюме программиста.
18 заданий
8 учебных часов
ревью кода
Урок 8 из 8
Рассылаем СМС для МЧС
Рассылаем СМС для МЧС
Здесь вы построите свой сервис по рассылке СМС сообщений с предупреждением о непогоде. У сервиса будет своё API для общения с внешним миром.
Почувствуйте силу aiohttp
aiohttp — это ключевая библиотека. Она упрощает код и архитектуру, заменяет собой Requests, Flask и, зачастую, даже Celery. Оставьте всё это нагромождение технологий в прошлом и почувствуйте как ваша продуктивность взлетает до небес.
Войдите в высшую лигу
В крупных проектах часто пишут асинхронный код, особенно для микросервисов. Не хватает программистов, умеющих писать асинхронно. Их совсем мало. Это ваш шанс войти в высшую лигу!
13 заданий
8 учебных часов
ревью кода
Навыки и технологии

Мы продаём не знания, а навыки. В задачах модуля вы отработаете:

  • event loop, запуск корутин
  • aiohttp
  • сокеты
  • стриминг HTTP-ответа по частям
  • особенности обработки исключений

Учебные материалы встроены в модуль.

Минимальные требования

‣ Владение Python: написать программу в 200 строк кода, структурировать и отладить.

‣ Запуск программ из командной строки: cmd.exe на Windows или bash на Mac / Linux

‣ Размещение кода на GitHub

‣ Чтение документации на английском со словарем

Как подготовиться
Рекомендуем начать подготовку с более простых модулей
Знакомство с Python
8 уроков, 93 задания
  • переменные
  • функции
  • циклы
  • условия
  • строки
  • списки
  • словари
  • библиотеки
  • файлы
Посмотреть Первый урок бесплатный 5 000 Р
API веб-сервисов
6 уроков, 78 заданий
  • HTTP
  • ВКонтакте API
  • Instagram API
  • схема url
  • библиотека Requests
  • REST API
Посмотреть Первый урок бесплатный 2 500 Р
Как проходят занятия
Об эксперте
Александр Зеленяк

Заслуженный бэкендер России. Александр пишет на Python уже 10 лет. За это время он разрабатывал и десктопные приложения, и многопоточные, и асинхронные, и web. А ещё устранял неполадки на программном уровне у томографов после удара молнии.

Задачи модуля Асинхронный Python созданы на основе реальных кейсов из практики Александра. В них расставлены ловушки на типичные ошибки, описанные экспертом, и включены ссылки на best practices. Одним словом, сплошная польза и настоящий боевой опыт, который украсит любое резюме.

Что вы получите
8 уроков
Теория и практические советы. Кратко и по делу.
Пошаговые инструкции
Покажем, как подступиться к решению задач из реального мира.
Кодревью
Преподаватель подскажет, как повысить качество кода.
Неограниченный доступ к учебным материалам
Занимайтесь в удобное время, в своем темпе.
Посмотрите другие модули
API веб-сервисов
6 уроков, 78 заданий
  • HTTP
  • ВКонтакте API
  • Instagram API
  • схема url
  • библиотека Requests
  • REST API
Посмотреть Первый урок бесплатный 2 500 Р
Основы Django
выйдет весной
  • manage.py
  • urls.py
  • Templates
  • Django ORM
  • ORM Migrations
  • Admin UI
Посмотреть 5 000 Р
Командная строка
5 уроков, 41 задание
  • bash
  • cd, ls, pwd
  • nano, vim
  • запуск программ
  • permissions
  • env variables
Git и GitHub
5 уроков, 49 заданий
  • коммиты
  • клонирование
  • форк
  • история
  • ветки
Python для SMM
5 уроков, 72 задания
  • ВКонтакте
  • Facebook
  • Таблицы Google
  • Google Диск
  • Instagram
  • Telegram
Посмотреть Первый урок бесплатный 5 000 Р
Django REST Framework
выйдет летом
  • CRUD
  • serializers
  • JWT
  • наследование
  • версионирование
  • тестирование
Посмотреть 5 000 Р
Docker
выйдет весной
  • Dockerfile
  • volumes
  • networks
  • docker-compose
  • docker-machine
  • Docker Hub
Посмотреть 5 000 Р
Чат-боты на Python
выйдет 25 апреля
  • Telegram
  • ВКонтакте
  • Redis
  • Deploy
  • Long polling
  • State Machine
Посмотреть 8 000 Р
Знакомство с Python
8 уроков, 93 задания
  • переменные
  • функции
  • циклы
  • условия
  • строки
  • списки
  • словари
  • библиотеки
  • файлы
Посмотреть Первый урок бесплатный 5 000 Р