Rust
8.04K subscribers
380 photos
38 videos
3 files
939 links
Rust programming language

По всем вопросам- @haarrp

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚

#VRHSZ
Download Telegram
🦀 Что на самом деле такое Mutex - не «штука, которая блокирует», а как он работает изнутри?

Мара Бос в книге Rust Atomics and Locks буквально строит мьютекс с нуля шаг за шагом.

Показывает, как устроены атомики, блокировки, спинлоки, очереди ожидания и почему всё это вообще работает.

Это, честно, одна из лучших книг, что я прочитал в 2025.
После неё начинаешь по-другому смотреть на конкурентность не как на магию, а как на аккуратную инженерную конструкцию.

Если хотите понять Rust-конкурентность по-настоящему, вот отличный кусочек книги, где он строит лок руками:

https://marabos.nl/atomics/building-locks.html
👍2914🥰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
👍63🔥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/
👍33🔥129😁4❤‍🔥1🥰1🖕1🤗1
🖥 Большинство “парсеров” умирают через 2 дня.
Ты научишься делать те, которые живут в проде.

Это не про BeautifulSoup ради галочки.
Это про системы сбора данных, которые:

• не падают от мелких правок на сайте
• собирают данные в разы быстрее
• обновляют всё сами по расписанию
• обходят ограничения и баны
• выглядят как сервис, а не хаос из файлов

Ты начнёшь видеть сайты не как страницы, а как источники данных, к которым можно подключиться.

В итоге ты сможешь:

• забирать данные для своих проектов
• автоматизировать чужую рутину
• делать инструменты для аналитики
• брать коммерческие заказы на сбор данных

Это навык, который напрямую превращается в деньги.
Не “знаю Python”, а умею добывать данные из интернета профессионально.

🎁 48 часов скидка 50% на Stepik: https://stepik.org/a/269942/
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱12🥴82🔥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
❤‍🔥20👍149🥰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

🖥 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

📚 Бесплатные ит-книги: https://t.me/addlist/HwywK4fErd8wYzQy

🖥Подборка по Golang: https://t.me/addlist/MUtJEeJSxeY2YTFi

⚡️ Лучшие ИИ ресурсы: https://t.me/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
👍20🔥116🥰1🤗1
Это репозиторий с реализацией DensePose через Wi-Fi-сигналы — то есть попытка получать плотные представления (DensePose) тела людей на основе Wi-Fi-данных, а не обычной камеры.

Такая идея может использоваться для анализа движения через радиосигналы в помещении, без видео-камер, с акцентом на приватность.

Если тебе интересны нестандартные подходы к компьютерному зрению, беспроводным сигналам и сенсорике без камер — обязательно посмотри.


🔗 Есть интересный проект: https://github.com/ruvnet/wifi-densepose
🔥163🥰2😁1
👣 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 #rustlang #junior #rusttip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥74🥰1🤗1
🦀 Как устроен 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
12👍7🥰5🤗2
🔥На Stepik вышел курс: Linux: полный апгрейд твоих скиллов

Хочешь реально понимать, что происходит под капотом твоей системы, а не просто кликать по GUI?

Без глубокого знания базы ты не инженер - ты просто пользователь.

🔹 В курсе ты:

- Освоишь bash, grep, sed, awk - инструменты, которыми живут админы.
- Разберёшь права, процессы, сеть, файловую систему и научишься чинить всё, что падает.
- Настроишь SSH, firewall, systemd, crontab, демоны и автозапуск.
- Научишься анализировать логи, следить за нагрузкой, и не паниковать при 100% CPU.

💡 Формат: пошаговое объяснение базы и разбор важных практик по работе с Linux.

🎯 После курса ты: будешь чувствовать Linux как родную среду и забудешь, что такое “permission denied”.

🚀 24 часа действует скидка 30%

👉 Учиться со скидкой
4👍3🔥1🥰1🤗1
⚡️ 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: (),
}
}
}



#[non_exhaustive] + приватное поле =более стабильный API.
🔥487🥰2👍1🤗1🗿1
Vouch — это система управления доверием для проектов, позволяющая пользователям быть "подтвержденными" или "осуждаемыми" для взаимодействия с определенными частями проекта. Интеграция с GitHub и возможность создания сети доверия делают Vouch универсальным инструментом для управления участниками.

🚀Основные моменты:
- Поддержка управления доверием через GitHub Actions.
- Возможность настройки политик в зависимости от проекта.
- Система "взаимного доверия" между проектами.
- Легкий формат хранения данных для совместимости с различными языками.

📌 GitHub: https://github.com/mitchellh/vouch
7👍7🔥3🥰1🤗1
🦀 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
🔥39👍23🥰9🖕41🤗1
⚡️ 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/
🔥245🥰1🤗1🆒1
Всякий раз, когда упоминается Rust в Linux! 🦀

#rust #rustlang #programming
🔥15😁143🤣3🥰1😱1💯1
👣 JetBrains выпустила новую версию RustRover 2025.3.4 с рядом удобных фич и исправлений.

Главное нововведение:

Теперь можно быстро преобразовывать
for_eachfor
через intention (быстрое действие в редакторе).

Что ещё добавили:

- новые настройки видимости модулей в диалоге New Rust File
- улучшенная проверка Cargo.toml для параметра autolib
- исправлена ошибка с неразрешёнными ссылками bytemuck::Zeroable
- улучшен парсинг run-конфигураций
(корректная обработка кавычек и обратных слешей в Windows)

Обновление небольшое, но направлено на повседневный комфорт при работе с Rust.

Release notes: https://youtrack.jetbrains.com/articles/RUST-A-328
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱23👍125🥰2🎉1🤗1
🔥 PrimeView - реальная производительность языков без маркетинга

https://plummerssoftwarellc.github.io/PrimeView/report

PrimeView - это живой бенчмарк, который сравнивает языки программирования на одной задаче: генерация простых чисел.

Без синтетических тестов.
Без “идеальных условий”.
Только:

* один алгоритм
* одинаковые правила
* реальные оптимизации от разработчиков

Что показывают результаты:

* C и C++ стабильно в лидерах
* Rust и Zig уверенно конкурируют с нативным кодом
* Go показывает сильные результаты при грамотной оптимизации
* разница между реализациями внутри одного языка часто больше, чем между языками

Ключевой инсайт:

Производительность определяет не язык.
Производительность определяет инженер.

SIMD, работа с памятью, кэш-локальность и битовые оптимизации дают больший эффект, чем выбор технологии.

plummerssoftwarellc.github.io/PrimeView/report
💊35🤔5🔥4🙈21🥴1
🎤 Voicebox: Локальная студия синтеза голоса

Voicebox — это мощный инструмент для клонирования голосов и генерации речи, работающий локально. Он предлагает профессиональные функции редактирования и управления голосами, обеспечивая полную конфиденциальность ваших данных.

🚀Основные моменты:
- Полное управление голосами на вашем устройстве
- Многофункциональный редактор с поддержкой многодорожечной записи
- Быстрая генерация речи с использованием Qwen3-TTS
- Интеграция через REST API для собственных приложений
- Поддержка нескольких языков и высокое качество синтеза

📌 GitHub: https://github.com/jamiepine/voicebox
14👍5🥰2🤣1🤗1
🦀 Старшеклассник сделал инструмент для биоинформатики, который выглядит как проект уровня индустрии.

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

Иногда интересные инженерные проекты появляются не в компаниях, а в школьных репозиториях.
🔥70🤯21👍127🥰1🤗1