Rust
8.64K subscribers
497 photos
43 videos
3 files
1.03K links
Rust programming language

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

#VRHSZ
Download Telegram
Рой ИИ-агентов написал аналог 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
🔥3411🤣10👍8🖕5💊4😁3🥱2
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
👍15🔥64
«Никогда не используйте 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-блока в коде. Технически безопаснее от этого, конечно, не стало.
💊50😁31🔥83🥰2🙈2
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
32🔥25👍9💊2
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🌚43🔥3🖕2🤪2🙊1
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
🔥19👍6👏62
This media is not supported in your browser
VIEW IN TELEGRAM
#Rust #C++ #Golang — языки программирования и скорость компиляции.
😁86💯17💊7👻31💅1
Как веб-разработчики спорят, что лучше, C++ или Rust, хотя ни на одном из них не написали ни строчки.
😁88👏10💯8
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
👍4116🤯10😁2🥴2🗿2💊2🔥1
✔️ Firecrawl открыла один из самых быстрых PDF-парсеров

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

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

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

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

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

@rust_code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥39👍1412🥰1😁1😍1
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
❤‍🔥21👍95🔥3💋1
🦀 Highload на Rust: System Design, конкурентность и производительность под нагрузкой — новый курс на Mentorix

Highload глазами Rust-инженера: как проектировать и писать сервисы, которые держат нагрузку без сборщика мусора и без сюрпризов в хвосте латентности.

⚙️ Внутри: перцентили, память и арены, zero-cost абстракции, lock-free и memory ordering, async и backpressure, кэширование, rate limiting, circuit breaker, шардирование, system design
🧩 148 задач с автопроверкой на живом компиляторе
💻 Расчёты и симуляции, как на реальных собеседованиях
🎓 Сертификат · доступ навсегда
▶️ Часть уроков открыта — начать можно бесплатно

🏷 −50% — скидка действует 24 часа
19 990 ₽9 995 ₽

Забрать курс со скидкой

━━━━━━━━━━━━━━

Курс продвинутый — предполагает уверенный Rust. Если хотите подтянуть базу, на платформе есть бесплатные курсы:

🦀 Rust — основы языка
🧩 Тренажёр Rust — 70 задач с автопроверкой
Сети для разработчиков: TCP/IP, HTTP, DNS

📚 Все бесплатные курсы Mentorix

Реклама: Крупчатников Максим Сергеевич 34441205470 erid: 2VtzquyZbYN
😁53🖕1👀1💊1
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 бывают баги.
🤔18🌭43🔥3👍2💊2💯1🦄1
🦀 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/
👍43🔥114🖕2🫡1