mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.1K
active users

#asyncio

2 posts2 participants1 post today
GripNews<p>🌘 asyncio:一個充滿陷阱的函式庫<br>➤ 探討 Python asyncio 函式庫的設計缺陷與替代方案<br>✤ <a href="https://sailor.li/asyncio" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">sailor.li/asyncio</span><span class="invisible"></span></a><br>本文深入探討了 Python 的 asyncio 函式庫,指出它雖然在 Python 3.4 中首次亮相,並在 3.5 中加入了 async/await 關鍵字,但其設計存在許多問題,使用起來相當困難,甚至可說是存在根本缺陷。作者列舉了取消機制、任務銷毀、I/O 操作以及 Queue 使用等問題,並比較了其他語言(如 Kotlin、Swift)和函式庫(如 Trio、AnyIO)的解決方案。<br>+ 難怪我一直覺得 asyncio 用起來很麻煩,原來問題不是出在我的程式碼,而是這個函式庫本身!<br>+ 看了這篇文章,我決定乾脆改用 Trio 或 AnyIO,聽起來更可靠。<br><a href="https://mastodon.social/tags/%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>程式設計</span></a> <a href="https://mastodon.social/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a> <a href="https://mastodon.social/tags/%E9%9D%9E%E5%90%8C%E6%AD%A5" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>非同步</span></a></p>
Hacker News<p>The Fundamentals of Asyncio</p><p><a href="https://github.com/anordin95/a-conceptual-overview-of-asyncio/blob/main/readme.md" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/anordin95/a-concept</span><span class="invisible">ual-overview-of-asyncio/blob/main/readme.md</span></a></p><p><a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/Asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Asyncio</span></a> <a href="https://mastodon.social/tags/Fundamentals" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Fundamentals</span></a> <a href="https://mastodon.social/tags/AsynchronousProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsynchronousProgramming</span></a> <a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://mastodon.social/tags/GitHub" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GitHub</span></a> <a href="https://mastodon.social/tags/TechInsights" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TechInsights</span></a></p>
N-gated Hacker News<p>🚀🎩 Behold! The riveting tale of a tech wizard who valiantly simplifies a key-value database, only to discover the revolutionary concept of async I/O on Linux—something the rest of us mortals have been using since the dawn of time. Next up, he’ll reinvent sliced bread, but not before fsync-ing every loaf 🥖🔄.<br><a href="https://blog.canoozie.net/async-i-o-on-linux-and-durability/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.canoozie.net/async-i-o-on</span><span class="invisible">-linux-and-durability/</span></a> <a href="https://mastodon.social/tags/techwizard" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>techwizard</span></a> <a href="https://mastodon.social/tags/asyncIO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncIO</span></a> <a href="https://mastodon.social/tags/keyvaluedatabase" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>keyvaluedatabase</span></a> <a href="https://mastodon.social/tags/Linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Linux</span></a> <a href="https://mastodon.social/tags/innovation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>innovation</span></a> <a href="https://mastodon.social/tags/slicedbread" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>slicedbread</span></a> <a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/ngated" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ngated</span></a></p>
Hacker News<p>Async I/O on Linux in databases</p><p><a href="https://blog.canoozie.net/async-i-o-on-linux-and-durability/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.canoozie.net/async-i-o-on</span><span class="invisible">-linux-and-durability/</span></a></p><p><a href="https://mastodon.social/tags/HackerNews" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HackerNews</span></a> <a href="https://mastodon.social/tags/AsyncIO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncIO</span></a> <a href="https://mastodon.social/tags/Databases" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Databases</span></a> <a href="https://mastodon.social/tags/Linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Linux</span></a> <a href="https://mastodon.social/tags/Performance" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Performance</span></a> <a href="https://mastodon.social/tags/IOTechnology" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>IOTechnology</span></a> <a href="https://mastodon.social/tags/DeveloperInsights" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DeveloperInsights</span></a></p>
tapeloop<p>One of the joys of my current role has been getting to code Python at enterprise level, rather than ‘enthusiastic hobbyist’, and learning current industry best practices from my colleagues. </p><p>Case in point, I just migrated a project from Flask to FastAPI and swapped out aiohttp for httpx.</p><p>✅ FastAPI: Async-first, type hints, Pydantic integration = dev happiness<br>✅ httpx: Cleaner API, connection pooling, great with async/await</p><p>It feels like I’m finally stepping into 2025 with both feet! (Albeit halfway through the year)</p><p><a href="https://infosec.exchange/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://infosec.exchange/tags/FastAPI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FastAPI</span></a> <a href="https://infosec.exchange/tags/httpx" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>httpx</span></a> <a href="https://infosec.exchange/tags/AsyncIO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncIO</span></a> <a href="https://infosec.exchange/tags/DevLife" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DevLife</span></a></p>
Habr<p>Python asyncio, блокировка цикла событий</p><p>Блокировка event loop довольно серьезная проблема в асинхронных приложениях, потому что приводит к замедлению не конкретного запроса пользователя, а сразу всех запросов пользователей. Так давайте разберемся, что же это значит и, насколько это страшно и для разработчика и для клиентов сервиса.</p><p><a href="https://habr.com/ru/articles/923270/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/923270/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/event_loop" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>event_loop</span></a></p>
Jeffrey04<p><a href="https://kitfucoda.medium.com/my-pygame-evolution-embracing-asyncio-and-immutability-for-scalable-design-84eae4601717" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitfucoda.medium.com/my-pygame</span><span class="invisible">-evolution-embracing-asyncio-and-immutability-for-scalable-design-84eae4601717</span></a></p><p>My journey into graphical application building started unexpectedly after a friend's game jam project piqued my interest. Exploring Python ports of Processing eventually led me to Pygame, a lower-level library that surprisingly sparked my curiosity. What began as a plan to "build a reasonably functional Tic-Tac-Toe version over a weekend" soon revealed the depth of Pygame's foundational nature and the need for custom architectural solutions.</p><p>Pygame's synchronous and non-thread-safe nature posed immediate challenges for building interactive applications. Initial attempts to use asyncio.to_thread led to unexpected SIGSEGV errors, highlighting the need for a different approach. The solution emerged through iterative debugging and a suggestion from my coding companion, the chatbot, to incorporate asyncio.sleep(0). This critical addition allowed asynchronous tasks to finally run effectively, enabling a refactored main loop that separates event processing and display updates.</p><p>Managing shared data and dispatching events concurrently presented its own set of hurdles. Drawing heavily from my experience in JavaScript web development, I designed an immutable application registry, leveraging asyncio.Queue to defer changes to elements and the game state. This approach ensures all updates are processed predictably, avoiding race conditions and making it possible to register and dispatch events across the application in a robust, web-inspired manner.</p><p>As the code matured through refactoring, a clear architectural structure began to emerge. Extracting game-specific logic into a separate module became trivial, and a review with Gemini confirmed that the design could evolve into a reusable mini-framework. The Application dataclass even showed resemblances to an Entity-Component-System, adding a new concept to explore. While time may be limited, the curiosity to further develop this separation and implement web-like system events persists, motivated by a desire to build robust solutions.</p><p><a href="https://hachyderm.io/tags/Pygame" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Pygame</span></a> <a href="https://hachyderm.io/tags/Asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Asyncio</span></a> <a href="https://hachyderm.io/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://hachyderm.io/tags/GameDevelopment" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GameDevelopment</span></a> <a href="https://hachyderm.io/tags/SoftwareArchitecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SoftwareArchitecture</span></a></p>
Habr<p>Оптимизация асинхронного сервиса на Python</p><p>Всем привет! Сегодня хочу поделиться с вами нашим опытом ускорения асинхронного микросервиса на Python примерно на 25%. Я расскажу, какие действия мы предпринимали с командой, что помогло, а что оказалось не особенно полезно с точки зрения ускорения сервиса. Небольшое предисловие: мы в Иви постоянно работаем над тем, чтобы наши сервисы отвечали быстро и их максимальная предельная нагрузка повышалась. В процессе очередного анализа сервисов, мы выяснили, что один из них, о котором пойдет речь в статье, отвечает довольно медленно, учитывая его особенности. И мы решили его ускорять.</p><p><a href="https://habr.com/ru/companies/ivi/articles/920850/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/ivi/arti</span><span class="invisible">cles/920850/</span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/aiohttp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>aiohttp</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>асинхронное_программирование</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D0%BB%D0%B5%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>телеметрия</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>оптимизация</span></a> <a href="https://zhub.link/tags/%D0%B2%D1%80%D0%B5%D0%BC%D1%8F_%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B0" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>время_ответа</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>профилирование</span></a> <a href="https://zhub.link/tags/orjson" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>orjson</span></a></p>
Habr<p>Школы программирования против репетиторов и самообучения</p><p>Решил написать этот пост, т.к. несмотря на некоторое падение интереса к онлайн-обучению, каждый, кто решает освоить для себя новую профессию, сталкивается с выбором, куда направить усилия, а заодно и средства, чтобы это было с максимальной отдачей и не привело к выгоранию.</p><p><a href="https://habr.com/ru/articles/917476/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/917476/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D1%81%D1%82%D0%B5%D0%BF%D0%B8%D0%BA" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>степик</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BD%D0%BB%D0%B0%D0%B9%D0%BD%D0%BA%D1%83%D1%80%D1%81%D1%8B" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>онлайнкурсы</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B5%D0%BF%D0%B5%D1%82%D0%B8%D1%82%D0%BE%D1%80" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>репетитор</span></a> <a href="https://zhub.link/tags/django" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>django</span></a> <a href="https://zhub.link/tags/fastapi" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fastapi</span></a> <a href="https://zhub.link/tags/flask" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>flask</span></a> <a href="https://zhub.link/tags/aiogram" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>aiogram</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>основы_python</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BE%D0%BF_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ооп_программирование</span></a></p>
Rui Carmo<p>Oh $DIVINITY, I wrote (ok, ported) a "plain" <a href="https://mastodon.social/tags/MCP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MCP</span></a> stdio <a href="https://mastodon.social/tags/server" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>server</span></a> to barebones <a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a>, because, well, I was bored: <a href="https://github.com/rcarmo/umcp" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">github.com/rcarmo/umcp</span><span class="invisible"></span></a>. (does sync and <a href="https://mastodon.social/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a>)</p>
TechKeysX<p>Coroutine priming in Python<br><a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://mastodon.social/tags/Coroutines" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Coroutines</span></a> <a href="https://mastodon.social/tags/PythonAsync" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PythonAsync</span></a> <a href="https://mastodon.social/tags/AsyncIO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncIO</span></a> <a href="https://mastodon.social/tags/PythonTips" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PythonTips</span></a> <a href="https://mastodon.social/tags/LearnPython" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>LearnPython</span></a> <a href="https://mastodon.social/tags/PythonTutorial" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>PythonTutorial</span></a> <a href="https://mastodon.social/tags/CodeNewbie" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CodeNewbie</span></a> <a href="https://mastodon.social/tags/DevCommunity" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DevCommunity</span></a> <a href="https://mastodon.social/tags/ProgrammingBasics" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ProgrammingBasics</span></a> <a href="https://mastodon.social/tags/100DaysOfCode" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>100DaysOfCode</span></a> <a href="https://mastodon.social/tags/TechEducation" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TechEducation</span></a> <a href="https://mastodon.social/tags/Asy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Asy</span></a></p>
Habr<p>Разработка Telegram-бота для мониторинга цен на Авито: пошаговое руководство</p><p>Привет, Хабр! Сегодня я расскажу о том, как я разработал Telegram-бота для мониторинга цен на Авито. Бот умеет отслеживать изменения цен в объявлениях и уведомлять пользователей об изменениях. В статье я поделюсь всеми этапами разработки, от проектирования до финальной реализации.</p><p><a href="https://habr.com/ru/articles/912836/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/912836/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/telegram" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>telegram</span></a> <a href="https://zhub.link/tags/bot" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>bot</span></a> <a href="https://zhub.link/tags/%D0%B0%D0%B2%D0%B8%D1%82%D0%BE" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>авито</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B0%D1%80%D1%81%D0%B8%D0%BD%D0%B3" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>парсинг</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>мониторинг</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a></p>
TelegramРазработка Telegram-бота для мониторинга цен на Авито: по...<br><br><a href="https://habr.com/ru/articles/912836/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=912836" rel="nofollow noopener" target="_blank">https://habr.com/ru/articles/912836/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=912836</a><br><br><a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/python" target="_blank">#python</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/telegram" target="_blank">#telegram</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/bot" target="_blank">#bot</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/авито" target="_blank">#авито</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/парсинг" target="_blank">#парсинг</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/мониторинг" target="_blank">#мониторинг</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/asyncio" target="_blank">#asyncio</a><br><br><a href="https://awakari.com/pub-msg.html?id=78cCXY6sCDKCbQKd75HiQlUJwsS&amp;interestId=Telegram" rel="nofollow noopener" target="_blank">Result Details</a>
Krayola 🌹<p>One of the early asyncio implementations. <a href="https://social.afront.org/tags/pyconus" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pyconus</span></a> <a href="https://social.afront.org/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a></p>
Habr<p>HTTP/2 / HTTP/3 и gRPC на Rust: пишем учебный Mini-Transport</p><p>Статья-практикум показывает, как устроены HTTP/2, HTTP/3 (QUIC) и gRPC на самом низком уровне. Вместо толстых библиотек мы пишем минимальный учебный фреймворк «Mini-Transport» на Rust (~600 строк): реализуем кодек HTTP/2-фреймов, упрощённый gRPC-протокол и базовую обёртку над QUIC. В результате получаем рабочий echo-клиент и сервер, которые пересылают «hello ↔ world» через собственноручно собранные фреймы. Разбор сопровождается поясняющими схемами, ссылками на RFC, вариантами дальнейшего развития (HPACK, flow-control, TLS/ALPN) и готовым репозиторием для самостоятельных экспериментов. Материал рассчитан на разработчиков, желающих понять «как всё крутится под капотом» и прокачать навыки низкоуровневой сетевой работы в Rust.</p><p><a href="https://habr.com/ru/articles/906324/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/906324/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/http2" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>http2</span></a> <a href="https://zhub.link/tags/rust" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>rust</span></a> <a href="https://zhub.link/tags/http3" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>http3</span></a> <a href="https://zhub.link/tags/quic" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>quic</span></a> <a href="https://zhub.link/tags/grpc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>grpc</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/tokio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tokio</span></a></p>
OmarEbnElKhattab Hosney<p>🚀 Boost Python Efficiency with asyncio</p><p>Synchronous: Toast 🥪 → wait → Coffee ☕ → wait → Eat.</p><p>Asynchronous: Start Toast 🍞 &amp; Coffee ☕ → Fry Eggs 🍳 → Eat sooner!</p><p>Python's asyncio lets you run tasks concurrently, reducing wait times.</p><p>Key Terms:</p><p>Event Loop: Task scheduler.</p><p>await: Pause &amp; switch tasks.</p><p>Coroutines: Async functions.</p><p><a href="https://me.dm/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://me.dm/tags/Asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Asyncio</span></a> <a href="https://me.dm/tags/AsynchronousProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsynchronousProgramming</span></a></p><p><a href="https://medium.com/@omkamal/a-beginners-guide-to-python-asyncio-db0daf63b8f4?sk=f46ff418fcb123945ad25b7263b06770" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">medium.com/@omkamal/a-beginner</span><span class="invisible">s-guide-to-python-asyncio-db0daf63b8f4?sk=f46ff418fcb123945ad25b7263b06770</span></a></p>
aiohttp<p>Thanks to months of consistent contributions by <br><span class="h-card" translate="no"><a href="https://fosstodon.org/@lysnikolaou" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>lysnikolaou</span></a></span>, all of the mandatory <span class="h-card" translate="no"><a href="https://fosstodon.org/@aio_libs" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>aio_libs</span></a></span> dependencies of <a href="https://fosstodon.org/tags/aiohttp" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>aiohttp</span></a> now ship free-threaded variants of <a href="https://fosstodon.org/tags/wheels" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>wheels</span></a>!</p><p>This unblocks doing the same in aiohttp eventually!</p><p>Find a minute to thank him, will you?</p><p><a href="https://fosstodon.org/tags/aio_libs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>aio_libs</span></a> <a href="https://fosstodon.org/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://fosstodon.org/tags/Packaging" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Packaging</span></a> <a href="https://fosstodon.org/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a></p>
Jeffrey04<p><a href="https://kitfucoda.medium.com/asyncio-task-management-a-hands-on-scheduler-project-bd7b7fe58c7e" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">kitfucoda.medium.com/asyncio-t</span><span class="invisible">ask-management-a-hands-on-scheduler-project-bd7b7fe58c7e</span></a></p><p>Just finished a deep dive into AsyncIO, building an asynchronous task scheduler! It's been a fascinating exploration of tasks, futures, and how to manage both I/O and CPU-bound operations. Real-world examples like API data fetching and complex calculations were used to demonstrate its capabilities.</p><p>Covered task management essentials: cancellation, graceful shutdowns, and building a CLI for interactive control. Tackled tricky AsyncIO parts like error and signal handling, ensuring the scheduler's robustness.</p><p>A key focus was on asyncio.create_task() vs. await, and strategies for managing background tasks and uncaught exceptions. It was a great learning experience.</p><p>If you're into Python and asynchronous programming, this might be of interest! <a href="https://hachyderm.io/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://hachyderm.io/tags/AsyncIO" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsyncIO</span></a> <a href="https://hachyderm.io/tags/AsynchronousProgramming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AsynchronousProgramming</span></a> <a href="https://hachyderm.io/tags/TaskScheduling" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TaskScheduling</span></a> <a href="https://hachyderm.io/tags/getfedihired" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>getfedihired</span></a> <a href="https://hachyderm.io/tags/fedihire" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>fedihire</span></a> <a href="https://hachyderm.io/tags/opentowork" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opentowork</span></a></p>
Habr<p>Параллельные вычисления, конкурентность и асинхронное программирование в Python: обзор для начинающих</p><p>Однопоточные приложения на Python ограничены в производительности: они выполняют задачи последовательно и не используют преимущества многоядерных процессоров. Кроме того, такие программы не справляются с обработкой множества операций одновременно, особенно если речь идет о задачах, связанных с вводом-выводом, например сетевыми запросами или чтением файлов. Производительность можно значительно улучшить, внедрив в код параллельные вычисления, конкурентность или асинхронное программирование. Для этого Python предлагает такие инструменты, как multiprocessing, threading и asyncio.</p><p><a href="https://habr.com/ru/companies/skillfactory/articles/896160/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/skillfac</span><span class="invisible">tory/articles/896160/</span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://zhub.link/tags/multiprocessing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>multiprocessing</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/threading" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>threading</span></a></p>
Habr<p>Как нам удалось упростить жизнь инженера-сметчика и сократить время на разработку сметы в 20 раз</p><p>Если вы инженер-сметчик, то наверняка знаете, что такое ежедневная работа с огромными таблицами и бесконечными спецификациями. Кто-то, возможно, уже смирился с монотонностью, а кто-то разработал свои лайфхаки для ускорения обработки данных. Но сегодня расскажем о новом подходе, который помог нам упростить процесс составления сметы на монтаж системы вентиляции. С чего все начиналось: с типичного дня сметчика Однажды мне поставили задачу — подготовить сметы для нового объекта, включая раздел вентиляции. Как многие сметчики знают, вентиляция — это один из самых трудоемких разделов.</p><p><a href="https://habr.com/ru/articles/896046/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/896046/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/process_tasks" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>process_tasks</span></a> <a href="https://zhub.link/tags/pandas" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>pandas</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asyncio</span></a> <a href="https://zhub.link/tags/math" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>math</span></a></p>