ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك 👈

Rust

Rust

الذهاب إلى القناة على Telegram

Полезный контент по программированию на Rust

إظهار المزيد
2 239
المشتركون
لا توجد بيانات24 ساعات
-27 أيام
+1030 أيام
أرشيف المشاركات
Rust
2 239
Как я снизил время инкрементных сборок Rust на 40% Я форкнул и модифицировал компилятор Rust rustc. Одна фича — кэширование расширения процедурных макросов — привела к снижению времени инкрементных сборок на 11-40% в различных реальных крейтах. Благодаря этому ускорились dev-сборки и меньше стал тормозить rust-analyzer (IDE IntelliSense). Если вы специалист в повышении производительности компилятора Rust, то можете сразу перейти к разделу «Кэширование расширения макросов: ускорение инкрементных сборок Rust на 40%». https://habr.com/ru/articles/807791/ 👉 @rust_lib

Rust
2 239
Пишем калькулятор на Rust с GUI Зачем еще один калькулятор? Да не зачем, просто как тестовый проект для рассмотрения GUI-библ
Пишем калькулятор на Rust с GUI Зачем еще один калькулятор? Да не зачем, просто как тестовый проект для рассмотрения GUI-библиотеки. Изначально я хотел попробовать такие крейты, как GPUI, Floem и Xilem, но первая, кажется, пока работает только под MacOS и Linux, вторая не позволяет установить иконку окну и кушает оперативы побольше Webview в Tauri, а до третьей я так и не добрался, узнав об Slint. Об Slint есть всего несколько новостных постов на Хабре, поэтому, возможно, вам будет интересно посмотреть, что это такое. https://habr.com/ru/articles/804655/ 👉 @rust_lib

Rust
2 239
Joshuto ranger-подобный терминальный файловый менеджер, написанный на Rust https://github.com/kamiyaa/joshuto 👉 @rust_lib
Joshuto ranger-подобный терминальный файловый менеджер, написанный на Rust https://github.com/kamiyaa/joshuto 👉 @rust_lib

Rust
2 239
Глубокая нейронная сеть с нуля на Rust 🦀 Часть 1. Основы нейронных сетей https://www.akshaymakes.com/blogs/rust_dnn_part1 Ча
Глубокая нейронная сеть с нуля на Rust 🦀 Часть 1. Основы нейронных сетей https://www.akshaymakes.com/blogs/rust_dnn_part1 Часть 2. Загрузка данных и инициализация модели NN https://www.akshaymakes.com/blogs/rust_dnn_part2 Часть 3. Прямое распространение https://www.akshaymakes.com/blogs/rust_dnn_part3 Часть 4. Функция потерь и обратное распространение https://www.akshaymakes.com/blogs/rust_dnn_part4 Часть 5. Обучение и выводы https://www.akshaymakes.com/blogs/rust_dnn_part_5 👉 @rust_lib

Rust
2 239
Как IndVarSimplification применяет математику в вашем коде Хочу поделиться своей историей расследования одной довольно необыч
Как IndVarSimplification применяет математику в вашем коде Хочу поделиться своей историей расследования одной довольно необычной компиляторной оптимизации. Необычна она в том плане, что для нее производятся довольно нетривиальные математические вычисления. Приступим! https://habr.com/ru/articles/738272/ 👉 @rust_lib

Rust
2 239
Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по п
Это слишком опасно для C++ Некоторые паттерны стало возможно использовать на практике только благодаря безопасности Rust по памяти, а на C++ они слишком опасны. В статье приведён один такой пример. Работая над внутренней библиотекой, написанной на Rust, я создал тип ошибок для парсера, у которых должна быть возможность сделать Clone без дублирования внутренних данных. В Rust для этого требуется указатель с подсчётом ссылок (reference-counted pointer) наподобие Rc. Поэтому я написал свой тип ошибок, использовал его как вариант ошибок fallible-функций, и продолжил двигаться дальше. https://habr.com/ru/articles/793868/ 👉 @rust_lib

Rust
2 239
Я написал одну из самых быстрых библиотек датафреймов У меня в портфолио есть несколько готовых пет-проектов на Rust, и я зам
Я написал одну из самых быстрых библиотек датафреймов У меня в портфолио есть несколько готовых пет-проектов на Rust, и я заметил, что позиция «а у нас уже получилась DataFrame?» нисколько меня не устраивает. Поэтому я подумал, не сделать ли мне элементарный контейнер, который решал бы мою конкретную задачу. Но этот проект вышел из-под контроля. Год спустя, написав немало кода, я создал одну из самых быстрых библиотек датафреймов, применимую в Rust и Python. Вот мой первый официальный «Hello World» на polars, размещённый у меня в блоге. Надеюсь, что с помощью этого поста я смогу пояснить читателю некоторые решения, которые мне довелось принять при проектировании, и вам станет понятнее, как Polars работает под капотом. https://habr.com/ru/companies/timeweb/articles/737808/ 👉 @rust_lib

Rust
2 239
Rust: параметризуем мутабельность через маркеры и ассоциированные типы Borrow-checker — отличный секюрити, который очень эффе
Rust: параметризуем мутабельность через маркеры и ассоциированные типы Borrow-checker — отличный секюрити, который очень эффективен, если мы находимся в безопасном Rust. Его поведение отлично описано в RustBook, и, по крайней мере, я почти никогда не сталкиваюсь с придирками, которым я бы не был благодарен. Но вот когда нужно написать семантически-безопасный API над функциями и данными, которые вообще не безопасны — у меня всё стало валиться из рук. Последние пару дней я потратил на то, чтобы придумать элегантный способ параметризации мутабельности. Над тем, чтобы на уровне API сохранялась семантика — зависимость изменяемости полей друг от друга. Даже если на самом деле они живут сами по себе. https://habr.com/ru/articles/703018/ 👉 @rust_lib

Rust
2 239
Wagyu Библиотека Rust для быстрого и простого создания криптовалютных кошельков, которую можно использовать как утилиту командной строки или создавать на базе нее криптовалютные приложения. https://github.com/AleoHQ/wagyu 👉 @rust_lib

Rust
2 239
Пишем на Python как на Rust Я начал программировать на Rust несколько лет назад, и это постепенно изменило мой подход к разработке программ на других языках программирования, особенно на Python. До того, как я начал использовать Rust, я обычно писал код на Python очень динамично, без подсказок типов, повсюду передавая и возвращая словари и время от времени возвращаясь к интерфейсам со «строковой типизацией». Однако, испытав на себе строгость системы типов Rust и заметив все проблемы, которые она предотвращает, я внезапно стал сильно беспокоиться всякий раз, когда возвращался к Python и не получал тех же гарантий. https://habr.com/ru/articles/736842/ original https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html 👉 @rust_lib

Rust
2 239
Фича-флаги времени компиляции в Rust: зачем, как и когда используются Возможность указывать фичи (функционал) для компиляции
Фича-флаги времени компиляции в Rust: зачем, как и когда используются Возможность указывать фичи (функционал) для компиляции в Rust может повысить быстродействие кода, его обслуживаемость, безопасность и портируемость. Ниже я аргументирую, почему вам следует активно использовать эти флаги функционала при потреблении зависимостей и предлагать их другим пользователям библиотеки. https://betterprogramming.pub/compile-time-feature-flags-in-rust-why-how-when-129aada7d1b3 👉 @rust_lib

Rust
2 239
Создание микросервисов на Rust с помощью Spin Rust предлагает мощный и эффективный подход к разработке приложений. А с помощь
Создание микросервисов на Rust с помощью Spin Rust предлагает мощный и эффективный подход к разработке приложений. А с помощью Spin создавать мощные микросервисы для распределенных приложений стало намного проще. Преимущества производительности Rust в сочетании с простотой использования и масштабируемостью Spin делают их ценным выбором для разработчиков, стремящихся создавать надежные и масштабируемые системы. В этой статье мы расскажем вам о фреймворке Spin и проведем вас через создание простого микросервиса. https://blog.logrocket.com/build-microservices-rust-spin/ 👉 @rust_lib

Rust
2 239
От Rust к Assembly: Понимание внутренней работы Rust https://eventhelix.com/rust/ 👉 @rust_lib
+1
От Rust к Assembly: Понимание внутренней работы Rust https://eventhelix.com/rust/ 👉 @rust_lib

Rust
2 239
Rust: выполнение HTTP-запросов и обработка ответов с помощью reqwest В Rust HTTP-запросы и парсинг результата выполнять легко
Rust: выполнение HTTP-запросов и обработка ответов с помощью reqwest В Rust HTTP-запросы и парсинг результата выполнять легко — нужны лишь подходящие библиотеки. reqwest и serde могут стать идеальным решением. https://telegra.ph/Rust-vypolnenie-HTTP-zaprosov-i-obrabotka-otvetov-s-pomoshchyu-reqwest-02-05 Original https://levelup.gitconnected.com/rust-making-http-requests-and-handling-responses-by-using-reqwest-c8d557cdce46 👉 @rust_lib

Rust
2 239
Использование scoped threads Rust для повышения эффективности и безопасности В прошлом крейт crossbeam предоставлял возможнос
Использование scoped threads Rust для повышения эффективности и безопасности В прошлом крейт crossbeam предоставлял возможность создавать скопированные потоки. Но теперь его функция scoped thread была мягко устаревшей в пользу встроенной в Rust функции scoped thread. В этой статье вы узнаете, что такое scoped threads, как они функционируют, как их создавать и чем они отличаются от unscoped threads. https://blog.logrocket.com/using-rust-scoped-threads-improve-efficiency-safety/ 👉 @rust_lib

Rust
2 239
Запуск Rocket REST API на AWS Rocket.rs — самый известный фреймворк на Rust для легкого создания производительных и типобезоп
Запуск Rocket REST API на AWS Rocket.rs  —  самый известный фреймворк на Rust для легкого создания производительных и типобезопасных веб-приложений. Развернем с его помощью собственный Rocket REST API на AWS. Что понадобится языка программирования Rust; команд оболочки в Linux; AWS Elastic Compute Cloud (EC2) и сетей; учетная запись AWS. Что будем разворачивать? Очень простой Rocket REST API с двумя маршрутами: / и /sort. Первый маршрут  —  это индекс. После GET-запроса он отправит текст Hello from Rocket REST API!. Второй  —  POST-маршрут. По нему в приложении в ответ на заданный несортированный целочисленный массив и порядок сортировки вернется корректно отсортированный массив. https://betterprogramming.pub/launching-a-rocket-rest-api-on-aws-d8c17f0c9850 👉 @rust_lib

Rust
2 239
Wtftw Window Tiling For The Win. Менеджер черепичных окон, написанный на Rust https://github.com/Kintaro/wtftw 👉 @rust_lib
Wtftw Window Tiling For The Win. Менеджер черепичных окон, написанный на Rust https://github.com/Kintaro/wtftw 👉 @rust_lib

Rust
2 239
Игровой движок написанный на Rust Ambient - это кроссплатформенная среда исполнения с открытым исходным кодом и платформа для создания, развертывания и совместного использования высокопроизводительных многопользовательских игр в Интернете, на рабочем столе и в других местах. Основанная на Rust, WebAssembly (WASM) и WebGPU, Ambient является передовой, оставаясь при этом верной своей цели: сделать разработку игр увлекательной и доступной. https://github.com/AmbientRun/Ambient 👉 @rust_lib

Rust
2 239
Самая маленькая хеш-таблица в мире 1 декабря я в очередной раз поучаствовал в Advent of Code, написав программу на Rust. Если
Самая маленькая хеш-таблица в мире 1 декабря я в очередной раз поучаствовал в Advent of Code, написав программу на Rust. Если интересно — код можно найти на GitHub. Тут мне хотелось бы рассказать о моём решении задачи, предлагавшейся во 2 день мероприятия, так как это решение, с одной стороны, сверх всякой меры оптимизировано, а с другой — демонстрирует кое-какие полезные приёмы. Чтобы не усложнять себе жизнь — мы рассмотрим лишь первую часть задачи, но те же приёмы можно применить и к её второй части. Мы начнём входить в курс дела не спеша, но я предлагаю вам не отклоняться от заданного мной курса, так как, после того, как вы полностью прочтёте этот материал, у вас должно появиться понимание того, что именно делает следующая функция, как она работает, как такую функцию написать, и того, почему это — самая маленькая в мире хеш-таблица: pub fn phf_shift(x: u32) -> u8 { let shift = x.wrapping_mul(0xa463293e) >> 27; ((0x824a1847u32 >> shift) & 0b11111) as u8 } Rus https://habr.com/ru/companies/wunderfund/articles/723536/ Eng https://orlp.net/blog/worlds-smallest-hash-table/ 👉 @rust_lib

Rust
2 239
Ratatui Библиотека Rust, предназначенная для создания терминальных пользовательских интерфейсов (TUI). https://github.com/tui-rs-revival/ratatui 👉 @rust_lib