Rust
7.91K subscribers
373 photos
38 videos
3 files
938 links
Rust programming language

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

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

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

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚

#VRHSZ
Download Telegram
🚀 Погружение в "небезопасный" Rust

Corroded предлагает альтернативный взгляд на Rust, позволяя использовать "небезопасные" паттерны для оптимизации кода. Этот репозиторий демонстрирует, как обойти ограничения компилятора, предоставляя инструменты для работы с указателями, памятью и многопоточностью без традиционных предостережений.

🚀 Основные моменты:
- Использование unsafe блоков для повышения производительности.
- Удаление ограничений на указатели и ссылки.
- Работа с неинициализированной памятью и "потерянными" указателями.
- Поддержка многопоточности без синхронизации.

📌 GitHub: https://github.com/buyukakyuz/corroded

#rust
9🔥6🥰2😱2🤪2🤯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 совет: безопасные матрицы с 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👍6🥰5🤗2
Всякий раз, когда упоминается Rust в Linux! 🦀

#rust #rustlang #programming
🔥15😁143🤣3🥰1😱1💯1
🛠️ 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
🖕43🔥177🤬7💊5❤‍🔥3😐3🌚2🙉1
🦀 Google наконец выпустил официальный CLI на Rust для своих сервисов.

Теперь через один инструмент можно работать с Gmail, Drive, Sheets, Calendar, Admin, Keep, Meet и еще десятком сервисов Google.

#rust #rustlang #programming

https://github.com/googleworkspace/cli
👍35🔥1210💊41🌭1
🦀 Вышел 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
👍31🔥17🎉64😁21🥰1🤗1
🦀 Вышел 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/
👍28🔥105🤗21🥰1
Rust-совет недели 🦀

Можно встроить статический текст прямо в бинарник с помощью include_str!.

Этот макрос читает файл во время компиляции и встраивает его содержимое прямо в программу. Никакого чтения файлов во время выполнения.

Это удобно для:
- шаблонов конфигурации
- встроенных скриптов
- статических ресурсов
- тестовых данных

Пример:


fn main() {
const TEXT: &str = include_str!("static-data.txt");
let program = include_str!("main.rs");
}


Во время компиляции Rust читает файл и помещает его содержимое прямо в исполняемый файл.

Просто, быстро и без runtime IO.

#rust #junior #rustlang
24🔥18👍10🤔2🥰1🤗1
🌐 IRBox: Удобный и безопасный прокси-клиент

IRBox предлагает многофункциональную поддержку протоколов и продвинутые инструменты управления для обеспечения безопасного и стабильного интернет-соединения. Идеален для пользователей, заботящихся о конфиденциальности.

🚀 Основные моменты:
- Поддержка множества протоколов (VLESS, VMess, Shadowsocks и др.)
- Расширенные функции управления (правила маршрутизации, автообновление подписок)
- Интуитивно понятный интерфейс с темами и тестированием задержки серверов

📌 GitHub: https://github.com/frank-vpl/IRBox

#rust
👍165🥰2😐2