TGViewer
Channel Public Channel
Rust

Rust

@rust_code

Rust programming language

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

#VRHSZ
Subscribers
8.91K
Photos
530
Videos
46
Links
1.1K

Showing posts older than #1377 · Back to latest

Older Posts 20 shown
Post #1376 3.49K
RUSTACEANS_BE_LIKE
  • 😁 45
  • ❤ 9
  • 💊 7
  • ❤‍🔥 5
  • 👍 3
  • 🤷‍♂ 1
  • 🤣 1
Post #1375 3.63K
🌳 Как сделать поведение AI предсказуемым: Bonsai строит логику через Behavior Trees

Bonsai — open-source реализация Behavior Trees на Rust для детерминированного AI, робототехники и игровых систем. Недавно у проекта появились и Python bindings.

Вместо огромного количества if/else поведение собирается из узлов: Sequence, Select, If, While, WhenAll, WhenAny, Race. Каждый узел возвращает Success, Failure или Running, а дерево само решает, что выполнять дальше.

Такой подход удобен там, где нужна не «магия» LLM, а жёстко контролируемая логика: NPC, автономные роботы, игровые агенты, навигация и сложные реактивные системы. Долгие задачи можно выносить в фоновые потоки, чтобы дерево не блокировалось.

Для Rust:

bonsai-bt = "*"

Для Python:

pip install bonsai-bt

GitHub: github.com/Sollimann/bonsai
  • 👍 19
  • 🔥 4
  • ❤ 2
  • 🥰 2
Post #1373 3.19K
📡 MQTT прямо в терминале - и без боли.

LazyMQTT - TUI-клиент для просмотра, анализа и публикации MQTT-сообщений.

Что умеет:

- показывает live-дерево топиков;
- хранит историю сообщений;
- умеет удобно отображать JSON, XML и Protobuf;
- поддерживает алерты;
- показывает аналитику трафика;
- позволяет публиковать сообщения прямо из терминала.

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

Для IoT-разработчиков, embedded-инженеров и всех, кто работает с MQTT-брокерами, выглядит как очень удобная альтернатива тяжёлым GUI-клиентам.

GitHub:
https://github.com/ScottFelder/lazymqtt

#Rust #MQTT #IoT #TUI #Terminal #OpenSource
  • ❤ 14
  • 👍 3
Post #1372 8.23K
Rust when you use unsafe
  • ❤ 51
  • 😁 39
  • 👍 6
  • 💯 4
  • 👾 2
  • ❤‍🔥 1
Post #1371 3.49K
🦀 Маленькая команда из Нидерландов сейчас меняет сам Rust изнутри.

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

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

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

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

⚡ развитие const generics;

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

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

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

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

https://hexcat.nl/updates/
  • 🔥 65
  • 👍 18
  • ❤ 7
  • 🥰 4
  • 🤣 3
  • 😁 2
  • 🥴 1
Post #1370 4.61K
🔥 Одна строка в конфиге ускорила production-ответ с 126–230 мс до менее чем 9 мс

Paweł Urbanek собрал очень практичный гайд по профилированию Rust, где оптимизации идут не по принципу «что интереснее», а по реальной отдаче.

Из кейсов:

N+1 SQL → 21 запрос превратили в один JOIN, функция ускорилась со 104 до 70 мкс.

Три последовательных HTTP-вызова → tokio::try_join!, итоговое время почти вдвое меньше.

Неправильно настроенный Brotli в maplibre/martin → скорость была всего 27,9 KB/s. Одна правка конфига дала примерно 57x ускорение, а latency упала до <9 мс.

Ещё жёстче кейс с write lock, который держали на всём HTTP round trip. После переноса блокировки P95 для читателей рухнул с 1,11 секунды до 9,42 мкс.

И отдельная классика Tokio: unbounded channel молча накопил 73 сообщения, потому что consumer не успевал. Никакой ошибки, просто медленное движение к OOM.

Полезный порядок из гайда:

сначала SQL и HTTP, потом locks и channels, и только после этого CPU profiling.

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

🔗 https://hotpath.rs/blog/profiling-rust-guide

#Rust #Performance #Profiling #Tokio #Backend
  • 👍 31
  • 🔥 16
  • 😁 9
  • ❤ 5
  • 🤔 1
Post #1369 4.13K
## Сколько незаконченных Git-репозиториев лежит у вас на диске?

drydock показывает их все в одном терминальном интерфейсе:

- где остались незакоммиченные изменения;
- какие коммиты ещё не отправлены;
- где забыты stash, конфликт или незавершённый rebase;
- какие проекты изменились после последнего тега и готовы к новому релизу.

Инструмент проверяет не только текущую ветку, поэтому забытая работа в локальной feature-ветке тоже попадёт в список.


brew install yetidevworks/drydock/drydock

# или
cargo install drydock


После установки достаточно запустить:


drydock


Есть фильтры, fuzzy-поиск, JSON-вывод, открытие проекта в редакторе и массовый fetch. Состояние репозиториев обновляется автоматически через файловый watcher.

drydock написан на Rust с использованием Ratatui и работает на macOS и Linux.

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

GitHub:
https://github.com/yetidevworks/drydock
  • 🔥 14
  • ❤ 5
  • 🥱 4
  • 🥰 2
Post #1368 4.56K
🚀 Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта

GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.

Что внутри:

- четыре независимых слоя на Rust: parser → IR → planning → execution;
- результаты сразу возвращаются как Apache Arrow Table;
- данные легко передаются в Pandas и Polars;
- постоянное хранение построено на Parquet;
- встроены PageRank, Louvain и гибридный текстово-векторный поиск;
- Python- и Node.js-биндинги работают поверх одного движка.


from graphforge import GraphForge

graph = GraphForge("research/")

result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")

print(result.to_pandas())


При этом GraphForge честно позиционируется как инструмент исследовательского и notebook-масштаба. Для миллиардных графов, высокой нагрузки и многопользовательского доступа по-прежнему нужна серверная БД.

Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.

https://github.com/CurateLabs/graphforge

#RustLang #Python #OpenSource #GraphDatabase #DataScience #KnowledgeGraph
  • 🔥 7
  • 👍 6
  • 🥱 3
  • ❤ 2
  • 😁 1
Post #1367 4.17K
Cargo готовят к большой перестройке 🦀

Лид команды Cargo Ed Page опубликовал vision-документ о будущем главного инструмента Rust.

Самые интересные идеи:

- перевести Cargo на async/await и лучше распараллелить работу;
- добавить plumbing-команды в духе Git;
- перейти на PubGrub для более понятного разрешения зависимостей;
- улучшить provenance crates и доверие к пакетам;
- вынести использование unsafe в метаданные для аудита;
- усилить контроль над proc-macro и build scripts.

Отдельно затронуты AI-агенты: Cargo не хотят переделывать «под ИИ». Идея проще — ускорить сборки, улучшить сигналы и безопасность зависимостей, что одинаково полезно и людям, и агентам.

Это пока не roadmap, а приглашение сообщества обсудить будущее Cargo.

Источник:
https://epage.github.io/blog/2026/08/cargo-vision/

#Rust #Cargo #RustLang #DevTools
  • ❤ 39
  • 🔥 20
  • 🥰 6
  • 👍 2
  • 🥱 2
Post #1366 6.34K
🦀 Rust вводит официальные правила использования LLM при работе над `rust-lang/rust`

Это не запрет ИИ и не позиция всего проекта Rust. Политику приняли команды, работающие с основным репозиторием языка.

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

Главный принцип:

> LLM можно использовать для анализа, проверки, уточнения и ревью, но не для самостоятельного создания изменений.

AI-сгенерированный код допускается только для заранее согласованных и некритичных задач. Автор должен:

- раскрыть использование LLM;
- добавить тесты;
- самостоятельно проверить результат;
- понимать каждую строку изменения.

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

Текст, созданный моделью для issue, PR или комментариев, тоже нужно явно помечать. При этом ревьюер не обязан проверять AI-сгенерированный PR и может закрыть его при нарушении политики.

Подробнее:
https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/
  • 👍 55
  • 🔥 13
  • ❤ 7
  • 🖕 2
  • 🫡 2
Post #1365 4.35K
Rust без unsafe всё-таки может словить UB 😬

В сети разошёлся пример: код компилируется на stable Rust, не содержит ни одного unsafe-блока — и при этом позволяет получить dangling reference.

Причина не в том, что borrow checker внезапно «бесполезен», а в soundness-баге компилятора, связанном с lifetime и типами функций. Проблема известна Rust-команде как high-priority unsoundness issue и воспроизводится начиная с Rust 1.66.

То есть формула «safe Rust гарантированно исключает UB» имеет важную оговорку: если сам компилятор и стандартная библиотека sound.

Rust всё ещё сильно сокращает класс memory-safety ошибок - просто даже у borrow checker бывают баги.
  • 🤔 22
  • 🌭 4
  • ❤ 3
  • 🔥 3
  • 👍 2
  • 💯 2
  • 💊 2
  • 🦄 1
Post #1363 3.79K
Dimforge выпустила Nexus - кроссплатформенный GPU physics engine, полностью написанный на Rust. Даже шейдеры. 🦀

Что получилось:

→ в 2 раза быстрее прошлой WGSL-реализации
→ работает в браузере через WebGPU
→ есть Python bindings для RL training workflows
→ кроссплатформенность: desktop, web и mobile

Rapier, их движок rigid body physics, тоже получил крупные улучшения для робототехники: joint motors, articulation bodies и более точную симуляцию моделей роботов.

Dimforge тихо собирает одну из самых серьёзных Rust-инфраструктур для физики. Q2 2026, похоже, стал для них самым сильным кварталом.

dimforge.com/blog/2026/07/01/dimforge-Q2-technical-report
  • ❤‍🔥 22
  • 👍 10
  • ❤ 5
  • 🔥 3
  • 💋 1
Post #1362 7.52K
✔️ Firecrawl открыла один из самых быстрых PDF-парсеров

Компания выложила в open source pdf-inspector - библиотеку на Rust, которая превращает PDF в Markdown, сохраняя структуру документа, заголовки и таблицы.

По заявленным тестам, обработка одной страницы занимает около 0,002 секунды, а набор из 200 PDF был пройден примерно за 2,8 секунды.

Главное здесь не одна скорость: парсер старается сохранить исходную логику документа, поэтому результат удобнее сразу отдавать в RAG, поиск, анализ или пайплайн подготовки данных.

Проект полностью открыт.

https://github.com/firecrawl/pdf-inspector

@rust_code
  • 🔥 43
  • 👍 14
  • ❤ 13
  • 🥰 1
  • 😁 1
  • 😍 1
Post #1361 4.67K
Topcoat: команда Tokio представила «Rails для Rust» 🦀

Topcoat - экспериментальный fullstack-фреймворк с готовой маршрутизацией, серверным рендерингом, компонентами и сборкой ассетов.

Главная идея — реактивность без отдельного JavaScript-кода и WASM. Вы пишете обычное типизированное Rust-выражение:


<button @click=$(|_e| open.set(!open.get()))>
"Что такое Topcoat?"
</button>


При первом рендере оно выполняется на сервере, а затем Topcoat переводит его в JavaScript, чтобы интерфейс мгновенно обновлялся в браузере.

Что уже есть:

- асинхронные серверные компоненты с прямым доступом к базе;
- view!`-шаблоны с обычными `if и for из Rust;
- маршруты, автоматически определяемые по структуре модулей;
- редактируемые UI-компоненты на Tailwind в духе shadcn/ui;
- встроенная сборка ассетов;
- интеграции с Tailwind и htmx;
- серверные функции и частичное обновление HTML.

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

Проект пока находится на ранней экспериментальной стадии, поэтому возможны серьёзные изменения API. В планах — аутентификация, фоновые задачи, WebSocket, потоковый SSR и клиентская навигация.

https://github.com/tokio-rs/topcoat

#rust #rustlang #webdev #fullstack #tokio #opensource
  • 👍 43
  • ❤ 17
  • 🤯 11
  • 😁 2
  • 🥴 2
  • 🗿 2
  • 💊 2
  • 🔥 1
Post #1360 4.47K
Как веб-разработчики спорят, что лучше, C++ или Rust, хотя ни на одном из них не написали ни строчки.
  • 😁 96
  • 👏 10
  • 💯 8
Post #1359 4.91K
#Rust #C++ #Golang — языки программирования и скорость компиляции.
  • 😁 90
  • 💯 18
  • 💊 7
  • 👻 3
  • ❤ 1
  • 💅 1
Post #1358 4.87K
BullMQ теперь есть нативно для Rust.

Одна из самых популярных Redis-очередей для фоновых задач получила стабильный Rust-релиз:


cargo add bullmq-official


Это нормальная Rust-реализация async/await и Tokio: привычный Result для ошибок, безопасное шаринг-поведение между tasks и API, который ощущается как Rust, а не как порт чужой библиотеки.

В v1.0.0 уже есть почти всё, что нужно для production-очередей:

* delayed и prioritized jobs
* deduplication
* retries и backoff
* rate limits
* stalled-job detection
* dependent job trees через FlowProducer
* cron и interval recurring jobs
* QueueEvents для наблюдения за жизненным циклом задач

Новая версия использует те же Lua-скрипты, что уже годами крутятся в Node.js, Python, PHP и Elixir-реализациях.

Это значит, что Rust-сервис может положить job в очередь, а Node.js worker её обработает. Или наоборот. Без миграции, sidecar’ов и adapter layer.

По первым бенчмаркам Rust уже немного быстрее Node.js на последовательной и bulk-записи задач, а на high-concurrency processing идёт примерно вровень.


https://bullmq.io/news/260712/rust-release

#RustLang #Redis #BullMQ #Tokio
  • 🔥 21
  • 👍 6
  • 👏 6
  • ❤ 3
Post #1357 3.96K
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/
  • 👍 8
  • 🌚 4
  • ❤ 3
  • 🔥 3
  • 🖕 3
  • 🤪 2
  • 🙊 1
Post #1355 4.92K
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
  • ❤ 33
  • 🔥 26
  • 👍 9
  • 💊 2
Post #1354 4.75K
«Никогда не используйте 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-блока в коде. Технически безопаснее от этого, конечно, не стало.
  • 💊 53
  • 😁 31
  • 🔥 8
  • ❤ 3
  • 🥰 2
  • 🙈 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →