• ОЀОРМИВЬ ΠŸΠžΠ”ΠŸΠ˜Π‘ΠšΠ£ ΠžΠ’Π—Π«Π’Π«

πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [kts] АлСксандр ΠžΠΏΡ€Ρ‹ΡˆΠΊΠΎ - АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… (2021)

Gatsby

ВЕЧНЫЙ

Gatsby

ВЕЧНЫЙ
РСгистрация
10 ΠžΠΊΡ‚ 2018
БообщСния
44,465
Π›Π°ΠΉΠΊΠΈ
204,508
Автор: kts - АлСксандр ΠžΠΏΡ€Ρ‹ΡˆΠΊΠΎ
НазваниС: АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… (2021)

Screenshot at Feb 10 11-21-40.png

АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ позволяСт Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ большиС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΊΠΎΠ΄. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ 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, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ свой собствСнный Π½Π° Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ…

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅:
Π‘ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ содСрТимоС доступно для зарСгистрированных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ!

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ:
 
Π’ΠΠ–ΠΠž:

НС оставляйтС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ с ΠΏΡ€ΠΎΡΡŒΠ±Π°ΠΌΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ / Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ссылку Π½Π° скачиваниС ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Ρ‚ΠΈΠΏΠ° Β«404Β», «ошибка».

Для восстановлСния ссылки Π΅ΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π–Π°Π»ΠΎΠ±Π° / Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылку» Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ постС Ρ‚Π΅ΠΌΡ‹.

ΠŸΡ€ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΈ Π’Π°Ρˆ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½, Π° Π’Π°Ρˆ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° сутки. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° нашСго сайта.
Автор ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹ Π€ΠΎΡ€ΡƒΠΌ ΠžΡ‚Π²Π΅Ρ‚ΠΎΠ² Π”Π°Ρ‚Π°
Gatsby πŸ‘¨β€πŸ’» АдминистрированиС [Архэ] [АлСксандр ΠŸΠΈΠΏΠ΅Ρ€ΡΠΊΠΈ] ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ лингвистика. ΠœΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ (2024) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
Gatsby πŸ‘¨β€πŸ’» АдминистрированиС [Архэ] [АлСксандр ΠŸΠΈΠΏΠ΅Ρ€ΡΠΊΠΈ] ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ лингвистика. ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ, кластСризация ΠΈ ΠΎΡ†Π΅Π½ΠΊΠ° сходства тСкстов (2024) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
Gatsby πŸ’» ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ [Архэ - АлСксандр ΠŸΠΈΠΏΠ΅Ρ€ΡΠΊΠΈ] ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ лингвистика. БинтаксичСская ΠΈ сСмантичСская Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ (2024) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
Gatsby πŸ‘¨β€πŸ’» АдминистрированиС [Архэ - АлСксандр ΠŸΠΈΠΏΠ΅Ρ€ΡΠΊΠΈ] ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ лингвистика. ΠžΡ†Π΅Π½ΠΊΠ° качСства Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ лингвистикС (2024) АдминистрированиС ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ 0
ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹




Π‘Π²Π΅Ρ€Ρ…Ρƒ Π‘Π½ΠΈΠ·Ρƒ