rust_code | Unsorted

Telegram-канал rust_code - Rust

8052

Rust programming language По всем вопросам- @haarrp @ai_machinelearning_big_data - машинное обучение @programming_books_it - бесплатные it книги @pythonl - 🐍 @ArtificialIntelligencedl - AI @datascienceiot - ml 📚 #VRHSZ

Subscribe to a channel

Rust

Rust, который наконец становится понятным 🦀

Давно хочешь выучить Rust, но ownership, borrowing и lifetimes выглядят как отдельный вид боли?

Этот курс проведёт тебя с самого начала до уровня, где ты уже пишешь реальные системные и сетевые программы.

Ты разберёшь:
Ownership → Borrowing → ошибки → коллекции → Generics → Traits → модули → тесты → сетевой код

Никакого бесконечного чтения документации. После каждого урока ты сразу пишешь код, проходишь тесты и решаешь задачу с автопроверкой.

🔥 Rust с нуля
🔥 5–6 часов в неделю
🔥 Практика после каждого урока
🔥 Подойдёт после Python, JavaScript, Java и других языков
🔥 Можно начать сразу

В конце у тебя будет понимание Rust, с которым уже можно писать быстрые backend-сервисы, сетевые приложения и системные утилиты, а не смотреть на borrow checker как на врага.

Пора добавить Rust в свой стек. Начинай курс и пиши первый код уже сегодня: https://stepik.org/a/294885/

Читать полностью…

Rust

«Никогда не используйте unsafe в Rust»

Есть решение проще: писать C прямо внутри Rust, ведь там unsafe включён по умолчанию.

Библиотека c_macro позволяет вставлять C-код через макрос c!, компилировать его вместе с проектом и вызывать как обычную функцию:

let sum = sum_array(array.as_ptr() as *mut c_int, array.len() as c_int);

В примере массив создаётся в Rust, указатель передаётся в C, а сумма возвращается обратно.

Без unsafe-блока в коде. Технически безопаснее от этого, конечно, не стало.

Читать полностью…

Rust

Рой ИИ-агентов написал аналог SQLite на Rust за несколько часов 🤯

Cursor провела необычный эксперимент: агентам выдали только официальную документацию SQLite объёмом 835 страниц и поручили с нуля реализовать собственный движок базы данных на Rust.

Без интернета, готового исходного кода и дополнительной помощи.

Уже через четыре часа получившиеся реализации правильно выполняли 73–85% запросов из скрытого теста. После дальнейшей работы некоторым командам удалось довести результат до 100%.

Но особенно удивила стоимость:

- связка Opus 4.8 и Composer 2.5 потратила около $1 400;
- Fable — примерно $20 000.

Одинаковая задача, но почти пятнадцатикратная разница в цене.

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

Получается, ИИ уже способен за часы собрать сложный системный проект, но митинги, конфликты и страх ответственности он тоже автоматизировал 😂

#ai #rust #sqlite #agents #programming

https://cursor.com/blog/agent-swarm-model-economics

@rust_code

Читать полностью…

Rust

Кто-то разобрал Claude Code почти до винтика

learn-coding-agent - репозиторий для тех, кто хочет понять, как устроены современные coding agents не на уровне промо-страниц, а на уровне архитектуры.

Автор собрал разбор Claude Code по публичным источникам: цикл агента, систему инструментов, разрешения, работу с контекстом, сессии, подпроцессы, MCP, удалённые настройки, телеметрию и скрытые флаги.

Получился не “гайд по использованию”, а карта внутренней логики CLI-агента: как он принимает решение, когда просит разрешение, как вызывает инструменты, как хранит историю и как расширяется через внешние интеграции.

https://github.com/justxor/Claudecourse/

Читать полностью…

Rust

Трёхлетний GitHub issue в Gleam закрыли не новым алгоритмом, а более аккуратной работой с памятью.

Giacomo Cavalieri из core team переписал pretty printer на Rust arenas.

Раньше каждый вложенный Document заворачивался в отдельный Box и жил отдельной heap allocation. Для рекурсивной структуры это быстро превращается в сотни мелких выделений памяти.

Теперь документы кладутся в общую arena, а код передаёт ссылки на них.

Результат на реальном Gleam-проекте:

* pretty printer: 13ms → 9.8ms
* ускорение: 24%
* полный gleam format: 13% быстрее
* peak memory: 8.4MB → 7.6MB

Дополнительный бонус: arena позволила кэшировать и переиспользовать частые документы вроде ключевых слов, запятых и скобок. То, что раньше аллоцировалось снова и снова, теперь создаётся один раз.

Хороший пример, где производительность упирается в скучные мелкие allocation costs.

Особенно в рекурсивных структурах, где один Box выглядит безобидно, пока их не становится слишком много.

https://giacomocavalieri.me/writing/gleam-rust-arenas

#RustLang #Performance #Gleam

Читать полностью…

Rust

🚀 Rift: Альтернатива Git Worktrees

Rift предлагает эффективное управление рабочими пространствами с использованием технологий копирования по требованию. Это экспериментальный проект, который обеспечивает быструю и экономичную работу с файлами на Linux и macOS.

🚀 Основные моменты:
- Копирование по требованию для экономии места
- Мгновенное создание рабочих пространств
- Быстрый CLI для управления
- Поддержка FFI для Bun и Node

📌 GitHub: https://github.com/anomalyco/rift

Читать полностью…

Rust

В Штутгарт не едем )

Читать полностью…

Rust

Amazon Kani для Rust получил академическую статью, принятую на ASE 2026. 🦀

Kani пытается формально доказать корректность Rust-кода математически.

Что умеет:

* доказывать отсутствие panic, overflow и нарушений memory safety
* проверять, что `unsafe`-код действительно безопасен
* гонять 16 000+ harness’ов на каждый commit в Rust standard library
* находить баги, которые раньше не видели в промышленных Rust-проектах

Главное отличие простое:

fuzzing пытается найти баги через множество входных данных.

Kani проверяет свойства кода формально, в рамках заданного harness’а.

Kani интегрирован в CI стандартной библиотеки Rust.

Каждый commit в std проходит формальную проверку.

🔗 arxiv.org/abs/2607.01504

Читать полностью…

Rust

👣 Rust не обязан быть ответом на всё

Rust классный. У него сильная модель памяти, мощная типизация, zero-cost abstractions и нормальная история с безопасностью без GC.

Но мем «переписать всё на Rust» давно пора закопать.

Язык не выбирают потому, что он модный. Его выбирают потому, что он подходит под задачу.

Для системного кода, инфраструктуры, embedded, CLI, высоконагруженных сервисов и мест, где цена ошибки высокая, Rust может быть отличным выбором.

Но для простого CRUD, быстрых MVP, внутренних админок или команды без Rust-экспертизы он легко превращается не в преимущество, а в налог на разработку.

Хороший инженер не спрашивает: «на чём хайповее написать?»

Он спрашивает:

• какие ограничения у задачи

• какая команда будет это поддерживать

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

• сколько стоит скорость разработки

• что проще дебажить и развивать через год

Rust - мощный инструмент. Но инструмент, а не религия.

Читать полностью…

Rust

Вышел Rust 1.96.1


Что исправили:

• проблемы с retry и timeout в HTTP-клиенте Cargo
• miscompilation в MIR-оптимизации
• три CVE в libssh2, который используется внутри Cargo

Обновление стандартное:
rustup update stable
Патч на стабильность и улучшение безопасности.

rustup update stable

https://blog.rust-lang.org/2026/06/30/Rust-1.96.1/

Читать полностью…

Rust

Предрелизное тестирование 1.96.1

#rustlang #rust

https://blog.rust-lang.org/inside-rust/2026/06/27/1.96.1-prerelease/

Читать полностью…

Rust

⚡️ Linux Roadmap: подробный практический курс от нуля до уверенного администратора

Это пошаговый маршрут изучения Linux с упором на практику. Каждый раздел содержит объяснение «почему это устроено именно так», разбор команд и обязательные задания, которые нужно выполнить руками в терминале. Чтение без повторения навыка не даёт — держите терминал открытым рядом с этим текстом.

Как работать с этим курсом: идите сверху вниз, не перепрыгивайте разделы; каждую команду набирайте руками, а не копируйте; в конце каждого блока выполняйте задание; специально ломайте систему в виртуалке и чините — это лучший способ учиться.

https://github.com/justxor/linuxfullroadmap/

Читать полностью…

Rust

Песочницы для агентов не должны каждый раз стартовать с нуля, когда агент создаёт новую ветку.

forkd — это runtime для sandbox-окружений AI-агентов на базе Firecracker microVM.

Он помогает быстрее ветвить и распараллеливать задачи: сначала один раз запускается «прогретый» родительский microVM, а затем дочерние окружения создаются из copy-on-write снапшотов памяти вместо холодного запуска каждой VM.

Ключевые возможности:

- Forking от прогретого родителя — дочерние окружения наследуют уже загруженные импорты, зависимости, JIT-состояние, веса моделей и кэши
- KVM-изолированные microVM — каждый дочерний sandbox работает как отдельный процесс Firecracker с собственной изоляцией
- Live BRANCH — можно поставить работающий sandbox на паузу, снять снапшот состояния «на лету» и продолжить выполнение. Для v0.4 заявлено p50-окно паузы исходного окружения 56 мс
- Цепочки diff-снапшотов — можно накладывать runtime-слои вроде numpy → pandas → sklearn без повторного копирования одного и того же базового образа
- Удобная daemon-поверхность — REST API, Python/TypeScript/MCP-клиенты, метрики Prometheus, JSON audit log и поддержка systemd

Проект open-source и распространяется под лицензией Apache License 2.0.

Ссылка в ответе 👇

https://github.com/deeplethe/forkd

Читать полностью…

Rust

👣 В Rust появился интересный подход к обработке ошибок - `eros`.

Обычно выбор такой:

anyhow — удобно, но теряется точная типизация ошибок.

thiserror — типобезопасно, но приходится писать enum и boilerplate.

eros пытается взять лучшее из обоих миров: typed error unions без ручного объявления enum.

Пример:


fn read() -> Result<String, ErrorUnion<(IoError, RecvError)>> {
// ...
}


Что это даёт:

• сохраняется полная информация о типах ошибок

• ошибки естественно композятся при вызове функций

• не нужно писать отдельные enum под каждый слой

• можно добавлять context по цепочке вызовов

• есть backtraces и интеграция с логированием

• zero-cost, когда ошибки не происходит

По сути, это попытка сделать error handling в Rust более удобным, не жертвуя строгой типизацией.

212 звёзд, свежий релиз v0.6.0, проект активно поддерживается.

GitHub:
http://github.com/mcmah309/eros

Читать полностью…

Rust

🔥 Продвинутый Rust без учебных игрушек

Базу уже прошли? Тогда следующий шаг - production-разработка.

На Stepik идет скидка 60% на продвинутый курс по Rust для тех, кто хочет не просто знать синтаксис, а строить реальные системы.

Внутри: async, unsafe, gRPC, lock-free, observability, Kafka, NATS, axum, tower, CI/CD и канареечный деплой.

Финальный проект - production-ready feed-сервис от архитектуры до релиза.

21 модуль, 84 урока, 400+ проверочных шагов.

Если хотите перейти от маленьких Rust-утилит к коммерческой разработке, сейчас хороший момент зайти: https://stepik.org/a/285608/pay

Читать полностью…

Rust

Rust-компилятор запустили прямо внутри браузера 🦀

Проект Weblings переносит полноценный rustc в WebAssembly. Rust-код компилируется и запускается прямо во вкладке браузера, без удалённой песочницы и отправки кода на сервер.

Пайплайн выглядит так:

Rust → rustc → Cranelift IR → Waffle → WASM objects → linker → WASM

Для этого автор использовал патчи rustc от bjorn3, написал преобразователь Cranelift IR → Waffle и отдельный WASM-линкер.

Поверх системы уже работают две вещи:

* браузерный аналог Rust Playground;
* полный набор упражнений Rustlings без установки Rust на компьютер.

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

GitHub:
https://github.com/AngelOnFira/weblings

Читать полностью…

Rust

Syn 3.0: крупное обновление парсера Rust

Спустя три года после Syn 2.0 библиотека обновила синтаксическое дерево под новые и экспериментальные возможности Rust: generator blocks, for await, function delegation, pattern types, function contracts, super let, postfix keywords и другие конструкции.

Изменения

* Type::BareFn переименован в Type::FnPtr;
* добавлены структуры *Modifiers для будущего расширения синтаксиса;
* unsafe теперь представлен enum Safety;
* атрибуты сохраняются во всех выражениях;
* изменены API для паттернов, generics, указателей и Punctuated.

https://github.com/dtolnay/syn/releases/tag/3.0.0

Читать полностью…

Rust

XQuad - “LLVM” для quadratic optimization на Rust

Интересный проект на стыке Rust, оптимизации и quantum tooling.

Идея такая: вы описываете QUBO, Ising или discrete optimization problem один раз, а потом можете запускать её через разные backend’ы: quantum annealers или классические solver’ы.

Что внутри:

* Rust VM для quadratic models
* Python reference VM
* единая спецификация
* CLI и Python API
* solver adapters, включая D-Wave
* примеры для TSP и MaxCut
* CI-проверка: если Rust VM и Python VM расходятся, сборка падает

github.com/QuipNetwork/xquad

Читать полностью…

Rust

🔥 Хочешь быстрее расти в 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: t.me/DevopsDocker
Golang: t.me/Golang_google
Rust: t.me/rust_code
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
Java: t.me/java_library
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: /channel/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: /channel/addlist/2Ls-snqEeytkMDgy
Папка Frontend: /channel/addlist/mzMMG3RPZhY2M2Iy

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

ИТ-мемы: t.me/memes_prog
Английский для программистов: t.me/english_forprogrammers
ИИ и технологии: t.me/vistehno
954 ГБ open-source курсов: @courses
ИТ-книги бесплатно: /channel/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

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.

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

Читать полностью…

Rust

PostgreSQL переписали на Rust с нуля. И это уже не игрушечный прототип.

Проект pgrust заявляет, что новая реализация:

• проходит 46 066 запросов из regression-тестов PostgreSQL 18.3

• совместима с текущей директорией данных Postgres

• запускается в браузере как демо

Авторы говорят о WIP-версии, которая пока не опубликована, но якобы даёт до +50% в transactional workloads и до 300x в аналитике.

Звучит почти слишком смело, поэтому к цифрам лучше относиться осторожно. Но сама идея мощная: взять одну из самых сложных СУБД в мире и пересобрать её на Rust, сохранив совместимость с PostgreSQL.

GitHub: https://github.com/malisper/pgrust

Читать полностью…

Rust

SpaceWasm

Похоже, NASA разрабатывает рантайм WASM на Rust

https://github.com/nasa/spacewasm

Читать полностью…

Rust

Borrowed & Owned

Новый open-source каталог для изучения Rust.

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

Что есть:

• поиск и фильтры
• learning paths
• категории и теги
• страницы отдельных ресурсов
• starter kits для быстрого старта
• changelog новых материалов
• dark / light theme
• добавление ресурсов через GitHub

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

https://github.com/panditdhamdhere/borrowed_and_owned

Читать полностью…

Rust

LLM уже находят реальные memory safety баги в Rust-коде.

И, что неожиданно, это работает очень хорошо.

Сергей Давыдов, руководитель Rust Secure Code Working Group, использовал GPT-5.5 и Claude Opus для аудита unsafe-блоков в популярных Rust-крейтах.

В итоге нашлись десятки реальных багов:

• use-after-free

• чтение за пределами буфера

• data races

• неправильные реализации Send / Sync

Все находки проверялись через miri, чтобы убрать ложные срабатывания.

Почему в Rust это работает лучше, чем в C?

• unsafe явно помечен и изолирован, поэтому LLM сразу понимает, где искать

• miri может точно подтвердить, настоящий баг или нет

• не нужно отслеживать data flow по всей кодовой базе, как часто бывает в C

Получается, дизайн Rust случайно сделал его почти идеальным языком для LLM-аудита безопасности.

Стоит прочитать всем, кто думает про AI в security tooling.

https://gist.github.com/Shnatsel/eb0a4be79a0657e4eb67c4f085f991bc

https://shnatsel.medium.com/the-unreasonable-effectiveness-of-llms-for-auditing-rust-code-d4df8bf0afd3

#Rust #RustLang #MemorySafety #Security #LLM

Читать полностью…

Rust

Частая дилемма в Rust: Tokio отлично подходит для async I/O, Rayon для тяжёлых CPU-задач. Но как связать их так, чтобы не заблокировать async runtime? 🦀

Команда Tantivy, поискового движка на Rust, показала, как решила это в продакшене.

Проблема:

Tokio-задачи не должны блокироваться. Тяжёлая CPU-работа может подвесить весь async runtime.

Rayon-потоки не понимают async. Внутри rayon thread нельзя просто взять и сделать .await.

Передать результат обратно между этими мирами тоже не так очевидно.

Решение - мост через `oneshot`-канал.

Tokio запускает задачу и ждёт результат из oneshot.

Rayon выполняет CPU-работу в своём пуле потоков.

Когда работа завершена, Rayon отправляет результат обратно через канал.

Tokio продолжает выполнение, при этом executor всё это время не блокировался.

Очень полезный паттерн для всех, кто пишет async-код на Rust.

🔗 reddit.com/r/rust/comments/1ulo7pr

Читать полностью…

Rust

Rust сегодня:

47 веб-фреймворков, 12 async runtime, 8 ORM, 6 logging crates и отдельный crate, который просто сообщает, что ты используешь не тот crate.

Читать полностью…

Rust

⚡️ Интересный бенчмарк для C# и Windows-разработчиков.

Microsoft/windows-rs сравнил overhead WinRT language projections: Rust, C++ и C# вызывают один и тот же компонент через одинаковый ABI.

Результат грутсный для C#:

• Rust почти везде впереди.
• C++ близко.
• C# заметно отстаёт .

Особенно грустно выглядит на сценариях с активацией объектов, marshaling, QueryInterface и обработкой ошибок.

Native AOT тоже не спасает: он может улучшать startup, но не превращает C# в zero-overhead projection для таких вызовов.

Repo:
https://github.com/microsoft/windows-rs/blob/master/crates%2Fsamples%2Flang_perf%2Freadme.md

Читать полностью…

Rust

Магия Lovable: как создавать готовые интерфейсы с помощью одного запроса

Lovable может за минуты собрать экран, который выглядит как почти готовый интерфейс. Но результат зависит не от «магии нейросети», а от того, насколько точно вы ставите задачу. Один расплывчатый запрос даст случайный макет, а правильно собранный системный промпт — понятную структуру, единый стиль и экран, который уже можно показывать команде, заказчику или использовать для проверки идеи.

На открытом уроке 2 июля в 20:00 разберём, как формулировать задачи для Lovable. Поговорим о структуре системного промпта, ключевых словах, которые помогают превратить текст в качественный интерфейс, и способах доработки результата через встроенный редактор и повторные запросы. Отдельно обсудим, как управлять компонентами, просить нейросеть переиспользовать элементы и сохранять единый визуальный стиль.

👉 Записаться: https://otus.pw/kXbJ/?erid=2W5zFG3YcyF

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Читать полностью…

Rust

Когда баз много, администрирование превращается в ручное управление хаосом: серверы, кластеры, бэкапы, мониторинг и диагностика.

🐘 Postgres Professional на бесплатном вебинаре покажет, как управлять множеством баз через единый веб-интерфейс Postgres Pro Enterprise Manager.

📊 Это графическая платформа для DBA, DevOps, архитекторов и технических лидеров. Она входит во все редакции Postgres Pro и решает задачи администрирования без ручного написания SQL-команд.

На вебинаре покажут, как с помощью PPEM:

✅ Мониторить инфраструктуру

✅ Управлять экземплярами БД

✅ Работать с бэкапами

✅ Искать проблемы и ускорять диагностику


🤖 Отдельно покажут ИИ-ассистента в новой версии платформы: он обращается к документации и помогает быстрее решать типовые задачи.

📅 30 июня, вторник, 11:00 по Москве, продолжительность — 2 часа с Q&A.

Регистрируйтесь и приходите посмотреть PPEM в деле. Участие бесплатное.

Читать полностью…

Rust

Rust теперь можно компилировать в JVM bytecode.

rustc_codegen_jvm - экспериментальный backend для компилятора Rust, который берёт Rust MIR и превращает его в .class файлы, а затем собирает runnable .jar под JVM 8+.

Что уже заявлено:

- генерация исполняемого .jar
- поддержка базового core
- if/else, match, for, while, loop
- structs, tuples, arrays, slices, enums
- traits, closures, dynamic dispatch
- function pointers, recursion, generics
- часть unsafe, включая unions
- оптимизации вроде constant folding, propagation и dead code elimination

Пайплайн выглядит так:

Rust frontend → MIR → OOMIR → JVM classfile → R8 → .jar

https://github.com/IntegralPilot/rustc_codegen_jvm

Читать полностью…

Rust

Как на самом деле работает .await: пишем свой async-рантайм на Rust с нуля

Если попросить среднего Rust-разработчика объяснить, что делает .await, в ответ обычно звучит что-то про «приостанавливает выполнение, пока не придут данные». Это верно ровно настолько же, насколько «компьютер думает» объясняет работу процессора. На самом деле за .await не стоит ни потока, ни приостановки в привычном смысле. Стоит обычный enum и вызов функции по указателю.

Я полгода писал async-код на tokio, искренне считая рантайм чернм ящиком, в который лучше не лезть. Сломался этот настрой в тот день, когда у меня в проде намертво зависла одна задача: по логам она обязана была проснуться, но не просыпалась. Я потерял на ней вечер, а причина оказалась в одной строчке про Waker, к которой мы ещё вернёмся. Тогда я плюнул и за пару вечеров написал свой рантайм с нуля - и оказалось, что весь фундамент умещается в голове за один присест и примерно в 200 строк кода.

После этого и тот баг стал очевидным, и исходники tokio начали читаться как книга, а не как заклинание.

https://habr.com/ru/articles/1050160/

Читать полностью…
Subscribe to a channel