Rust
8.86K subscribers
522 photos
45 videos
3 files
1.06K links
Rust programming language

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

#VRHSZ
Download Telegram
🦀 Rust target-директории становятся заметно меньше

Cargo тестирует в nightly новый подход, который сокращает дублирование метаданных в build-артефактах.

По результатам тестов размер target удалось уменьшить до 33%.

Особенно полезно для больших проектов и CI, где артефакты сборки быстро разрастаются.

Подробнее:
https://blog.rust-lang.org/inside-rust/2026/08/18/reducing-target-dir-size-on-nightly/
👍26🔥206🦄3🌚1
🦀 Rust: всегда ли нужен async?

Интересный разбор MCP-сервера для rust-analyzer, который сделали вообще без Tokio.

Вместо async runtime:

- обычный stdio для 1:1 взаимодействия
- всего 3 системных потока
- холодный старт меньше 2 мс
- предсказуемое завершение без сложного async shutdown

Хороший пример того, что async в Rust нужен не везде. Для локального MCP-сервера с простым вводом-выводом обычные потоки могут быть проще, быстрее и надёжнее.

https://developerlife.com/2026/08/22/to-async-or-not-to-async-rust-mcp-server/
👍189🔥5
Учебный проект на Rust дорос до Apache Top-Level Project 🦀

Apache Iggy 19 августа официально вышел из Apache Incubator и получил статус Top-Level Project.

История началась в марте 2023 года. Пётр Ганкевич хотел разобраться, как устроен message streaming изнутри, и заодно нормально выучить Rust.

Первоначальный план - сделать простой append-only log server примерно за три недели.

В итоге получилась полноценная streaming-платформа:

- Rust
- thread-per-core архитектура
- io_uring для дискового и сетевого I/O
- Viewstamped Replication для consensus
- P99 latency в единицах миллисекунд

За время в Apache Incubator проект вырос до:

- 4500+ GitHub stars
- 120+ contributors
- около 3000 pull requests
- 500K+ загрузок

Отдельно интересна история с open source. Команда передала исходный код Apache Software Foundation, чтобы будущее проекта не зависело от одного человека или одной компании.

Дальше в планах - clustering через VSR и Kafka protocol gateway, чтобы существующие приложения могли переходить на Iggy без большого переписывания.

Название Iggy, кстати, происходит от Italian Greyhound - маленькой, но очень быстрой породы собак.

https://iggy.apache.org/blogs/2026/08/24/apache-iggy-top-level-project-tlp-graduation

#RustLang #OpenSource #DataEngineering #Streaming

@rust_code
🔥19👍102🥰1👏1
🦀 Маленькая команда из Нидерландов сейчас меняет сам Rust изнутри.

Hexcat публикует ежемесячные отчёты о работе над Rust compiler и фактически занимается развитием ядра языка вместе с официальным сообществом.

В последних обновлениях команда работает над тем, что редко попадает в новости, но напрямую влияет на будущее Rust:

новый trait solver, который должен улучшить обработку типов и приблизить стабилизацию новых возможностей;

переработка системы lifetime и region constraints;

развитие const generics;

улучшения rustc, документации и инфраструктуры вокруг компилятора.

Самое интересное - Hexcat не просто пишет библиотеки. Их инженеры работают с самим компилятором, системой типов и стандартной библиотекой Rust. Среди их клиентов и спонсоров - крупные технологические компании, включая Amazon и Google.

Пока весь мир обсуждает новые языки для AI, команды вроде Hexcat делают фундамент: быстрее компиляция, мощнее типовая система и более надёжный Rust для системного программирования будущего.

Маленькая команда. Огромное влияние на один из самых важных языков современности. 🦀

https://hexcat.nl/updates/
18👍12🖕5🥰2😁2
🦀 Кто-то скачал вообще все build.rs с crates.io и собрал инструмент для случайного просмотра скриптов.

Зачем: после свежей supply chain-атаки автор решил посмотреть, что build.rs реально делает в дикой природе.

Нашлось много интересного:

* прокидывание git commit hash в env
* cfg-алиасы
* linker directives
* codegen из protobuf/OpenAPI/Excel
* скачивание внешних артефактов, иногда без проверки хеша

Самая сильная часть - предложения для Cargo: стандартный VCS info, artifact-dependencies для фиксированных и проверяемых загрузок и отдельный режим для codegen-defined crates.

https://github.com/guineawheek/build-rs-gacha

#Cargo #SupplyChainSecurity #BuildSystems
👍162🔥1
⚡️ MongrelDB-V - клиент для MongrelDB на языке V.

Сам MongrelDB - open-source колоночная база на Rust с довольно необычным набором возможностей:

- SQL через DataFusion
- vector search и ANN
- full-text search
- MVCC
- WAL
- replication и CDC
- шифрование AES-256-GCM
- bitmap, MinHash, learned-range и другие индексы
- встроенный и серверный режимы

MongrelDB-V позволяет работать с этой базой из V через HTTP-клиент. Устанавливается обычной командой v install.

Интересный проект для тех, кто хочет попробовать V не только для небольших CLI-утилит, но и для работы с SQL, поиском и AI-native retrieval.

https://github.com/visorcraft/MongrelDB-V
6🔥5🥴2👍1
Этот Rust-код может выглядеть как издевательство над глазами.

Но для AI-агентов в нём есть неожиданное преимущество: он очень информационно плотный.

По одному объявлению типа агент сразу видит:

- какие итераторы используются
- какие lifetime связаны между собой
- какие преобразования происходят
- какие типы проходят через Map, Take и FlatMap
- что возвращается на каждом уровне

Меньше необходимости постоянно искать определения по проекту, открывать другие файлы и восстанавливать контекст по кускам.

Для человека такой тип выглядит страшно.

Для coding-агента это почти готовая карта того, как работает структура.

Не нравится - просто закрой глаза и дай агенту прочитать Rust за тебя.
🙈31😁149👍8🥰3😢3😐3🖕1
🦀 Анонс rustup 1.29.1

Главное:


- rustup update теперь проверяет обновления параллельно
- несколько компонентов через rustup component add устанавливаются одновременно
- rustup doc --serve поднимает локальный HTTP-сервер с документацией
- добавлена официальная поддержка aarch64-pc-windows-gnullvm
- исправлены проблемы установки на Windows
- отменённые установки больше не оставляют неожиданные файлы на диске
- термин target triple заменили на target tuple

Обновиться:

rustup self update

или обычным:

rustup update

https://blog.rust-lang.org/2026/09/01/Rustup-1.29.1/
14👍6🔥5
Rust 1.98.1 вышел всего с одним исправлением, но довольно неприятным.

В Rust 1.98.0 нашли ошибку компилятора при генерации vtable для trait objects.

В некоторых случаях rustc мог поставить null вместо указателя на функцию внутри vtable. Результат - undefined behavior в уже скомпилированной программе. На практике это могло закончиться обычным segfault, но формально последствия UB ничем не ограничены.

Если уже обновились до Rust 1.98.0, лучше сразу поставить 1.98.1:


rustup update stable


Новых возможностей в релизе нет - это именно срочный point release с исправлением miscompilation.

https://blog.rust-lang.org/2026/09/03/Rust-1.98.1/
👍26🔥9🤪63😡2🤔1
⚡️ Интерактивные flowcharts прямо в терминале

rataflow — open source-библиотека на Rust для создания node-based интерфейсов прямо в TUI.

Поддерживает:

— перетаскивание нод
— соединения между блоками
— pan и zoom
— автоматические layouts
— интерактивное управление

Проект построен поверх Ratatui, так что полноценный визуальный редактор может работать вообще без браузера и GUI.

Live demo: https://rataflow.furkankly.dev

GitHub: https://github.com/furkankly/rataflow
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥122🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
🌀 upmd превращает обычный Markdown в исполняемый workflow

Можно держать инструкции, команды, зависимости и вывод терминала прямо в одном `.md`-файле, а code blocks запускать как связанные между собой задачи.

Получается что-то между документацией, task runner и живым dev-ноутбуком без отдельного YAML-конфига.

Проект написан на Rust и построен на Ratatui.

GitHub: https://github.com/rezigned/upmd
👍1810🔥7💘1
Сволочи😂
🤣17813🔥6🐳1💯1💘1
😁86👍12😭86🔥4🤣4💯1💘1
🦀 Rust для game hacking: внешний ESP и overlay-интерфейсы

Вышла 5-я глава курса по Rust Game Hacking.

Разбирают:

- прозрачные overlay-окна поверх игры
- модульный UI через closures
- асинхронное отслеживание положения и размера окна
- архитектуру внешнего ESP без внедрения интерфейса прямо в игровой процесс

Полезный материал для тех, кто изучает Rust, low-level UI и работу с окнами в реальном времени.

https://guidedhacking.com/threads/rust-external-esp-rgh105.21347/
🔥257👍6
👣 Rust стал одним из основных языков разработки внутри Microsoft - наряду с C++, C# и TypeScript.

Компания обеспечила ему полноценную поддержку: от инструментов для программистов до проверок безопасности и выпуска готового ПО.

Для Rust также подготовили общий с C++ механизм генерации машинного кода в Windows. Это позволяет использовать возможности MSVC для оптимизации, отладки и защиты программ на обоих языках.

С новой системой уже собираются более 100 репозиториев Microsoft. Сам Rust применяется в драйверах, ядре, микросервисах и приложениях.

https://rustfoundation.org/media/guest-post-rust-is-tier-1-language-at-microsoft/
Please open Telegram to view this post
VIEW IN TELEGRAM
32🔥17👍9
Rust-компилятор случайно замедлил WebAssembly-интерпретатор на 50% - и поиск этой причины стал главным ускорением Wasmi 2.0.

Wasmi 2.0 вышел сегодня и теперь работает примерно в 2,2 раза быстрее версии 1.0. Его используют Typst, Zellij, Stellar Soroban и Ripple.

Во время бенчмарков разработчик заметил, что другой интерпретатор, Stitch, потерял около 30% скорости между Rust 1.91 и 1.92.

Причина оказалась в MIR-оптимизации, которую Rust 1.92 включил по умолчанию. Она объединила два отдельных пути dispatch в одну точку ветвления.

Обычно такая оптимизация полезна. Но здесь она сломала предсказание переходов CPU: вместо двух веток с понятной историей процессор получил одну с перемешанным поведением.

После исправления Stitch вернул скорость. Потом ту же проблему нашли и в Wasmi.

Результат: CoreMark вырос примерно с 2800 до более 4200.

Что ещё появилось в Wasmi 2.0:

- accumulator registers, чтобы чаще держать операнды прямо в регистрах CPU
- lock-free карта функций без лишних lookup при вызовах
- SIMD без прежнего штрафа в 5-10% просто за факт включения

Очень показательный случай, когда «оптимизация» компилятора делает код медленнее, а реальная причина лежит уже на уровне branch predictor процессора.

http://wasmi-labs.github.io/blog/posts/wasmi-v2.0
29😱9👍7🥰2
🔥 Хочешь расти в IT быстрее остальных? Перестань учиться в одиночку

Можно годами смотреть курсы, читать документацию и всё равно топтаться на месте.

А можно попасть в правильное окружение, где каждый день обсуждают новые инструменты, вакансии, реальные кейсы, ошибки и то, что уже завтра станет стандартом.

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

AI: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Хакинг: t.me/linuxkalii
DevOps: t.me/DevOPSitsec
Docker: https://t.me/+90Z5TAyfuNU5YmRi
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_ci
Java: t.me/javatg
JavaScript: t.me/javascriptv
React: t.me/react_tg
Frontend: t.me/front
PHP: t.me/phpshka
Android: t.me/android_its
Мобильная разработка: t.me/mobdevelop
Базы данных: t.me/sqlhub
Data Science: t.me/data_analysis_ml
Big Data: t.me/bigdatai
Математика: t.me/data_math
Физика: t.me/fizmat
Kubernetes: t.me/kubernetc
GameDev: https://t.me/gamedev
Haskell: t.me/haskell_tg

Собеседования и карьера:

DS собеседования: t.me/machinelearning_interview
Python собеседования: t.me/python_job_interview

Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy

Полезное сверху:

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy
ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy

Max Ai: https://max.ru/ai_machinelearning_big_data
Max python: https://max.ru/pythonl
ТЕХНО: https://max.ru/vistehno
Max Go: https://max.ru/Golang_google
Max Linux: https://max.ru/linuxkalii
Devops: https://max.ru/DevOPSitsec
C#: https://max.ru/csharp_ci
C++: https://max.ru/cpluspluc
SQL: https://max.ru/sqlhub
Java: https://max.ru/javatg

Подпишись и сохрани, здесь регулярно появляются новые подборки, инструменты и материалы, которые реально помогают расти быстрее.
6🥱4🤣3👍2🔥2🤪1
⚡️ Одинаковый async/await - разное поведение программы

Исследователи Brown University сравнили семь реализаций асинхронности: JavaScript, C#, Swift, Tokio, Smol, Asyncio и Trio. Ни одна пара не показала полностью одинаковую семантику.

В простом 12-строчном примере функция запускает фоновую запись в лог и завершает работу. Результат зависит от среды:

* JavaScript: AC
* C#: C
* Tokio: ACB
* Swift: AC
* Trio: ABC

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

Особенности Rust:

* вызов async fn только создаёт Future - выполнение начинается после опроса через runtime
* задача не получает внутренний сигнал отмены, как в Swift или Python с Trio

Одинаковый синтаксис скрывает разные правила запуска, отмены и завершения задач.

http://cel.cs.brown.edu/blog/design-space-async-await
5🔥4
Ubuntu 26.10 полностью переведён на Rust Coreutils

В пакетной базе дистрибутива Ubuntu 26.10, релиз которого намечен на 15 октября, осуществлён полный переход на инструментарий uutils coreutils (Rust Coreutils), написанный на языке Rust. Утилиты из состава Rust Coreutils полностью заменили все компоненты пакета GNU Coreutils, включая утилиты cp, mv и rm, которые в Ubuntu 26.04 поставлялись в варианте из GNU Coreutils.

Подробнее:
https://opennet.ru/66274/
https://opennet.me/66274/
🔥51🎉16👍8💊6🤣3🏆32
🔥 LeetCode прямо в терминале, без браузера

leetrs — TUI-клиент для LeetCode, в котором можно искать задачи, открывать их, писать решения, запускать тесты и отправлять код на проверку прямо из терминала.

Есть fuzzy search, интеграция с Neovim, запуск тест-кейсов и submit на LeetCode.

Проект написан на Rust и использует ratatui.

GitHub: github.com/shadowmkj/leetrs
💘19🔥16👍3