You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Instantly share code, notes, and snippets.
Stanislav Garanzha
stasyao
Engineer + Technical Writer · I explain how things actually work under the hood
Вводное замечание: все команды написаны для консоли Git Bash под Windows 10. Кто не скачал, скачайте: https://gitforwindows.org/
Кто на Линуксе, могут использовать те же команды, но с добавлением 3 к python и pip (python3 ..., pip3 ...). Это связано с тем, что, к примеру, в Ubuntu команда python запускает python 2-й версии (которая уже никем не используется), а python3 запускает python актуальной 3-й версии.
Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux
Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux
Статья для тех, кто, как и я, споткнулся об asyncio и так и не понял его до конца.
Введение
Моё знакомство с asyncio началось довольно типично и болезненно. На тот момент я уверенно владел базовым синтаксисом Python и решил разобраться с асинхронным кодом, просто открыв документацию верхнеуровневого API (да, я тогда очень буквально воспринял строку из документации о том, что "low-level APIs for library and framework developers" и расшифровал для себя как "даже не смотри в low-level API, это только для больших ребят"). По началу всё выглядело понятно: async, await, задачи, циклы событий. Но при попытке связать это в цельную картину (и начать работать с asyncio-кодом) быстро возникло ощущение, что я понимаю отдельные конструкции, но не понимаю, почему всё это работает так, как работает.
Следующим шагом стала документация низкоуровневого API asyncio. Она добавила ясности: в моём мире появились транспорты, протоколы, соб