8052
Rust programming language По всем вопросам- @haarrp @ai_machinelearning_big_data - машинное обучение @programming_books_it - бесплатные it книги @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 #VRHSZ
🦀 Вышел rustup 1.29.0
Обновление получилось действительно полезным - без громких обещаний, зато с улучшениями, которые заметны в реальной работе.
Что нового:
- rustup update стал быстрее благодаря параллельной загрузке и распаковке
- появилась официальная поддержка Solaris - sparcv9 и x86_64
- rustup теперь автоматически настраивает PATH для tcsh и xonsh
- если у вас уже есть свой rust-analyzer в PATH, rustup будет использовать именно его - удобно для Neovim и Helix
- к команде присоединился новый участник - @FranciscoTGouveia
Особенно приятно видеть изменения не только для массовых сценариев, но и для более нишевых окружений и удобных dev-воркфлоу.
Небольшой релиз, но очень практичный.
#rust #rustlang #programming
https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/
👣 Comprehensive Rust - один из самых подробных бесплатных курсов по языку Rust.
Это полноценный учебник на 300+ страниц, который используется внутри Google для обучения разработчиков Rust. Материал построен так, чтобы пройти путь от базового синтаксиса до продвинутых возможностей языка.
Внутри курса разбираются ключевые темы Rust:
- владение памятью и borrowing
- lifetimes
- структуры и enum
- pattern matching
- generics и traits
- error handling
- concurrency
- async Rust
- работа с unsafe кодом
Отдельный плюс курса - большое количество примеров и практических упражнений, которые помогают быстро понять философию языка.
Если вы хотите разобраться, почему Rust считается одним из самых безопасных и быстрых системных языков - это один из лучших материалов для старта.
google.github.io/comprehensive-rust/comprehensive-rust.pdf
Децентрализованные биржи (DEXы): принцип работы и создание собственной на Solidity - бесплатный вебинар
Что будет на вебинаре?
- Принципы работы децентрализованных бирж (DEX) и AMM-модели
- Формула x * y = k: как формируется цена, откуда берётся ликвидность и почему возникает slippage
- Реализация простейшего DEX на Solidity для обмена ETH ↔ ERC20
- Написание тестового ERC20-токена и взаимодействие с ним через approve / transferFrom
- Создание минимального интерфейса для обмена токенов и работы с контрактом
Что вы узнаете:
- Как DEX обходятся без ордербуков и централизованных маркет-мейкеров
- Как реализуется AMM-логика в смарт-контракте на Solidity
- Как безопасно работать с ETH и ERC20 в одном контракте
- Как связать смарт-контракт с интерфейсом и выполнить реальный swap
- Как выглядит минимально рабочий DEX, который можно развивать дальше
Записаться: https://otus.pw/Qedb/?erid=2W5zFHoohwP
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
🔥 Zero-cost поиск для AI-приложений — идея из turbopuffer
Большинство систем поиска и векторных БД сегодня очень дорогие.
Причина простая, они хранят данные в RAM или реплицированных SSD, где стоимость может доходить до $600–$3600 за TB в месяц.
Но turbopuffer предлагает другой подход.
Хранить данные не в памяти серверов, а в object storage (например S3 или GCS).
Стоимость:
- RAM + SSD инфраструктура - до $3600/TB
- SSD-кластеры - около $600/TB
- Object storage (S3) - примерно $20/TB
-
Разница может достигать до 100× дешевле для холодных данных.
📌 Архитектура turbopuffer:Client
↓
Query layer
↓
SSD / memory cache (горячие данные)
↓
Object storage (источник истины)
То есть:
- холодные данные хранятся дешево в object storage
- часто используемые попадают в SSD или RAM cache
- запросы остаются быстрыми (<100ms), но стоимость инфраструктуры падает на порядок
Vector search становится ключевой частью AI-систем:
- RAG
- AI-ассистенты
- semantic search
- recommendation systems
Но именно retrieval слой часто становится самой дорогой частью AI-инфраструктуры.
Архитектура turbopuffer показывает, что:
> дешевый storage + умный cache
> может заменить дорогие memory-based search системы.
Будущее AI-поиска может выглядеть так:
- object storage как источник данных
- stateless compute
- дешёвый storage
- кэш для hot data
И тогда поиск по миллиардам документов становится почти “zero-cost” инфраструктурой.
Подробнее:
https://turbopuffer.com/blog/zero-cost
🦀 Rust и Property Testing - тестируй не примеры, а правила.
Обычные unit-тесты проверяют несколько заранее написанных сценариев.
Но есть проблема:
ты тестируешь только те случаи, о которых подумал.
Property tests работают иначе.
Вместо конкретных значений ты задаёшь инварианты (правила), а библиотека:
- генерирует тысячи случайных входных данных
- проверяет крайние случаи
- находит баги, о которых ты даже не подозревал
Пример идеи:
- сортировка → результат всегда отсортирован
- encode → decode → исходные данные
- длина строки после trim не увеличивается
Ты описываешь правило.
Тест сам ищет, где код ломается.
Почему это мощно:
- ловит edge cases
- повышает надёжность критичной логики
- отлично подходит для парсеров, алгоритмов, финансовых расчётов
- экономит время на ручное покрытие
В Rust для этого есть proptest:
https://proptest-rs.github.io/proptest/proptest/getting-started.html
🦀 Старшеклассник сделал инструмент для биоинформатики, который выглядит как проект уровня индустрии.
BioForge - это полностью Rust-ориентированный toolkit для автоматической подготовки биологических макромолекул.
Что он делает:
- читает структуры из PDB и mmCIF
- восстанавливает недостающие атомы
- добавляет водороды и корректные окончания
- собирает топологию молекулы
- при необходимости добавляет воду и ионы
- и всё это — без Python, C++ и FFI, полностью внутри Rust
Почему это интересно.
Точность через шаблоны
Структуры собираются на основе подготовленных TOML-шаблонов для аминокислот, нуклеотидов и воды — воспроизводимые координаты, заряды и связи.
Высокая производительность
Многопоточность через rayon позволяет обрабатывать системы с миллионами атомов за миллисекунды.
Минимум копирования данных и работа «на месте».
Удобная модель данных
Простые структуры:
- Atom
- Residue
- Chain
- Structure
Геометрия работает через nalgebra.
Поддержка форматов
- PDB
- mmCIF
- MOL2
Плюс подробные ошибки парсинга.
Полный pipeline подготовки
Очистка → восстановление → протонирование → солватация → преобразования координат → сборка топологии.
WebAssembly
Есть полноценные WASM-биндинги — можно запускать в браузере для молекулярных визуализаторов и web-приложений.
Rust-first подход
- без FFI
- без глобального состояния
- современные возможности Rust (edition 2024)
Проект: https://github.com/TKanX/bio-forge
Иногда интересные инженерные проекты появляются не в компаниях, а в школьных репозиториях.
🔥 PrimeView - реальная производительность языков без маркетинга
https://plummerssoftwarellc.github.io/PrimeView/report
PrimeView - это живой бенчмарк, который сравнивает языки программирования на одной задаче: генерация простых чисел.
Без синтетических тестов.
Без “идеальных условий”.
Только:
* один алгоритм
* одинаковые правила
* реальные оптимизации от разработчиков
Что показывают результаты:
* C и C++ стабильно в лидерах
* Rust и Zig уверенно конкурируют с нативным кодом
* Go показывает сильные результаты при грамотной оптимизации
* разница между реализациями внутри одного языка часто больше, чем между языками
Ключевой инсайт:
Производительность определяет не язык.
Производительность определяет инженер.
SIMD, работа с памятью, кэш-локальность и битовые оптимизации дают больший эффект, чем выбор технологии.
plummerssoftwarellc.github.io/PrimeView/report
Всякий раз, когда упоминается Rust в Linux! 🦀
#rust #rustlang #programming
⚡️ Rust и связанные списки - лучший учебник по памяти и владению
Если хочешь по-настоящему понять, как работает Rust под капотом, есть один легендарный ресурс — *Too Many Linked Lists*.
Это не просто туториал по структурам данных. Это практическое руководство по:
- владению (ownership)
- заимствованиям (borrowing)
- lifetimes
- безопасной работе с памятью
- Box, Rc, RefCell
- и даже unsafe коду
Как устроен материал
Ты шаг за шагом реализуешь разные версии списков:
- Односвязный список (safe)
- Улучшенные версии с итераторами
- Персистентные структуры через Rc
- Двусвязный список
- Unsafe-реализация для максимальной производительности
Каждый этап объясняет:
- почему код не компилируется
- что именно требует borrow checker
- как думать в стиле Rust
Почему это важно
Linked List в Rust — сложная задача.
Если ты понял её — ты понял:
- модель памяти Rust
- как избегать аллокаций
- как писать быстрый и безопасный код
Это один из лучших практических способов перейти от «пишу код, пока компилируется» к настоящему пониманию языка.
Изучить: https://rust-unofficial.github.io/too-many-lists/
🦀 Strand-Rust-Coder-14B - модель, заточенная специально под генерациию Rust кода.
Это не универсальный «кодинг-ассистент».
Модель дообучена именно на экосистеме Rust и пишет код на уровне опытного разработчика:
- идиоматичный Rust
- безопасная работа с памятью
- корректные async и ownership-паттерны
- акцент на производительность и системные задачи
Большинство моделей хорошо знают Python и JavaScript, но часто «путаются» в borrow checker, lifetimes и сложных Rust-конструкциях.
Strand-Rust-Coder решает именно эту проблему - фокус на системном программировании, low-level задачах и performance-critical приложениях.
https://huggingface.co/Fortytwo-Network/Strand-Rust-Coder-14B-v1
@rust_code
⚡️ Rust совет для библиотек: как не ломать API
Если вы публикуете библиотеку, одна из главных проблем -
как добавлять поля в struct, не ломая код пользователей.
Решение - комбинация:
• #[non_exhaustive]
• приватное поле
Что это даёт:
- Запрещает создавать struct через прямой литерал { ... }
- Заставляет пользователей использовать ваш конструктор
- Позволяет добавлять новые поля позже
- Не ломает существующий код
Без этого:
- добавили поле → breaking change
- пользователи не могут собрать проект
С этим:
- API остаётся стабильным
- можно спокойно развивать библиотеку
Пример
#[derive(Debug)]
#[non_exhaustive]
pub struct Config {
pub timeout: Duration,
pub retries: usize,
// Блокирует создание через Config { ... }
_private: (),
}
impl Config {
pub fn new(timeout: Duration, retries: usize) -> Self {
Self {
timeout,
retries,
_private: (),
}
}
}
🦀 Как устроен async «под капотом» в Rust — на пальцах и без магии
В статье разобрано, как написать микро 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
Это репозиторий с реализацией DensePose через Wi-Fi-сигналы — то есть попытка получать плотные представления (DensePose) тела людей на основе Wi-Fi-данных, а не обычной камеры.
Такая идея может использоваться для анализа движения через радиосигналы в помещении, без видео-камер, с акцентом на приватность.
Если тебе интересны нестандартные подходы к компьютерному зрению, беспроводным сигналам и сенсорике без камер — обязательно посмотри.
🔗 Есть интересный проект: https://github.com/ruvnet/wifi-densepose
🔥 Полезная подборка каналов только код, практика и самые передовые инструменты, которые используют разработчики прямо сейчас.👇
🚀 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
🖥 Javascript: t.me/javascriptv
🖥 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
📚 Бесплатные ит-книги: /channel/addlist/HwywK4fErd8wYzQy
🖥Подборка по Golang: /channel/addlist/MUtJEeJSxeY2YTFi
⚡️ Лучшие ИИ ресурсы: /channel/addlist/2Ls-snqEeytkMDgy
Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.
Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:
• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов
Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.
В итоге ты сможешь:
• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных
Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.
🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
🖥 Языки программирования и время, которое потребовалось для выпуска первой версии
🦀 Rust - 9 лет (2006 → 2015)
🤖 Kotlin - 6 лет (2010 → 2016)
⚙️ C++ - 6 лет (1979 → 1985)
☕ Java - 5 лет (1991 → 1996)
🐹 Go - 5 лет (2007 → 2012)
🍎 Swift - 4 года (2010 → 2014)
🔧 C - 3 года (1969 → 1972)
🧬 Scala - 3 года (2001 → 2004)
📊 Julia - 3 года (2009 → 2012)
🐍 Python - 2 года (1989 → 1991)
🌐 JavaScript - 10 дней (1995)
💎 Ruby - 2 года (1993 → 1995)
🐘 PHP - 1 год (1994 → 1995)
🔷 C# - 2 года (1998 → 2000)
🎯 TypeScript - 2 года (2010 → 2012)
🎯 Dart - 2 года (2009 → 2011)
⚡ Elixir - 2 года (2011 → 2013)
🧠 Haskell - 3 года (1987 → 1990)
🧩 Objective-C - 1 год (1983 → 1984)
🦀 Вышел Rust 1.94.0
В новом релизе появилось небольшое, но очень полезное изменение для разработчиков CLI-утилит.
Теперь переменная CARGO_BIN_EXE_<name> доступна не только во время сборки, но и во время выполнения программы.
Это позволяет напрямую получать путь к скомпилированному бинарнику и использовать его в тестах. Раньше для этого приходилось писать обходные решения или вручную искать путь к файлу.
Теперь Cargo сам предоставляет путь к бинарному файлу, что сильно упрощает интеграционное тестирование CLI-приложений.
Полный список изменений доступен в changelog релиза Rust 1.94.0.
https://github.com/rust-lang/rust/releases/tag/1.94.0
#rustlang #rust #cargo #release #testing #opensource
🦀 Google наконец выпустил официальный CLI на Rust для своих сервисов.
Теперь через один инструмент можно работать с Gmail, Drive, Sheets, Calendar, Admin, Keep, Meet и еще десятком сервисов Google.
#rust #rustlang #programming
https://github.com/googleworkspace/cli
🛠️ Claude's C Compiler — Компилятор C на Rust
Claude's C Compiler (CCC) — это компилятор C, написанный с нуля на Rust, который поддерживает архитектуры x86-64, i686, AArch64 и RISC-V 64. Он не требует внешних зависимостей и генерирует ELF-исполняемые файлы. CCC может служить заменой GCC и успешно компилирует реальные проекты, включая Linux kernel и популярные библиотеки.
🚀 Основные моменты:
- Полностью написан на Rust без внешних инструментов.
- Поддерживает несколько архитектур с одним кодом.
- Совместим с большинством флагов GCC.
- Успешно компилирует множество известных проектов.
- Необходима Linux-система для работы.
📌 GitHub: https://github.com/anthropics/claudes-c-compiler
#rust
✔ Cloudflare открыли исходники инструмента для деплоя без простоев и он написан на Rust.
Проект называется Ecdysis.
Его задача - перезапускать сетевые сервисы так, чтобы пользователи этого вообще не заметили.
В чём проблема обычного деплоя:
- Перезапуск сервиса рвёт активные соединения
- Пользователи получают ошибки
- Теряются запросы
- Появляется downtime
Ecdysis решает это иначе.
Как работает:
- Новый процесс запускается через fork + exec
- Старый процесс продолжает обслуживать текущие соединения
- Новая версия принимает новые подключения
- После завершения всех активных запросов старый процесс аккуратно завершается
Внутри:
- Асинхронность на Tokio
- Передача сокетов через systemd socket activation
- Плавный handoff без потери соединений
Что это даёт:
- Zero-downtime деплой
- Без балансировщиков и сложных схем
- Подходит для высоконагруженных сетевых сервисов
- Продакшн-подход от Cloudflare
Это хороший пример того, как современный стек (Rust + async + systemd) позволяет решать инфраструктурные задачи на уровне архитектуры, а не костылей.
▪Подробнее: https://blog.cloudflare.com/ecdysis-rust-graceful-restarts
🎤 Voicebox: Локальная студия синтеза голоса
Voicebox — это мощный инструмент для клонирования голосов и генерации речи, работающий локально. Он предлагает профессиональные функции редактирования и управления голосами, обеспечивая полную конфиденциальность ваших данных.
🚀Основные моменты:
- Полное управление голосами на вашем устройстве
- Многофункциональный редактор с поддержкой многодорожечной записи
- Быстрая генерация речи с использованием Qwen3-TTS
- Интеграция через REST API для собственных приложений
- Поддержка нескольких языков и высокое качество синтеза
📌 GitHub: https://github.com/jamiepine/voicebox
👣 JetBrains выпустила новую версию RustRover 2025.3.4 с рядом удобных фич и исправлений.
Главное нововведение:
Теперь можно быстро преобразовывать for_each ⇄ for
через intention (быстрое действие в редакторе).
Что ещё добавили:
- новые настройки видимости модулей в диалоге New Rust File
- улучшенная проверка Cargo.toml для параметра autolib
- исправлена ошибка с неразрешёнными ссылками bytemuck::Zeroable
- улучшен парсинг run-конфигураций
(корректная обработка кавычек и обратных слешей в Windows)
Обновление небольшое, но направлено на повседневный комфорт при работе с Rust.
Release notes: https://youtrack.jetbrains.com/articles/RUST-A-328
👣 Rust выбирают там, где цена ошибки — падение продакшена, утечки памяти и неконтролируемая многопоточность.
Курс «Rust Developer. Professional» — следующий шаг после базового знакомства с Rust или работы на других языках. Вы разберёте Best Practices языка, асинхронность, архитектуру и многопоточность, научитесь использовать экосистему библиотек и писать отказоустойчивое, высокопроизводительное ПО.
❗️ Программа ориентирована на практику и инженерное мышление. Преподаватели — практикующие эксперты, работающие с системным и высоконагруженным ПО. Курс регулярно обновляется под реальные требования рынка.
▶️Старт курса 25 февраля. Курс доступен в рассрочку. Пройдите короткое вступительное тестирование и получите специальные условия на обучение: https://tglink.io/3afacd1baee013?erid=2W5zFHkMqww
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
#реклама
О рекламодателе
👨💻Хотите начать карьеру в разработке? Обратите внимание на Rust и познакомьтесь с ним за один вечер!
📆На открытом уроке 25 февраля в 20:00 МСК вы установите инструменты, разберётесь с rustc и Cargo и создадите своё первое приложение. Пошагово, с объяснением каждой команды и структуры проекта.
Вы увидите, как Rust решает реальные проблемы C++, Python и других языков, где ошибки часто проявляются слишком поздно. Поймёте философию языка и получите готовую среду для дальнейшего развития. Если вы рассматриваете Rust как следующий шаг в карьере, этот урок — эффективная точка входа.
👉Встречаемся в преддверии старта курса «Rust Developer. Basic». Зарегистрируйтесь и начните системно разбираться в языке, который уже меняет индустрию: https://tglink.io/d6950eae7dd55b?erid=2W5zFHkgev5
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
Vouch — это система управления доверием для проектов, позволяющая пользователям быть "подтвержденными" или "осуждаемыми" для взаимодействия с определенными частями проекта. Интеграция с GitHub и возможность создания сети доверия делают Vouch универсальным инструментом для управления участниками.
🚀Основные моменты:
- Поддержка управления доверием через GitHub Actions.
- Возможность настройки политик в зависимости от проекта.
- Система "взаимного доверия" между проектами.
- Легкий формат хранения данных для совместимости с различными языками.
📌 GitHub: https://github.com/mitchellh/vouch
🔥На Stepik вышел курс: Linux: полный апгрейд твоих скиллов
Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?
Без глубокого знания базы ты не инженер - ты просто пользователь.
🔹 В курсе ты:
- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.
💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.
🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.
🚀 24 часа действует скидка 30%
👉 Учиться со скидкой
👣 Rust совет: безопасные матрицы с Const Generics
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) подходит не для всех случаев —
иногда нужна структурированная информация об ошибках, а не просто цепочка.
• стек вызовов (backtrace) показывает *где* ошибка возникла, но не *почему* и *как* её обрабатывать.
• популярные библиотеки (`thiserror`, `anyhow`) ориентированы на удобство,
но дают мало информации о том, что делать с ошибкой дальше.
Основная идея:
❗ ошибки должны быть спроектированы под действие — они должны говорить не только *что упало*,
но и *что с этим делать* (например: можно ли повторить, игнорировать, логировать и т.п.).
То есть автор предлагает думать о назначении ошибки, а не просто пробрасывать её дальше.
👉 Важно для разработчиков, которые хотят делать более понятные, структурированные и машинно-обрабатываемые ошибки.
fast.github.io/blog/stop-forwarding-errors-start-designing-them/
🦀 Пишем блочные устройства в 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
Выпуск 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/