Rust – Telegram
Rust
7.74K subscribers
354 photos
38 videos
3 files
921 links
Rust programming language

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

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

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

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚
Download Telegram
🦀 Rust 1.93.0 вышел (22 января 2026) - чем интересен релиз

В свежем релизе упор не на “громкие фичи”, а на практичные улучшения для продакшена и 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🔥2211🥰1🐳1💔1🤗1
🚀 Погружение в "небезопасный" 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
🔥28🤣12👍107😁3❤‍🔥1🙈1
🦀 Rust stdlib на 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/
🔥4314👍4🥰3🤗1
🐄 Секретная суперсила Rust: `Cow` (Clone-on-Write)

Если ты пишешь на 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
👍2814🥰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😁3❤‍🔥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👍148🥰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

Самое лучшее в этом: ты учишься даже тогда, когда “нет времени, просто потому что читаешь правильную ленту.
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🔥96🥰1🤗1
Это репозиторий с реализацией DensePose через Wi-Fi-сигналы — то есть попытка получать плотные представления (DensePose) тела людей на основе Wi-Fi-данных, а не обычной камеры.

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

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


🔗 Есть интересный проект: https://github.com/ruvnet/wifi-densepose
🔥153🥰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
👍26🔥73🥰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
10👍5🥰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.
🔥445🥰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
🔥38👍23🥰9🖕41🤗1
👨‍💻Хотите начать карьеру в разработке? Обратите внимание на Rust и познакомьтесь с ним за один вечер!

📆На открытом уроке 25 февраля в 20:00 МСК вы установите инструменты, разберётесь с rustc и Cargo и создадите своё первое приложение. Пошагово, с объяснением каждой команды и структуры проекта.

Вы увидите, как Rust решает реальные проблемы C++, Python и других языков, где ошибки часто проявляются слишком поздно. Поймёте философию языка и получите готовую среду для дальнейшего развития. Если вы рассматриваете Rust как следующий шаг в карьере, этот урок — эффективная точка входа.

👉Встречаемся в преддверии старта курса «Rust Developer. Basic». Зарегистрируйтесь и начните системно разбираться в языке, который уже меняет индустрию: https://tglink.io/d6950eae7dd55b?erid=2W5zFHkgev5

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
2👍2😁2🙏1🥴1🖕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/
🔥224🆒1