Rust
8.04K subscribers
380 photos
38 videos
3 files
939 links
Rust programming language

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

@ai_machinelearning_big_data - машинное обучение

@programming_books_it - бесплатные it книги

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚

#VRHSZ
Download Telegram
👣 Rust совет: безопасные матрицы с Const Generics

Const generics позволяют передавать константы на этапе компиляции прямо в типы.

Это особенно полезно для работы с массивами и матрицами, где размеры должны быть строго фиксированы.

Пример - типобезопасная матрица:


struct Matrix<const ROWS: usize, const COLS: usize> {
data: [[f32; COLS]; ROWS],
}

let mat: Matrix<2, 2> = Matrix {
data: [[1.0, 2.0], [3.0, 4.0]],
};

let value = mat.data[1][0]; // 3.0


#rust #rustlang #junior #rusttip
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥74🥰1🤗1
🦀 Как устроен async «под капотом» в Rust — на пальцах и без магии

В статье разобрано, как написать микро async-runtime с нуля на macOS, используя kqueue. Отличный материал, чтобы наконец понять, что происходит под async/await.

Что он реализует

Минимальный, но полноценный стек:

- event loop — сердце рантайма
- poller — ждёт события от ОС
- reactor — связывает I/O-события и задачи
- tasks — единицы работы (future’ы)
- wakers — механизм «разбудить задачу»
- executor — запускает и перепланирует задачи

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

- как kqueue сигналит о готовности сокета
- как future переходит из Pending в Ready
- как waker возвращает задачу в очередь
- как executor крутит цикл выполнения

После такого разборa async в Rust перестаёт быть «чёрной коробкой».

Статья: https://michaelhelvey.dev/posts/rust_async_runtime

michaelhelvey.dev/posts/rust_async_runtime
#rust #rustlang
12👍7🥰5🤗2
Всякий раз, когда упоминается Rust в Linux! 🦀

#rust #rustlang #programming
🔥15😁143🤣3🥰1😱1💯1
🛠️ Claude's C Compiler — Компилятор C на Rust

Claude's C Compiler (CCC) — это компилятор C, написанный с нуля на Rust, который поддерживает архитектуры x86-64, i686, AArch64 и RISC-V 64. Он не требует внешних зависимостей и генерирует ELF-исполняемые файлы. CCC может служить заменой GCC и успешно компилирует реальные проекты, включая Linux kernel и популярные библиотеки.

🚀 Основные моменты:
- Полностью написан на Rust без внешних инструментов.
- Поддерживает несколько архитектур с одним кодом.
- Совместим с большинством флагов GCC.
- Успешно компилирует множество известных проектов.
- Необходима Linux-система для работы.

📌 GitHub: https://github.com/anthropics/claudes-c-compiler

#rust
🖕43🔥177🤬7💊5❤‍🔥3😐3🌚2🙉1
🦀 Google наконец выпустил официальный CLI на Rust для своих сервисов.

Теперь через один инструмент можно работать с Gmail, Drive, Sheets, Calendar, Admin, Keep, Meet и еще десятком сервисов Google.

#rust #rustlang #programming

https://github.com/googleworkspace/cli
👍35🔥1210💊41🌭1
🦀 Вышел Rust 1.94.0

В новом релизе появилось небольшое, но очень полезное изменение для разработчиков CLI-утилит.

Теперь переменная CARGO_BIN_EXE_<name> доступна не только во время сборки, но и во время выполнения программы.

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

Теперь Cargo сам предоставляет путь к бинарному файлу, что сильно упрощает интеграционное тестирование CLI-приложений.

Полный список изменений доступен в changelog релиза Rust 1.94.0.

https://github.com/rust-lang/rust/releases/tag/1.94.0

#rustlang #rust #cargo #release #testing #opensource
👍31🔥17🎉64😁21🥰1🤗1
🦀 Вышел rustup 1.29.0

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

Что нового:

- rustup update стал быстрее благодаря параллельной загрузке и распаковке
- появилась официальная поддержка Solaris - sparcv9 и x86_64
- rustup теперь автоматически настраивает PATH для tcsh и xonsh
- если у вас уже есть свой rust-analyzer в PATH, rustup будет использовать именно его - удобно для Neovim и Helix
- к команде присоединился новый участник - @FranciscoTGouveia

Особенно приятно видеть изменения не только для массовых сценариев, но и для более нишевых окружений и удобных dev-воркфлоу.

Небольшой релиз, но очень практичный.

#rust #rustlang #programming

https://blog.rust-lang.org/2026/03/12/Rustup-1.29.0/
👍28🔥106🤗21🥰1
Rust-совет недели 🦀

Можно встроить статический текст прямо в бинарник с помощью include_str!.

Этот макрос читает файл во время компиляции и встраивает его содержимое прямо в программу. Никакого чтения файлов во время выполнения.

Это удобно для:
- шаблонов конфигурации
- встроенных скриптов
- статических ресурсов
- тестовых данных

Пример:


fn main() {
const TEXT: &str = include_str!("static-data.txt");
let program = include_str!("main.rs");
}


Во время компиляции Rust читает файл и помещает его содержимое прямо в исполняемый файл.

Просто, быстро и без runtime IO.

#rust #junior #rustlang
25🔥18👍10🤔2🥰1🤗1
🌐 IRBox: Удобный и безопасный прокси-клиент

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

🚀 Основные моменты:
- Поддержка множества протоколов (VLESS, VMess, Shadowsocks и др.)
- Расширенные функции управления (правила маршрутизации, автообновление подписок)
- Интуитивно понятный интерфейс с темами и тестированием задержки серверов

📌 GitHub: https://github.com/frank-vpl/IRBox

#rust
👍178🥰3😐2🤗1
🦀 Как может выглядеть будущее Rust

В новой статье “A Grand Vision for Rust разработчик Yoshua Wuyts рассуждает о том, в каком направлении может развиваться язык в ближайшие годы.

Главная идея - сделать Rust ещё более надежным системным языком, который позволяет писать быстрые программы и при этом максимально снижает вероятность ошибок.

Один из возможных шагов - развитие системы эффектов. Смысл в том, чтобы функции могли явно указывать, какие действия они выполняют. Например, делает ли функция ввод-вывод, может ли вызвать panic, использует ли выделение памяти или запускает параллельные задачи.

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

Также обсуждается развитие модели конкурентности и более удобная работа с асинхронным кодом. Идея в том, чтобы управление задачами стало более структурированным и предсказуемым.

Отдельное внимание уделяется упрощению сложных частей языка и улучшению инструментов для системного программирования.

В целом автор говорит о том, что Rust уже считается одним из самых безопасных языков, но в будущем он может стать платформой, где корректность программ будет ещё сильнее контролироваться самим компилятором.🦀 Как может выглядеть будущее Rust

В новой статье “A Grand Vision for Rust разработчик Yoshua Wuyts рассуждает о том, в каком направлении может развиваться язык в ближайшие годы.

Главная идея - сделать Rust ещё более надежным системным языком, который позволяет писать быстрые программы и при этом максимально снижает вероятность ошибок.

Один из возможных шагов - развитие системы эффектов. Смысл в том, чтобы функции могли явно указывать, какие действия они выполняют. Например, делает ли функция ввод-вывод, может ли вызвать panic, использует ли выделение памяти или запускает параллельные задачи.

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

Также обсуждается развитие модели конкурентности и более удобная работа с асинхронным кодом. Идея в том, чтобы управление задачами стало более структурированным и предсказуемым.

Отдельное внимание уделяется упрощению сложных частей языка и улучшению инструментов для системного программирования.

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

blog.yoshuawuyts.com/a-grand-vision-for-rust/
#rust #rustlang
26🔥14🥰4💯2🤔1
🤖 Spacebot: AI для команд и сообществ

Spacebot — это мощный AI-агент, созданный для работы в многопользовательских средах, таких как Discord и Slack. Он обрабатывает множество запросов одновременно, не блокируя пользователей и не теряя контекст. Идеально подходит для активных сообществ и команд, обеспечивая эффективное взаимодействие и выполнение задач.

🚀 Основные моменты:
- Поддержка одновременных разговоров и задач.
- Интеграция с Discord, Slack и Telegram.
- Специализированные процессы для выполнения различных задач.
- Возможность развертывания через один клик или самостийно.
- Многофункциональные инструменты для работы с файлами и кодом.

📌 GitHub: https://github.com/spacedriveapp/spacebot

#rust
🔥5🗿3🖕21🥰1🤣1💅1