Скачать [kts] Александр Опрышко - Асинхронное программирование на Python для начинающих (2021)

Plazma

Команда форума
Администратор
Модератор
Премиум
29 Дек 2020
18,822
178


Асинхронное программирование позволяет выдерживать большие нагрузки и писать более эффективный код. Большинство крупных проектов использует этот подход. Поэтому python-разработчикам важно знать основные принципы асинхронности, понимать отличия многопоточности от кооперативной многозадачности, и уметь все это применять на практике.

Основные темы, которые вы будете прорабатывать на нашем курсе:
  • Как устроено асинхронное программирование в Python (GIL, Threading, кооперативная многозадачность)
  • Стандартная python-библиотека asyncio
  • Асинхронный веб-фреймворк aiohttp
Программа:
Django vs Aiohttp

● Сравним Django и Aiohttp, поймем отличия
● Разберемся, когда следует применять Django, а когда – Aiohttp
● Сравним производительность Django и Aiohttp
● Разберемся, почему Aiohttp нельзя заменить Django 3.0 (c этой версии появилась поддержка асинхронности в Django)

Немного теории
● Поймем отличия CPU от IO bound операций
● Разберемся в python threading, поймем их особенность
● Рассмотрим способы реализовать многопоточность в Python (multiprocessing и Кооперативная многозадачность)
● Познакомимся с GIL, поймем зачем его добавили и почему еще не удалили

Asyncio
● Рассмотрим компоненты стандартной библиотеки asyncio и поймем как их применять на практике:
⁃ Coroutines
⁃ Tasks
⁃ Synchronization Primitives
⁃ Queues

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). Научимся эффективно загружать большие файлы

Asyncio connectors
● Разберемся, что такое асинхронные коннекторы и как их выбирать
● Научимся работать с различными базами данных асинхронно: Postgres, Mongo, RabbitMQ, Elasticsearch

Aiohttp server
● Научимся работать с компонентами aiohttp сервера:
⁃ Handlers, routes и classview
⁃ Middleware и авторизация
⁃ Signals

● Разберемся, как решать типовые задачи, например:
⁃ Двухстороннее передача данных с помощью web socket
⁃ Эффективная загрузка файлов в s3 (stream)
⁃ Создание фоновых задачи

Устройство асинхронного программирования
● Разберемся, на чем работает асинхронное программирование в Python
● Поймем, что такое future и event loop, и реализуем свой собственный на генераторах


Пожалуйста Войдите или Зарегистрируйтесь для просмотра скрытого текста.



Скачать:

Для просмотра содержимого вам необходимо Войти или Зарегистрироваться.

Для просмотра содержимого вам необходимо Войти или Зарегистрироваться.

 

Похожие темы

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.