zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#асинхронность

0 posts0 participants0 posts today
Habr<p>Node.js — асинхронность по умолчанию</p><p>Возможно Вам доводилось слышать о том что Node.js идеален для создания веб-серверов. В этой статье я объясню, почему оно так и какие архитектурные принципы заложенные в основу серверного JavaScript, делают его таким подходящим для приложений с высокой интенсивностью ввода/вывода. Узнать почему?</p><p><a href="https://habr.com/ru/articles/890190/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/890190/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/nodejs" class="mention hashtag" rel="tag">#<span>nodejs</span></a> <a href="https://zhub.link/tags/javascript" class="mention hashtag" rel="tag">#<span>javascript</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%BC%D0%B8%D1%81%D1%8B" class="mention hashtag" rel="tag">#<span>промисы</span></a> <a href="https://zhub.link/tags/%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>синхронность</span></a></p>
Habr<p>Под чешуёй асинхронности: from yield to await</p><p>В данной статье мы рассмотрим основы асинхронного программирования в python, фокусируясь на ключевых концепциях и их практическом применении. Мы начнем с изучения генераторов и итераторов — фундаментальных механизмов, лежащих в основе асинхронности python. Затем поговорим о потоках и процессах, чтобы понять, как они соотносятся с асинхронным подходом. Основная цель статьи — создание собственной упрощенной реализации asyncio, включая цикл событий, задачи и примитивы синхронизации. Это позволит глубже понять внутреннее устройство асинхронной разработки в python.</p><p><a href="https://habr.com/ru/articles/889490/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/889490/</span><span class="invisible"></span></a></p><p><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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B" class="mention hashtag" rel="tag">#<span>генераторы</span></a> <a href="https://zhub.link/tags/%D0%B8%D1%82%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B" class="mention hashtag" rel="tag">#<span>итераторы</span></a> <a href="https://zhub.link/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a> <a href="https://zhub.link/tags/cpython" class="mention hashtag" rel="tag">#<span>cpython</span></a> <a href="https://zhub.link/tags/gaio" class="mention hashtag" rel="tag">#<span>gaio</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="tag">#<span>asyncio</span></a></p>
Habr<p>Как оптимизировать производительность API при высокой нагрузке</p><p>В статье мы рассмотрим основные подходы и практики для оптимизации производительности API, применяемые в</p><p><a href="https://habr.com/ru/companies/exolve/articles/879580/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/exolve/a</span><span class="invisible">rticles/879580/</span></a></p><p><a href="https://zhub.link/tags/zabbix_%D0%BC%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3" class="mention hashtag" rel="tag">#<span>zabbix_мониторинг</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>производительность</span></a> <a href="https://zhub.link/tags/logstash" class="mention hashtag" rel="tag">#<span>logstash</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BD%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="tag">#<span>микросервисная_архитектура</span></a> <a href="https://zhub.link/tags/redis" class="mention hashtag" rel="tag">#<span>redis</span></a> <a href="https://zhub.link/tags/rabbitmq" class="mention hashtag" rel="tag">#<span>rabbitmq</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_%D0%BA%D0%BE%D0%B4%D0%B0" class="mention hashtag" rel="tag">#<span>оптимизация_кода</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="tag">#<span>asyncio</span></a> <a href="https://zhub.link/tags/nosql" class="mention hashtag" rel="tag">#<span>nosql</span></a></p>
Habr<p>Нужна ли асинхронщина на проектах: пара наблюдений про Spring и неблокирующее API для самых маленьких</p><p>Всем привет! Я работаю на собственном проекте Максилекта. Это высоконагруженная AdTech платформа, включающая Ad Exchange сервер и сопутствующие компоненты. Но в этой статье речь пойдет не совсем о проекте. Я бы хотел поговорить об асинхронщине в задачах подобного масштаба. Просто на примеры из проекта мне будет удобно ссылаться. Я не буду подробно останавливаться на том, что такое асинхронность. Подход старый, в интернете есть чудовищное количество информации. Но расскажу о некоторых наблюдениях - будет пища для ума в контексте того, стоит ли тащить ее в свои проекты.</p><p><a href="https://habr.com/ru/companies/maxilect/articles/875064/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/maxilect</span><span class="invisible">/articles/875064/</span></a></p><p><a href="https://zhub.link/tags/spring" class="mention hashtag" rel="tag">#<span>spring</span></a> <a href="https://zhub.link/tags/spring_boot" class="mention hashtag" rel="tag">#<span>spring_boot</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</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="tag">#<span>асинхронное_программирование</span></a> <a href="https://zhub.link/tags/tomcat" class="mention hashtag" rel="tag">#<span>tomcat</span></a></p>
Habr<p>Почему джуны путаются в асинхронном коде (и как научиться с ним работать)</p><p>Асинхронный код часто становится камнем преткновения для начинающих разработчиков. Почему функции выполняются не в том порядке, зачем нужны промисы, и что делает async/await? В статье я простыми словами объясняю: - Как работает Event Loop и почему это важно. - Какие ошибки чаще всего допускают джуны при работе с асинхронностью. - Как научиться писать понятный и предсказуемый асинхронный код. Если асинхронность вызывает больше вопросов, чем ответов, загляните в статью - там всё по шагам. 🙂</p><p><a href="https://habr.com/ru/articles/871328/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/871328/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%90%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>Асинхронность</span></a> <a href="https://zhub.link/tags/javascript" class="mention hashtag" rel="tag">#<span>javascript</span></a> <a href="https://zhub.link/tags/event_loop" class="mention hashtag" rel="tag">#<span>event_loop</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%BC%D0%B8%D1%81%D1%8B" class="mention hashtag" rel="tag">#<span>промисы</span></a> <a href="https://zhub.link/tags/callbacks" class="mention hashtag" rel="tag">#<span>callbacks</span></a> <a href="https://zhub.link/tags/%D0%B2%D0%B5%D0%B1%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>вебразработка</span></a> <a href="https://zhub.link/tags/%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0_%D0%BA%D0%BE%D0%B4%D0%B0" class="mention hashtag" rel="tag">#<span>отладка_кода</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%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%D1%8E" class="mention hashtag" rel="tag">#<span>обучение_программированию</span></a> <a href="https://zhub.link/tags/asyncawait" class="mention hashtag" rel="tag">#<span>asyncawait</span></a></p>
Habr<p>Как работать с потоками в JavaScript: оптимизация асинхронных запросов</p><p>Асинхронное программирование — это тема, которая часто вызывает трудности у новичков JS. Неопытные разработчики сталкиваются со множеством вопросов, связанных с обработкой параллельных операций, управлением потоками данных и «адом коллбэков». Тем не менее, понимание и освоение асинхронности является важным шагом на пути к эффективной разработке современных веб-приложений. В этой статье разберем основные инструменты, такие как промисы и async/await, и покажем, как они могут облегчить обработку данных в фоновом режиме и повысить читаемость кода. Привет, Хабр! Меня зовут Олег Волков, я ведущий frontend-разработчик IBS. В этой статье я хочу поделиться выжимкой из книги Кайла Симпсона «Вы не знаете JS. Асинхронная обработка &amp; оптимизация». Лично мне она открыла глаза. Уверен, что другие JS-специалисты найдут ее не менее полезной!</p><p><a href="https://habr.com/ru/companies/ibs/articles/869624/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/ibs/arti</span><span class="invisible">cles/869624/</span></a></p><p><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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/javascript" class="mention hashtag" rel="tag">#<span>javascript</span></a></p>
Habr<p>Управление распределенной командой на GitHub – а что, так можно было?</p><p>Привет, меня зовут Ася Исакова, и я организационный психолог. Возможно, единственный в мире организационный психолог, который умеет создавать пулл-реквесты на GitHub. Как так вышло? Дело в том, что я 2+ года занималась тем, что выстраивала нормальную работу на удаленке без 8 звонков в день для одной распределенной команды, используя GitHub как основной инструмент. Подробности о том, что это, как это было, что получилось и вдруг вам тоже надо, под катом.</p><p><a href="https://habr.com/ru/articles/862962/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/862962/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>удаленное_управление</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BA%D0%BE%D0%BC%D0%BC%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>коммуникация</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%BE%D0%B4%D1%83%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>продуктивность</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BE%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>мотивация</span></a> <a href="https://zhub.link/tags/%D0%B0%D0%B2%D1%82%D0%BE%D0%BD%D0%BE%D0%BC%D0%BD%D0%B0%D1%8F_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0" class="mention hashtag" rel="tag">#<span>автономная_работа</span></a> <a href="https://zhub.link/tags/%D0%BE%D1%80%D0%B3%D0%B0%D0%BD%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%BF%D1%81%D0%B8%D1%85%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>организационная_психология</span></a> <a href="https://zhub.link/tags/%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8" class="mention hashtag" rel="tag">#<span>культура_компании</span></a></p>
Habr<p>BMP Show или о том, как я делал тестовое</p><p>🖤🤍 От цветного к черно-белому: мой путь к созданию вывода и конвертера BMP В этой статье я расскажу, как я решал тестовое задание по конвертации изображений в черно-белый формат с помощью C++ и многопоточности. А еще там есть великая цитата. Читать далее -&gt;</p><p><a href="https://habr.com/ru/articles/847738/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/847738/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a>++ <a href="https://zhub.link/tags/%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>многопоточность</span></a> <a href="https://zhub.link/tags/futures" class="mention hashtag" rel="tag">#<span>futures</span></a> <a href="https://zhub.link/tags/bmp" class="mention hashtag" rel="tag">#<span>bmp</span></a> <a href="https://zhub.link/tags/%D0%BA%D0%BE%D0%BD%D0%B2%D0%B5%D1%80%D1%82%D0%B5%D1%80" class="mention hashtag" rel="tag">#<span>конвертер</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8" class="mention hashtag" rel="tag">#<span>работа_с_изображениями</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4" class="mention hashtag" rel="tag">#<span>консольный_вывод</span></a> <a href="https://zhub.link/tags/%D0%B8%D1%89%D1%83_%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%83" class="mention hashtag" rel="tag">#<span>ищу_работу</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B8%D0%BA%D1%81%D0%B5%D0%BB%D0%B8" class="mention hashtag" rel="tag">#<span>пиксели</span></a></p>
Habr<p>Kotlin Coroutines. От А до Я</p><p>Полный разбор корутинного мира с нуля, который может послужить отличной шпаргалкой на собеседовании ! Разберем разницу между многопоточностью и асинхронностью ; раскроем все основные понятия корутин, параллельно ссылаясь на исходники kotlinx.coroutines; посмотрим их применение на практике и в конце напишем свой собственный CoroutineScope. Let&#39;s go</p><p><a href="https://habr.com/ru/articles/838974/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/838974/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/Kotlin" class="mention hashtag" rel="tag">#<span>Kotlin</span></a> <a href="https://zhub.link/tags/coroutine" class="mention hashtag" rel="tag">#<span>coroutine</span></a> <a href="https://zhub.link/tags/coroutines" class="mention hashtag" rel="tag">#<span>coroutines</span></a> <a href="https://zhub.link/tags/%D0%BA%D0%BE%D1%80%D1%83%D1%82%D0%B8%D0%BD%D1%8B" class="mention hashtag" rel="tag">#<span>корутины</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</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="tag">#<span>асинхронное_программирование</span></a> <a href="https://zhub.link/tags/dispatcher" class="mention hashtag" rel="tag">#<span>dispatcher</span></a> <a href="https://zhub.link/tags/launch" class="mention hashtag" rel="tag">#<span>launch</span></a> <a href="https://zhub.link/tags/async" class="mention hashtag" rel="tag">#<span>async</span></a> <a href="https://zhub.link/tags/deffered" class="mention hashtag" rel="tag">#<span>deffered</span></a></p>
Habr<p>Распределённые вычисления, многопоточность, асинхронность и мультипроцессорность в Python</p><p>Всем привет! Меня зовут Дмитрий Первушин, я лидер Python-компетенций трайба ИСУ в Сбере. Эта статья рассчитана на людей, которые уже знакомы с Python, хотя бы на уровне junior+. Я объясню, какие есть отличия и особенности в многопоточности, асинхронности и мультипроцессорности в Python, где и когда они используются. Как говорится в пословице: «Всё познаётся в сравнении», именно в таком стиле я подготовил примеры. Кроме этого, буду специально делать ошибки и рассматривать неправильные подходы, чтобы можно было сразу разобраться, убедиться и запомнить, почему так делать нельзя и какой другой подход в этом случае нужно использовать.</p><p><a href="https://habr.com/ru/companies/sberbank/articles/829098/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/sberbank</span><span class="invisible">/articles/829098/</span></a></p><p><a href="https://zhub.link/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a> <a href="https://zhub.link/tags/%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>мультипоточность</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%BE%D1%80%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>мультипроцессорность</span></a></p>
Habr<p>Бот мониторинга результатов ЕГЭ с регионального ресурса. Пет-проект за 24 часа</p><p>Всем добрый день! В этом году я являюсь выпускником 11 класса и, соответственно, человеком, который сдает ЕГЭ. Результаты экзаменов обычно приходят не раньше, чем через неделю. При этом их можно отслеживать как минимум на 3 ресурсах: Госуслуги, Checkege (единый портал) и на сайтах региональных центров обработки информации - РЦОИ. Тенденция последних лет показывает, что раньше всего результаты появляются на региональных ресурсах. Поэтому, находясь в томительном ожидании, я решил проанализировать сайт РЦОИ Пермского края.</p><p><a href="https://habr.com/ru/articles/828624/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/828624/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/%D0%B5%D0%B3%D1%8D" class="mention hashtag" rel="tag">#<span>егэ</span></a> <a href="https://zhub.link/tags/telegram_bot" class="mention hashtag" rel="tag">#<span>telegram_bot</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>образование</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a></p>
Habr<p>Простой пример использования Symfony Messenger</p><p>Пришёл и мой черёд асинхронно и многопоточно средствами PHP кое-что пообрабатывать… И я, естественно, вспомнил про компонент Messenger фреймворка Symfony. Ранее я никогда Symfony Messenger не использовал. Чтобы понять, как с ним работать, я пытался найти какой-то простой, законченный и самодостаточный пример, понятный даже чайнику, но мне это не удалось... Всё, что находилось, было либо слишком сложным, либо это были какие-то отдельные куски кода, понятные только тем, кто уже работал с Symfony Messenger. К тому же всё, что находилось, в основном было &quot;заточено&quot; либо под Redis, либо под RabbitMQ. установка которых как-то немного перебор для учебного примера… В-общем, я создал и выложил на GitHub такой простой, законченный и самодостаточный пример работы Symfony Messenger совместно с Symfony Console. Посмотреть пример работы Symfony Messenger</p><p><a href="https://habr.com/ru/articles/817425/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/817425/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/symfonymessenger" class="mention hashtag" rel="tag">#<span>symfonymessenger</span></a> <a href="https://zhub.link/tags/symfony_console" class="mention hashtag" rel="tag">#<span>symfony_console</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>многопоточность</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9" class="mention hashtag" rel="tag">#<span>многопоточный</span></a> <a href="https://zhub.link/tags/doctrine" class="mention hashtag" rel="tag">#<span>doctrine</span></a> <a href="https://zhub.link/tags/sqlite" class="mention hashtag" rel="tag">#<span>sqlite</span></a> <a href="https://zhub.link/tags/sqlite3" class="mention hashtag" rel="tag">#<span>sqlite3</span></a></p>
Habr<p>RxJs для самых маленьких</p><p>В этой статье мы подробно рассмотрим такую библиотеку как RxJs. Разберем несколько простых примеров и поймем что такое поточность в программировании.</p><p><a href="https://habr.com/ru/articles/816755/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/816755/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/RxJs" class="mention hashtag" rel="tag">#<span>RxJs</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%BE%D1%82%D0%BE%D0%BA" class="mention hashtag" rel="tag">#<span>поток</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>потоки</span></a> <a href="https://zhub.link/tags/%D0%B0%D0%BD%D0%B3%D1%83%D0%BB%D1%8F%D1%80" class="mention hashtag" rel="tag">#<span>ангуляр</span></a></p>
Habr<p>Суслик и пингвин: кодим на Go под Linux</p><p>Язык ядра Linux, его модулей и утилит написаны на языке C. Хоть он и является старым языком и прародителем многих других, но его до сих пор используют. В экосистему линукса постепенно проникают и более молодые языки — например, Rust. Но сегодня мы поговорим об детище Google — GoLang. Я много пишу про этот замечательный язык и в этой статье предлагаю изучить основы системного программирования на Go, мы изучим как работать с ядром, юзерспейсом линукса. Расскажу об стандарте POSIX, а также узнаем, как сочетать C и Go-код.</p><p><a href="https://habr.com/ru/articles/811587/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/811587/</span><span class="invisible"></span></a></p><p><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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BA%D0%BE%D1%80%D1%83%D1%82%D0%B8%D0%BD%D1%8B" class="mention hashtag" rel="tag">#<span>корутины</span></a> <a href="https://zhub.link/tags/%D0%B3%D0%BE%D1%80%D1%83%D1%82%D0%B8%D0%BD%D1%8B" class="mention hashtag" rel="tag">#<span>горутины</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B" class="mention hashtag" rel="tag">#<span>сопрограммы</span></a> <a href="https://zhub.link/tags/open_source" class="mention hashtag" rel="tag">#<span>open_source</span></a> <a href="https://zhub.link/tags/linux" class="mention hashtag" rel="tag">#<span>linux</span></a> <a href="https://zhub.link/tags/go" class="mention hashtag" rel="tag">#<span>go</span></a> <a href="https://zhub.link/tags/golang" class="mention hashtag" rel="tag">#<span>golang</span></a> <a href="https://zhub.link/tags/%D0%BD%D0%B8%D0%B7%D0%BA%D0%BE%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B2%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="tag">#<span>низкоуровневое_программирование</span></a> <a href="https://zhub.link/tags/%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>мультипоточность</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B0%D1%80%D0%B0%D0%BB%D0%BB%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>параллельность</span></a> <a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a> <a href="https://zhub.link/tags/C" class="mention hashtag" rel="tag">#<span>C</span></a>++</p>
Habr<p>Async/await. Куда делся thread. Инверсия асинхронности. Разоблачение мистификации</p><p>В прошлый раз мы разобрали пример , когда асинхронная операция использует дополнительный поток. Этот пример многим показался провокационным и даже вредным, что для меня выглядит достаточно странным. Насколько я понял основной претензией является то, что этот пример для многих как бы отрицает «экономное использование потоков», как это сформулировано например здесь-«metanit: Асинхронное программирование» . Конечно, многие обиделись на меня за то, что я посмел возражать признанному авторитету, который вынес в заголовок своей очень известной работы фразу There is no thread (Там нет потока) ведь хорошо известно, что: «нет пророка в своем отечестве», и, видимо, быть не должно, но это все эмоции. Давайте я покажу, как преобразовать мой пример, чтобы он продемонстрировал не только то самое «экономное использование потоков», но и откуда оно берется.</p><p><a href="https://habr.com/ru/articles/802479/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/802479/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/async" class="mention hashtag" rel="tag">#<span>async</span></a>/await <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</span></a># <a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</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="tag">#<span>асинхронное_программирование</span></a></p>
Habr<p>[Перевод] Xv6: учебная Unix-подобная ОС. Глава 5. Прерывания и драйверы устройств</p><p>Драйвер управляет устройством - настраивает, отправляет команды, обрабатывает прерывания и общается с процессами, которые ожидают завершения ввода-вывода. Код драйвера зависит от конкретного устройства, поэтому изучайте документацию на устройство, чтобы понять код драйвера. Устройство прерывает процессор, когда требует внимания. Обработчик прерывания опознает устройство и вызовет процедуру драйвера. В xv6 это делает процедура devintr . Файл kernel/console.c содержит код драйвера терминала. Драйвер обрабатывает символы из последовательного порта UART на RISC-V, которые человек вводит на клавиатуре. QEMU эмулирует микросхему 16550 UART и подключает клавиатуру и экран к UART. На реальном компьютере 16550 управляет портом RS232 , который работает с терминалом или другим компьютером. Драйвер накапливает символы в кольцевом буфере cons.buf . Индекс cons.r указывает на первый символ, который прочтет функция consoleread . Буфер хранит строки символов, а индекс cons.w указывает на начало последней строки, которую еще вводит человек. Индекс cons.e указывает позицию курсора в последней строке для ввода следующего символа.</p><p><a href="https://habr.com/ru/articles/795735/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/795735/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/xv6" class="mention hashtag" rel="tag">#<span>xv6</span></a> <a href="https://zhub.link/tags/%D0%BF%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>прерывания</span></a> <a href="https://zhub.link/tags/%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5%D1%80" class="mention hashtag" rel="tag">#<span>драйвер</span></a> <a href="https://zhub.link/tags/%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0" class="mention hashtag" rel="tag">#<span>операционная_система</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%B2%D0%B2%D0%BE%D0%B4%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4" class="mention hashtag" rel="tag">#<span>вводвывод</span></a> <a href="https://zhub.link/tags/uart" class="mention hashtag" rel="tag">#<span>uart</span></a> <a href="https://zhub.link/tags/riscv" class="mention hashtag" rel="tag">#<span>riscv</span></a> <a href="https://zhub.link/tags/unix" class="mention hashtag" rel="tag">#<span>unix</span></a> <a href="https://zhub.link/tags/%D1%82%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB" class="mention hashtag" rel="tag">#<span>терминал</span></a></p>
Habr<p>Ты наконец-то поймешь асинхронность в JS</p><p>Привет, друзья! Сегодня мы поговорим о том, что такое асинхронность в JavaScript и как она работает. Это одна из тех вещей, которые кажутся сложными, но на самом деле довольно просты, как только разберешься.</p><p><a href="https://habr.com/ru/articles/794250/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/794250/</span><span class="invisible"></span></a></p><p><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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8" class="mention hashtag" rel="tag">#<span>микрозадачи</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B8" class="mention hashtag" rel="tag">#<span>макрозадачи</span></a></p>
Habr<p>Еще раз про асинхронную машину состояний и где именно там аллокации</p><p>Несмотря на то, что про async/await уже было сказано много слов и записано множество докладов, тем не менее, в своей практике преподавания и наставничества, я часто сталкиваюсь с недопониманием устройства async/await даже у разработчиков уровня Middle+. В данной статье мы подробно рассмотрим машину состояний , сгенерированную компилятором из асинхронного метода для понимания принципа работы асинхронности в C#, разберемся где именно там аллокации и порешаем задачи для самопроверки. Если вы уже сто раз видели как выглядит асинхронная машина состояний, но все равно недопонимаете ее, тогда эта статья для вас.</p><p><a href="https://habr.com/ru/articles/791086/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/791086/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/async" class="mention hashtag" rel="tag">#<span>async</span></a>/await <a href="https://zhub.link/tags/net" class="mention hashtag" rel="tag">#<span>net</span></a> <a href="https://zhub.link/tags/c" class="mention hashtag" rel="tag">#<span>c</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</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="tag">#<span>асинхронное_программирование</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>собеседования</span></a></p>
Habr<p>Асинхронный python без головной боли (часть 3)<br />Ну вот и пришла пора погрузиться в недра asyncio и подробнее познакомиться с циклом событий. С его помощью мы научимся писать собственные асинхронные веб-серверы, создавать асинхронные драйверы внешних устройств и справляться с вычислительно-затратными задачами в асинхронных приложениях. И снова здравствуйте<br /><a href="https://zhub.link/tags/asyncio" class="mention hashtag" rel="tag">#<span>asyncio</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%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/python" class="mention hashtag" rel="tag">#<span>python</span></a><br /><a href="https://habr.com/ru/articles/774582/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/774582/</span><span class="invisible"></span></a></p>