Rust
2.03K subscribers
121 photos
85 videos
2 files
162 links
Полезный контент по программированию на Rust
Download Telegram
Welcome to Comprehensive Rust 🦀

Это бесплатный курс по языку Rust, разработанный командой разработчиков Android в Google. Курс охватывает весь спектр языка Rust, от базового синтаксиса до таких продвинутых тем, как дженерики и обработка ошибок.

https://google.github.io/comprehensive-rust/

👉 @rust_lib
👍121🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
RustGPT: ChatGPT UI Built with Rust, Htmx, SQLite

RustGPT - это пользовательский интерфейс ChatGPT, созданный на основе Rust + HTMX: мощь Rust в сочетании с простотой HTMX 💚.

https://github.com/bitswired/rustgpt

👉 @rust_lib
Чем хорош Rust для продакшена?

За последние годы интерес к Rust значительно вырос. Отчасти этому способствовало то, что ведущие участники технологической индустрии, такие как Microsoft, Google и Amazon рассказали о своём опыте использования этого языка в реализации критических систем.

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

https://habr.com/ru/companies/ruvds/articles/774042/

👉 @rust_lib
👍6
Пишем простой калькулятор используя фреймворк eframe (egui)

Всем здравствуйте. Ниже будет приведен пример написания PWA приложения готового для использования как в браузере, так и на компьютере с ОС Windows. Использовать будем язык программирования Rust и фреймворк eframe (egui). Готовое приложение будет доступно как исполняемый файл для ОС Windows, и как файл Webassembly. В процессе работы мы будем использовать GitHub Action для отслеживания корректности написания нашего кода и сборки исполняемых файлов программы, а также для развертывания (версию программы с использованием Webassembly) как страницы в интернете (GitHub Pages).

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

👉 @rust_lib
👍6
Язык программирования Rust: безопасность, производительность и преимущества

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

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

👉 @rust_lib
👍5
Rustix

Система контроля версий написанная на Rust

https://github.com/knoxydev/rustix-vcs

👉 @rust_lib
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Ratatui

Библиотека Rust, предназначенная для создания терминальных пользовательских интерфейсов (TUI).

https://github.com/tui-rs-revival/ratatui

👉 @rust_lib
👍18
Самая маленькая хеш-таблица в мире

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
👍4
Media is too big
VIEW IN TELEGRAM
Игровой движок написанный на Rust

Ambient - это кроссплатформенная среда исполнения с открытым исходным кодом и платформа для создания, развертывания и совместного использования высокопроизводительных многопользовательских игр в Интернете, на рабочем столе и в других местах. Основанная на Rust, WebAssembly (WASM) и WebGPU, Ambient является передовой, оставаясь при этом верной своей цели: сделать разработку игр увлекательной и доступной.

https://github.com/AmbientRun/Ambient

👉 @rust_lib
👍132
Wtftw

Window Tiling For The Win. Менеджер черепичных окон, написанный на Rust

https://github.com/Kintaro/wtftw

👉 @rust_lib
👍7
Запуск 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
👍21
Использование 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
👍3
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
👍6
От Rust к Assembly: Понимание внутренней работы Rust

https://eventhelix.com/rust/

👉 @rust_lib
👍101🔥1
Создание микросервисов на Rust с помощью Spin

Rust предлагает мощный и эффективный подход к разработке приложений. А с помощью Spin создавать мощные микросервисы для распределенных приложений стало намного проще. Преимущества производительности Rust в сочетании с простотой использования и масштабируемостью Spin делают их ценным выбором для разработчиков, стремящихся создавать надежные и масштабируемые системы.

В этой статье мы расскажем вам о фреймворке Spin и проведем вас через создание простого микросервиса.

https://blog.logrocket.com/build-microservices-rust-spin/

👉 @rust_lib
👍41
Фича-флаги времени компиляции в Rust: зачем, как и когда используются

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

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

https://betterprogramming.pub/compile-time-feature-flags-in-rust-why-how-when-129aada7d1b3

👉 @rust_lib
👍21
Пишем на 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
👎10👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Wagyu

Библиотека Rust для быстрого и простого создания криптовалютных кошельков, которую можно использовать как утилиту командной строки или создавать на базе нее криптовалютные приложения.

https://github.com/AleoHQ/wagyu

👉 @rust_lib
👍51👎1🍌1🗿1
Rust: параметризуем мутабельность через маркеры и ассоциированные типы

Borrow-checker — отличный секюрити, который очень эффективен, если мы находимся в безопасном Rust. Его поведение отлично описано в RustBook, и, по крайней мере, я почти никогда не сталкиваюсь с придирками, которым я бы не был благодарен.


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

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

👉 @rust_lib
4👍4