Rust
8.43K subscribers
444 photos
40 videos
3 files
985 links
Rust programming language

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

#VRHSZ
Download Telegram
Вышел RustRover 2026.1.2.

Главное исправление - IDE теперь корректно разбирает комментарии, которые начинаются с ////.

Да, тот самый случай, когда валидный Rust-код мог подсвечиваться как ошибочный просто из-за лишнего слеша в комментарии. Код нормальный, компилятор не ругается, а IDE показывает false positive и заставляет искать проблему там, где её нет.

В обновлении также поправили:

- несколько других ложных ошибок
- вывод типов
- стабильность IDE

Обновление небольшое, но полезное.

Скачать:
https://jetbrains.com/rust/download/
👍17🖕17😁76🔥6🤣3🤬1🎉1🍾1
👣 Rust Interview Deep Dive

Репозиторий для системной подготовки к собеседованиям по Rust на позиции middle, senior и staff.

Внутри 100 реальных вопросов с собеседований в продуктовых и инфраструктурных компаниях, подробные разборы с примерами кода и сценарии задач, которые встречаются в продакшене. Не «угадай вывод программы», а механика, на которой строятся настоящие сервисы.

Здесь lock-free структуры, self-referential типы в async, FFI с тензорными библиотеками, корректный Send на гардах через await, memory ordering под loom, soundness кастомных коллекций. И при этом все начинается с базы. Владение, заимствование, лайфтаймы. Кто хочет, может зайти и с нуля, и с уровня staff

https://github.com/Develp10/rustinterviewquiestions
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍6🔥4🥰1🖕1🤗1
👣 Rust + Kubernetes: практичный стек для controller-разработки

Если нужно написать Kubernetes controller, стоит посмотреть на kube-rs.

• типизированные Kubernetes API
• описание состояний через enum и sum types
• явную обработку ошибок
• меньше runtime-сюрпризов
• отсутствие `nil`-крашей
• более строгую модель для reconciliation-логики

Rust помогает перенести часть проверок в компилятор и сделать поведение контроллера более предсказуемым.

GitHub: https://github.com/kube-rs/kube
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥115👍3🥰1🤗1
👣 Rust Interview Deep Dive

Репозиторий для системной подготовки к собеседованиям по Rust на позиции middle, senior и staff.

Внутри 100 реальных вопросов с собеседований в продуктовых и инфраструктурных компаниях, подробные разборы с примерами кода и сценарии задач, которые встречаются в продакшене. Не «угадай вывод программы», а механика, на которой строятся настоящие сервисы.

Здесь lock-free структуры, self-referential типы в async, FFI с тензорными библиотеками, корректный Send на гардах через await, memory ordering под loom, soundness кастомных коллекций. И при этом все начинается с базы. Владение, заимствование, лайфтаймы. Кто хочет, может зайти и с нуля, и с уровня staff

https://github.com/Develp10/rustinterviewquiestions
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥75🥰3🖕1🤗1
Rust-приложение, которое превращает скучный терминал в живой dashboard

Splashboard - это splash screen для терминала, написанный на Rust. Открываешь новый shell - и вместо пустого экрана видишь контекст по проекту.

Он может показывать Git-статус, состояние CI, открытые PR, contribution heatmap и даже фазу Луны. Да, зачем-то это тоже есть.

Главная фишка в DX: репозиторий сам может описать свой dashboard через один dashboard.toml. Заходишь в папку проекта через cd - и терминал сразу подхватывает нужный контекст без флагов, ручной настройки и лишней возни.

Под капотом Rust и ratatui, работает кроссплатформенно, пакет доступен на crates.io.

Вот так выглядит нормальный zero-overhead DX: не ещё одна тяжёлая панель в браузере, а быстрый TUI прямо там, где разработчик и так живёт - в терминале.


🔗 http://github.com/unhappychoice/splashboard

#Rust #RustLang #CLI #TerminalTools #OpenSource #DeveloperTools #TUI #Ratatui #Rustacean
👍2810🥰4🥴4😁2🤗1
⚙️ ASMLings - подробный гайд на русском

ASMLings - это набор из ~32 коротких упражнений на ассемблере Intel 8086, выстроенных по возрастанию сложности: от mov ax, 0x1337 до 32-битного сложения через carry flag, циклов, подпрограмм, работы с памятью и стеком.

Полный русскоязычный гайд по asmlings - интерактивной песочнице для изучения ассемблера Intel 8086, в которой 16-битный x86-эмулятор написан на Rust.

Внутри: что это, как устроено под капотом, как установить, как читать и решать упражнения, разборы реальных задач из репозитория, готовые примеры в examples/ и шпаргалки.

https://github.com/justxor/-ASMLingsru/
15🥰10👍6👏1🤗1
👣 Rust 1.96 почти готов: релиз уже на финальном тестировании

Команда Rust выложила pre-release версии 1.96.0. Это не финальный релиз, а последняя проверка перед публикацией stable, которая запланирована на 28 мая.

Разработчиков просят прогнать новую версию на реальных проектах и заранее поймать регрессии, пока релиз ещё можно поправить.

Из заметного в 1.96:

- стабилизировали assert_matches! и debug_assert_matches!
- добавили поддержку итерации по диапазонам `NonZero`-чисел
- Cargo теперь позволяет зависимости указывать одновременно git-репозиторий и альтернативный registry
- добавили target.'cfg(..)'.rustdocflags в конфигурации Cargo
- Rustdoc получил более аккуратный рендер deprecated-документации
- есть несколько compatibility notes, которые могут затронуть редкие edge cases

Отдельный сигнал: Rust Team обсуждает изменения в самом pre-release процессе и просит фидбек от сообщества. То есть речь не только про конкретную версию, но и про то, как Rust будет тестировать релизы дальше.

Проверить pre-release можно через rustup:

RUSTUP_DIST_SERVER=https://dev-static.rust-lang.org rustup update stable

https://blog.rust-lang.org/inside-rust/2026/05/26/1.96.0-prerelease/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🔥117🥰2🤗1
✔️ Run Llama выкатили LiteParse - open-source инструмент для быстрого локального парсинга документов.

Если задача - быстро достать текст, координаты, структуру страниц и скриншоты, это можно делать локально.

Что умеет LiteParse:

- парсит PDF через PDFium
- сохраняет bounding boxes для текста
- умеет OCR через встроенный Tesseract
- поддерживает внешние OCR-серверы вроде EasyOCR или PaddleOCR
- генерирует скриншоты страниц для LLM-агентов
- отдаёт результат в JSON или обычный текст
- работает из Rust, Python, Node.js/TypeScript и WASM
- запускается на Linux, macOS и Windows

Авторы прямо разделяют сценарии: LiteParse для быстрых локальных задач, LlamaParse - для тяжёлых случаев с таблицами, сложной версткой, графиками, рукописным текстом и сканами.

https://github.com/run-llama/liteparse
Please open Telegram to view this post
VIEW IN TELEGRAM
👍178🔥5🥰1🤗1
🌐 Умный DNS-резолвер Numa

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

🚀 Основные моменты:
- Портативный, работает на любом устройстве.
- Блокировка рекламы и кэширование по умолчанию.
- Поддержка DNSSEC и DNS-over-TLS для шифрования.
- Автоматическое обнаружение устройств в локальной сети.
- Легкий в использовании интерфейс и настройка.

📌 GitHub: https://github.com/razvandimescu/numa
🔥257🥰4🤗1
🦀 Rust 1.96 вышел: новые range-типы, удобные assert-матчи и важное изменение для WebAssembly

Rust 1.96.0 выглядит как минорный релиз, но внутри есть несколько вещей, которые реально стоит заметить.

Главное изменение - новые core::range::Range* типы. Старые Range из core::ops напрямую реализуют Iterator, поэтому их нельзя нормально сделать Copy без неприятных ловушек. Новые range-типы идут другим путём: они реализуют IntoIterator, а значит могут быть Copy.

Теперь можно хранить диапазоны в Copy`-структурах без костылей вроде раздельных `start и end.


use core::range::Range;

#[derive(Clone, Copy)]
pub struct Span(Range<usize>);


Ещё одно приятное обновление - assert_matches! и debug_assert_matches!.

Это как assert!(matches!(...)), только при падении выводится значение через Debug, а значит тесты и отладка становятся заметно понятнее. Макросы не добавили в prelude, их нужно импортировать вручную из core или std.

Для WebAssembly есть изменение построже: undefined symbols теперь становятся ошибкой линковки, а не молча превращаются в импорты из "env". Это может сломать часть старых сборок, зато такие проблемы теперь ловятся раньше, а не всплывают странным поведением на рантайме.

Из важного по безопасности: в Rust 1.96 исправлены две уязвимости Cargo для пользователей сторонних registry. Пользователей crates.io они не затрагивают.

Обновление стандартное:


rustup update stable


Релиз без фейерверков, но полезный: меньше footgun'ов с range, удобнее проверки в тестах, строже WebAssembly-сборки и пара закрытых дыр в Cargo.

https://blog.rust-lang.org/2026/05/28/Rust-1.96.0/
19👍12🔥82🥰1👏1🤗1
👣 В Rust нашли интересный способ ускорить pretty printer - штуку, которая красиво форматирует код, JSON, Lisp и другие структуры.

Обычно есть два подхода.

Первый - собрать всё дерево документа целиком. Так делают Wadler-style pretty printers. Это выразительно, но в Rust быстро упирается в память, аллокации и указатели.

Второй - стримить вывод по кускам. Так работает Oppen-style подход. Он легче по памяти, но часто принимает локально хорошие решения и не всегда находит глобально лучший layout.

Автор предлагает третий вариант: не хранить документ как рекурсивный enum, а описывать его через trait Doc.

То есть Text, Concat, Group, Nest и другие элементы становятся отдельными типами, которые умеют сами себя рендерить через layout().

Звучит как мелкая архитектурная правка, но эффект большой: меньше лишних аллокаций, меньше прыжков по памяти, гибче управление Box, Rc и другими стратегиями хранения.

В proof-of-concept реализации pye автор получил до 60x ускорения по сравнению с прямой Rust-реализацией алгоритма из paper “A Pretty Expressive Printer”. А в обновлённых тестах вариант с таким дизайном и greedy-алгоритмом местами обгонял pretty и arena-версию больше чем в 10 раз.

В Rust производительность часто ломается не только на алгоритме, но и на форме данных.

Иногда enum выглядит красиво, но trait-based дизайн лучше ложится на память, ownership и реальные оптимизации компилятора.

blog.wybxc.cc/blog/pretty-printer-pye/

#Rust #RustLang #Compilers #OpenSource #SystemsProgramming
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17👍84❤‍🔥1👌1