🦀 Лучшая стратегия учить Rust - читать сильный production-код
Один из самых быстрых способов прокачаться в Rust:
не только “учебники”, а разбор реальных библиотек и паттернов.
Нашёл отличный code-dive по uv (Python package manager) и его OnceMap - это пример того, как в настоящем async Rust:
✅ избегают дублирования работы
✅ правильно синхронизируют конкурентные запросы
✅ и не ловят тонкие race-condition’ы
Что там интересного:
• DashMap - конкурентная hashmap для многопоточности
• Notify - “паркуем” ожидание и будим нужных воркеров
• race-ошибка решена через pin (важный нюанс в async)
https://codepointer.substack.com/p/uv-oncemap-rust-pattern-for-running
Один из самых быстрых способов прокачаться в Rust:
не только “учебники”, а разбор реальных библиотек и паттернов.
Нашёл отличный code-dive по uv (Python package manager) и его OnceMap - это пример того, как в настоящем async Rust:
✅ избегают дублирования работы
✅ правильно синхронизируют конкурентные запросы
✅ и не ловят тонкие race-condition’ы
Что там интересного:
• DashMap - конкурентная hashmap для многопоточности
• Notify - “паркуем” ожидание и будим нужных воркеров
• race-ошибка решена через pin (важный нюанс в async)
https://codepointer.substack.com/p/uv-oncemap-rust-pattern-for-running
👍39❤7🔥4🥰2🤗1
Forwarded from Machinelearning
Media is too big
VIEW IN TELEGRAM
Гендир Cursor, Майкл Труэлл, запостил в Х крутую тайм-лапс визуализацию процесса создания браузера роем агентов, о котором мы рассказывали на днях.
@ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤9🔥6🥱5🤷♂2🥰2
🚀 Алгоритм рекомендаций для "For You" на X
Этот репозиторий содержит ядро системы рекомендаций, которая формирует ленту "For You". Алгоритм объединяет контент из сети (посты от подписок) и внешний контент, используя модель трансформера Grok для ранжирования.
🚀 Основные моменты:
- Интеграция постов из сети и глобального корпуса.
- Использует Grok для предсказания вероятности вовлеченности.
- Упрощенная архитектура без ручных настроек и эвристик.
📌 GitHub: https://github.com/xai-org/x-algorithm
Этот репозиторий содержит ядро системы рекомендаций, которая формирует ленту "For You". Алгоритм объединяет контент из сети (посты от подписок) и внешний контент, используя модель трансформера Grok для ранжирования.
🚀 Основные моменты:
- Интеграция постов из сети и глобального корпуса.
- Использует Grok для предсказания вероятности вовлеченности.
- Упрощенная архитектура без ручных настроек и эвристик.
📌 GitHub: https://github.com/xai-org/x-algorithm
❤19👍4🔥1🥰1
🦀 Rust 1.93.0 вышел (22 января 2026) - чем интересен релиз
В свежем релизе упор не на “громкие фичи”, а на практичные улучшения для продакшена и low-level кода.
Главное:
1) Обновили musl до 1.2.5
Теперь
Это заметно улучшает DNS-резолвер (особенно на больших DNS-записях и рекурсивных серверах), а значит - более надёжные статически собранные Linux-бинарники с сетью.
2) Глобальный аллокатор теперь может безопасно использовать TLS
Rust 1.93 меняет внутренности std так, чтобы кастомные глобальные аллокаторы могли использовать:
-
-
без проблем с реэнтерабельностью (std временно уходит на system allocator).
3)
Теперь не нужно дублировать весь
Можно делать так:
#[cfg(target_feature = "sse2")]
... прямо на строках внутри
4) Стабилизировали пачку API
Самое заметное:
-
-
- методы
-
- удобные методы для массивов (`as_array`, `as_mut_array`)
- несколько unchecked операций для int типов
Запускаем:
$ rustup update stable
📌 Полный релиз: https://blog.rust-lang.org/2026/01/22/Rust-1.93.0/
@rust_code
В свежем релизе упор не на “громкие фичи”, а на практичные улучшения для продакшена и low-level кода.
Главное:
1) Обновили musl до 1.2.5
Теперь
*-linux-musl таргеты поставляются с musl 1.2.5.Это заметно улучшает DNS-резолвер (особенно на больших DNS-записях и рекурсивных серверах), а значит - более надёжные статически собранные Linux-бинарники с сетью.
2) Глобальный аллокатор теперь может безопасно использовать TLS
Rust 1.93 меняет внутренности std так, чтобы кастомные глобальные аллокаторы могли использовать:
-
thread_local!-
std::thread::currentбез проблем с реэнтерабельностью (std временно уходит на system allocator).
3)
cfg внутри asm!Теперь не нужно дублировать весь
asm! блок ради одной условной инструкции.Можно делать так:
#[cfg(target_feature = "sse2")]
... прямо на строках внутри
asm!.4) Стабилизировали пачку API
Самое заметное:
-
String::into_raw_parts-
Vec::into_raw_parts- методы
MaybeUninit (assume_init_*)-
std::fmt::from_fn / FromFn- удобные методы для массивов (`as_array`, `as_mut_array`)
- несколько unchecked операций для int типов
Запускаем:
$ rustup update stable
📌 Полный релиз: https://blog.rust-lang.org/2026/01/22/Rust-1.93.0/
@rust_code
👍28🔥22❤11🥰1🐳1💔1🤗1
🚀 Погружение в "небезопасный" Rust
Corroded предлагает альтернативный взгляд на Rust, позволяя использовать "небезопасные" паттерны для оптимизации кода. Этот репозиторий демонстрирует, как обойти ограничения компилятора, предоставляя инструменты для работы с указателями, памятью и многопоточностью без традиционных предостережений.
🚀 Основные моменты:
- Использование unsafe блоков для повышения производительности.
- Удаление ограничений на указатели и ссылки.
- Работа с неинициализированной памятью и "потерянными" указателями.
- Поддержка многопоточности без синхронизации.
📌 GitHub: https://github.com/buyukakyuz/corroded
#rust
Corroded предлагает альтернативный взгляд на Rust, позволяя использовать "небезопасные" паттерны для оптимизации кода. Этот репозиторий демонстрирует, как обойти ограничения компилятора, предоставляя инструменты для работы с указателями, памятью и многопоточностью без традиционных предостережений.
🚀 Основные моменты:
- Использование unsafe блоков для повышения производительности.
- Удаление ограничений на указатели и ссылки.
- Работа с неинициализированной памятью и "потерянными" указателями.
- Поддержка многопоточности без синхронизации.
📌 GitHub: https://github.com/buyukakyuz/corroded
#rust
❤9🔥6🥰2😱2🤪2🤯1💔1
🛡️ Принесите безопасность Rust в C++
Rusty-cpp — это статический анализатор, который применяет модель владения Rust к коду C++. Он помогает выявлять проблемы с безопасностью памяти на этапе компиляции, предотвращая ошибки, такие как использование после перемещения и двойное освобождение. Проект предлагает простые аннотации для активации проверки безопасности.
🚀 Основные моменты:
- Статический анализатор для C++ с правилами заимствования Rust
- Обнаружение ошибок использования памяти на этапе компиляции
- Поддержка безопасных типов и идиом Rust
- Простота интеграции в существующие кодовые базы
📌 GitHub: https://github.com/shuaimu/rusty-cpp
Rusty-cpp — это статический анализатор, который применяет модель владения Rust к коду C++. Он помогает выявлять проблемы с безопасностью памяти на этапе компиляции, предотвращая ошибки, такие как использование после перемещения и двойное освобождение. Проект предлагает простые аннотации для активации проверки безопасности.
🚀 Основные моменты:
- Статический анализатор для C++ с правилами заимствования Rust
- Обнаружение ошибок использования памяти на этапе компиляции
- Поддержка безопасных типов и идиом Rust
- Простота интеграции в существующие кодовые базы
📌 GitHub: https://github.com/shuaimu/rusty-cpp
🔥28🤣12👍10❤7😁3❤🔥1🙈1
🦀 Rust stdlib на GPU 🤯
VectorWare показали, как они запускают стандартную библиотеку Rust прямо на GPU.
И самое кайфовое - разработчики могут писать сложные high-performance приложения,
используя привычные Rust-абстракции, без боли с
То есть:
✅ нормальный Rust-стек
✅ familiar API
✅ меньше костылей
✅ больше скорости и реальной GPU-мощи
Если ты следишь за Rust + GPGPU - это прям сильный шаг к тому, чтобы писать GPU-код как обычный Rust.
Статья: https://vectorware.com/blog/rust-std-on-gpu/
VectorWare показали, как они запускают стандартную библиотеку Rust прямо на GPU.
И самое кайфовое - разработчики могут писать сложные high-performance приложения,
используя привычные Rust-абстракции, без боли с
#![no_std].То есть:
✅ нормальный Rust-стек
✅ familiar API
✅ меньше костылей
✅ больше скорости и реальной GPU-мощи
Если ты следишь за Rust + GPGPU - это прям сильный шаг к тому, чтобы писать GPU-код как обычный Rust.
Статья: https://vectorware.com/blog/rust-std-on-gpu/
🔥43❤14👍4🥰3🤗1
🐄 Секретная суперсила Rust: `Cow` (Clone-on-Write)
Если ты пишешь на Rust и постоянно выбираешь между:
- взять
- или
…то
Идея простая:
- пока строку можно просто читать - она хранится как Borrowed (`&str`)
- если нужно изменить - Rust делает копию только в этот момент и переводит в Owned (`String`)
То есть копирование происходит лениво и строго по необходимости.
Где
- парсинг и нормализация текста
- чистка строк без лишних аллокаций
- API, где иногда достаточно ссылки, а иногда нужна новая строка
- Serde/конвертации, где важна скорость
Ощущается как магия:
ты пишешь код “как удобно”, а под капотом Rust экономит память и CPU.
https://deterministic.space/secret-life-of-cows.html
Если ты пишешь на Rust и постоянно выбираешь между:
- взять
&str (быстро, без аллокаций)- или
String (гибко, но дорого)…то
Cow - это третья опция, о которой многие забывают.Cow (Clone-on-Write) - тип, который позволяет переиспользовать данные без копирования, пока это возможно.Идея простая:
- пока строку можно просто читать - она хранится как Borrowed (`&str`)
- если нужно изменить - Rust делает копию только в этот момент и переводит в Owned (`String`)
То есть копирование происходит лениво и строго по необходимости.
Где
Cow реально спасает:- парсинг и нормализация текста
- чистка строк без лишних аллокаций
- API, где иногда достаточно ссылки, а иногда нужна новая строка
- Serde/конвертации, где важна скорость
Ощущается как магия:
ты пишешь код “как удобно”, а под капотом Rust экономит память и CPU.
https://deterministic.space/secret-life-of-cows.html
❤49🤔10👍3🥰2🏆2
🦀 Что на самом деле такое Mutex - не «штука, которая блокирует», а как он работает изнутри?
Мара Бос в книге Rust Atomics and Locks буквально строит мьютекс с нуля шаг за шагом.
Показывает, как устроены атомики, блокировки, спинлоки, очереди ожидания и почему всё это вообще работает.
Это, честно, одна из лучших книг, что я прочитал в 2025.
После неё начинаешь по-другому смотреть на конкурентность не как на магию, а как на аккуратную инженерную конструкцию.
Если хотите понять Rust-конкурентность по-настоящему, вот отличный кусочек книги, где он строит лок руками:
https://marabos.nl/atomics/building-locks.html
Мара Бос в книге Rust Atomics and Locks буквально строит мьютекс с нуля шаг за шагом.
Показывает, как устроены атомики, блокировки, спинлоки, очереди ожидания и почему всё это вообще работает.
Это, честно, одна из лучших книг, что я прочитал в 2025.
После неё начинаешь по-другому смотреть на конкурентность не как на магию, а как на аккуратную инженерную конструкцию.
Если хотите понять Rust-конкурентность по-настоящему, вот отличный кусочек книги, где он строит лок руками:
https://marabos.nl/atomics/building-locks.html
👍28❤14🥰3👏1🤗1
📌 Vercel Agent Browser - интервьюируемые ассистенты для браузерных приложений
Это экспериментальный SDK от команды Vercel, который позволяет создавать интерактивных агентов прямо внутри браузера. Агент может выполнять действия, понимать контекст, управлять состоянием UI и комбинировать LLM-модели с событиями и логикой фронтенда.
🔥 Что делает Agent Browser:
• Позволяет интегрировать большие языковые модели прямо в браузерные интерфейсы.
• Агент может опрашивать страницу, читать DOM, реагировать на события пользователя.
• Обеспечивает контекстный доступ к состоянию приложения.
• Позволяет модели влиять на UI, управлять данными, взаимодействовать с пользователем “по-человечески”.
• Поддерживает плагинную архитектуру — добавляй свои обработчики задач и действий.
💡 Примеры кейсов:
✅ Автогенерация изменений интерфейса на основе текстовых команд
✅ Интеллектуальные помощники, которые понимают текущую страницу
✅ Автоматизация рутины в браузерных приложениях
✅ Комбинация событий пользователя + LLM логики в одном потоке
📌 Почему это важно:
Раньше браузерные ассистенты были ограничены простыми chat UI или webhook-ами. Agent Browser даёт полноценного агента, который может читать/писать в браузерном окружении, опрашивать DOM, слушать события, управлять состоянием и контекстом — это новый уровень взаимодействия.
👉 Если работаешь с frontend + LLM — обязательно глянуть.
🔗 Репозиторий: https://github.com/vercel-labs/agent-browser
Это экспериментальный SDK от команды Vercel, который позволяет создавать интерактивных агентов прямо внутри браузера. Агент может выполнять действия, понимать контекст, управлять состоянием UI и комбинировать LLM-модели с событиями и логикой фронтенда.
🔥 Что делает Agent Browser:
• Позволяет интегрировать большие языковые модели прямо в браузерные интерфейсы.
• Агент может опрашивать страницу, читать DOM, реагировать на события пользователя.
• Обеспечивает контекстный доступ к состоянию приложения.
• Позволяет модели влиять на UI, управлять данными, взаимодействовать с пользователем “по-человечески”.
• Поддерживает плагинную архитектуру — добавляй свои обработчики задач и действий.
💡 Примеры кейсов:
✅ Автогенерация изменений интерфейса на основе текстовых команд
✅ Интеллектуальные помощники, которые понимают текущую страницу
✅ Автоматизация рутины в браузерных приложениях
✅ Комбинация событий пользователя + LLM логики в одном потоке
📌 Почему это важно:
Раньше браузерные ассистенты были ограничены простыми chat UI или webhook-ами. Agent Browser даёт полноценного агента, который может читать/писать в браузерном окружении, опрашивать DOM, слушать события, управлять состоянием и контекстом — это новый уровень взаимодействия.
👉 Если работаешь с frontend + LLM — обязательно глянуть.
🔗 Репозиторий: https://github.com/vercel-labs/agent-browser
👍6❤3🔥2🥰1
Выпуск Rust Coreutils 0.6.0, повысивший совместимость с GNU Coreutils с 87% до 96%
Опубликован выпуск проекта uutils coreutils 0.6.0 (Rust Coreutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, среди прочего способной работать на платформах Windows, Redox и Fuchsia.
https://opennet.ru/64730/
Опубликован выпуск проекта uutils coreutils 0.6.0 (Rust Coreutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более ста утилит, включая sort, cat, chmod, chown, chroot, cp, date, dd, echo, hostname, id, ln и ls. Целью проекта является создание кроссплатформенной альтернативной реализации Coreutils, среди прочего способной работать на платформах Windows, Redox и Fuchsia.
https://opennet.ru/64730/
👍33🔥12❤9😁3❤🔥1🥰1🖕1🤗1
Ты научишься делать те, которые живут в проде.
Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:
• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов
Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.
В итоге ты сможешь:
• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных
Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.
🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱12🥴8❤2🔥2👍1🏆1🍾1
🦀 Пишем блочные устройства в user space на Rust - теперь это реально
В Linux 6+ появился новый фреймворк ublk, который позволяет создавать виртуальные блочные устройства (block devices) прямо в user space, без написания драйвера в ядре.
То есть можно сделать свой “диск”:
- из файла
- из сети
- из кастомного storage
- с логикой кеширования/сжатия/шифрования
и всё это - обычным приложением, а не kernel-модулем.
Автор статьи показывает, как работает ublk на уровне ядра и интерфейсов, а затем демонстрирует использование на Rust - с PoC-проектом blkchnkr.
Почему это важно:
- меньше боли с kernel-разработкой
- проще отлаживать и тестировать
- Rust идеально подходит для таких системных задач: безопасность памяти + высокая производительность
Если ты интересуешься storage/OS-dev - это один из самых интересных новых API в Linux за последнее время.
https://jpospisil.com/posts/2026-01-13-creating-virtual-block-devices-with-ublk
#rust #rustlang #linux
В Linux 6+ появился новый фреймворк ublk, который позволяет создавать виртуальные блочные устройства (block devices) прямо в user space, без написания драйвера в ядре.
То есть можно сделать свой “диск”:
- из файла
- из сети
- из кастомного storage
- с логикой кеширования/сжатия/шифрования
и всё это - обычным приложением, а не kernel-модулем.
Автор статьи показывает, как работает ublk на уровне ядра и интерфейсов, а затем демонстрирует использование на Rust - с PoC-проектом blkchnkr.
Почему это важно:
- меньше боли с kernel-разработкой
- проще отлаживать и тестировать
- Rust идеально подходит для таких системных задач: безопасность памяти + высокая производительность
Если ты интересуешься storage/OS-dev - это один из самых интересных новых API в Linux за последнее время.
https://jpospisil.com/posts/2026-01-13-creating-virtual-block-devices-with-ublk
#rust #rustlang #linux
❤🔥20👍14❤8🥰1🤗1
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇
🚀 Rust Jobs: t.me/rustjobss
👣 Rust: t.me/books_englishhh
🖥 ИИ: t.me/ai_machinelearning_big_data
🖥 Python: t.me/pythonl
🖥 Linux: t.me/linuxacademiya
🖥 C++ t.me/cpluspluc
🖥 Docker: t.me/DevopsDocker
🖥 Хакинг: t.me/linuxkalii
🖥 Devops: t.me/DevOPSitsec
👣 Golang: t.me/Golang_google
🖥 Аналитика: t.me/data_analysis_ml
🖥 Javanoscript: t.me/javanoscriptv
🖥 C#: t.me/csharp_ci
🖥 Java: t.me/javatg
🖥 Базы данных: t.me/sqlhub
🤖 Технологии: t.me/vistehno
💰 Экономика и инвестиции в ИИ t.me/financeStable
💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi
🖥 Chatgpt бот в тг: t.me/Chatgpturbobot
📚 Бесплатные ит-книги: https://news.1rj.ru/str/addlist/HwywK4fErd8wYzQy
🖥 Подборка по Golang: https://news.1rj.ru/str/addlist/MUtJEeJSxeY2YTFi
⚡️ Лучшие ИИ ресурсы: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
🚀 Rust Jobs: t.me/rustjobss
💰 Экономика и инвестиции в ИИ t.me/financeStable
💼 Актуальные вакансии: t.me/addlist/_zyy_jQ_QUsyM2Vi
📚 Бесплатные ит-книги: https://news.1rj.ru/str/addlist/HwywK4fErd8wYzQy
⚡️ Лучшие ИИ ресурсы: https://news.1rj.ru/str/addlist/2Ls-snqEeytkMDgy
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3
В это статье автор критикует распространённую практику обработки ошибок:
мы ловим ошибку, оборачиваем (или не оборачиваем) и швыряем её выше по стеку - без смысла и контекста.
Проблемы, которые обсуждаются:
• стандартная цепочка ошибок (как в Rust) подходит не для всех случаев —
иногда нужна структурированная информация об ошибках, а не просто цепочка.
• стек вызовов (backtrace) показывает *где* ошибка возникла, но не *почему* и *как* её обрабатывать.
• популярные библиотеки (`thiserror`, `anyhow`) ориентированы на удобство,
но дают мало информации о том, что делать с ошибкой дальше.
Основная идея:
❗ ошибки должны быть спроектированы под действие — они должны говорить не только *что упало*,
но и *что с этим делать* (например: можно ли повторить, игнорировать, логировать и т.п.).
То есть автор предлагает думать о назначении ошибки, а не просто пробрасывать её дальше.
👉 Важно для разработчиков, которые хотят делать более понятные, структурированные и машинно-обрабатываемые ошибки.
fast.github.io/blog/stop-forwarding-errors-start-designing-them/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥9❤6🥰1🤗1
Это репозиторий с реализацией DensePose через Wi-Fi-сигналы — то есть попытка получать плотные представления (DensePose) тела людей на основе Wi-Fi-данных, а не обычной камеры.
Такая идея может использоваться для анализа движения через радиосигналы в помещении, без видео-камер, с акцентом на приватность.
Если тебе интересны нестандартные подходы к компьютерному зрению, беспроводным сигналам и сенсорике без камер — обязательно посмотри.
🔗 Есть интересный проект: https://github.com/ruvnet/wifi-densepose
Такая идея может использоваться для анализа движения через радиосигналы в помещении, без видео-камер, с акцентом на приватность.
Если тебе интересны нестандартные подходы к компьютерному зрению, беспроводным сигналам и сенсорике без камер — обязательно посмотри.
🔗 Есть интересный проект: https://github.com/ruvnet/wifi-densepose
🔥15❤3🥰2😁1
Const generics позволяют передавать константы на этапе компиляции прямо в типы.
Это особенно полезно для работы с массивами и матрицами, где размеры должны быть строго фиксированы.
Пример - типобезопасная матрица:
struct Matrix<const ROWS: usize, const COLS: usize> {
data: [[f32; COLS]; ROWS],
}
let mat: Matrix<2, 2> = Matrix {
data: [[1.0, 2.0], [3.0, 4.0]],
};
let value = mat.data[1][0]; // 3.0
#rust #rustlang #junior #rusttip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥7❤3🥰1🤗1
🦀 Как устроен async «под капотом» в Rust — на пальцах и без магии
В статье разобрано, как написать микро async-runtime с нуля на macOS, используя
Что он реализует
Минимальный, но полноценный стек:
- event loop — сердце рантайма
- poller — ждёт события от ОС
- reactor — связывает I/O-события и задачи
- tasks — единицы работы (future’ы)
- wakers — механизм «разбудить задачу»
- executor — запускает и перепланирует задачи
Обычно мы используем готовые рантаймы вроде или, не задумываясь, как они работают.
Здесь же видно:
- как
- как future переходит из Pending в Ready
- как waker возвращает задачу в очередь
- как executor крутит цикл выполнения
После такого разборa
Статья: https://michaelhelvey.dev/posts/rust_async_runtime
michaelhelvey.dev/posts/rust_async_runtime
#rust #rustlang
В статье разобрано, как написать микро async-runtime с нуля на macOS, используя
kqueue. Отличный материал, чтобы наконец понять, что происходит под async/await.Что он реализует
Минимальный, но полноценный стек:
- event loop — сердце рантайма
- poller — ждёт события от ОС
- reactor — связывает I/O-события и задачи
- tasks — единицы работы (future’ы)
- wakers — механизм «разбудить задачу»
- executor — запускает и перепланирует задачи
Обычно мы используем готовые рантаймы вроде или, не задумываясь, как они работают.
Здесь же видно:
- как
kqueue сигналит о готовности сокета - как future переходит из Pending в Ready
- как waker возвращает задачу в очередь
- как executor крутит цикл выполнения
После такого разборa
async в Rust перестаёт быть «чёрной коробкой».Статья: https://michaelhelvey.dev/posts/rust_async_runtime
michaelhelvey.dev/posts/rust_async_runtime
#rust #rustlang
❤10👍5🥰5🤗2
🔥На Stepik вышел курс: Linux: полный апгрейд твоих скиллов
Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?
Без глубокого знания базы ты не инженер - ты просто пользователь.
🔹 В курсе ты:
- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.
💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.
🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.
🚀 24 часа действует скидка 30%
👉 Учиться со скидкой
Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?
Без глубокого знания базы ты не инженер - ты просто пользователь.
🔹 В курсе ты:
- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.
💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.
🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.
🚀 24 часа действует скидка 30%
👉 Учиться со скидкой
❤4👍3🔥1🥰1🤗1