Список ресурсов для изучения Rust - дорожная карта от начинающего до продвинутого уровня
Репозиторий LearnRust содержит ресурсы для изучения языка Rust: книги, упражнения, видеокурсы и проекты
👉 https://github.com/ImplFerris/LearnRust
@RustPortal
Репозиторий LearnRust содержит ресурсы для изучения языка Rust: книги, упражнения, видеокурсы и проекты
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - ImplFerris/LearnRust: Rust Learning Resources
Rust Learning Resources. Contribute to ImplFerris/LearnRust development by creating an account on GitHub.
👍6
Пишем калькулятор на Rust с GUI
👉 https://habr.com/ru/articles/804655/
@RustPortal
Зачем еще один калькулятор? Да не зачем, просто как тестовый проект для рассмотрения GUI-библиотеки.
Изначально я хотел попробовать такие крейты, как GPUI, Floem и Xilem, но первая, кажется, пока работает только под MacOS и Linux, вторая не позволяет установить иконку окну и кушает оперативы побольше Webview в Tauri, а до третьей я так и не добрался, узнав об Slint.
Об Slint есть всего несколько новостных постов на Хабре, поэтому, возможно, вам будет интересно посмотреть, что это такое.
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
Глубокая нейронная сеть с нуля на 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
@RustPortal
https://www.akshaymakes.com/blogs/rust_dnn_part1
https://www.akshaymakes.com/blogs/rust_dnn_part2
https://www.akshaymakes.com/blogs/rust_dnn_part3
https://www.akshaymakes.com/blogs/rust_dnn_part4
https://www.akshaymakes.com/blogs/rust_dnn_part_5
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Ratatui
Библиотека Rust, предназначенная для создания терминальных пользовательских интерфейсов (TUI).
https://github.com/tui-rs-revival/ratatui
@RustPortal
Библиотека Rust, предназначенная для создания терминальных пользовательских интерфейсов (TUI).
https://github.com/tui-rs-revival/ratatui
@RustPortal
👍11🔥4❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Выловил на просторах GitHub годноту — rust-snake-ai-ratatui
Это проект, где нейросеть учится играть в змейку прямо в терминале. Причём весь код написан на Rust, а интерфейс сделан с помощью библиотеки Ratatui
Проект позволяет наблюдать, как искусственный интеллект постепенно осваивает классическую игру, принимая решения на основе визуальных данных.
Код открыт и доступен для изучения, что делает его отличным ресурсом для тех, кто хочет понять, как можно реализовать подобные алгоритмы на Rust
@RustPortal
Это проект, где нейросеть учится играть в змейку прямо в терминале. Причём весь код написан на Rust, а интерфейс сделан с помощью библиотеки Ratatui
Проект позволяет наблюдать, как искусственный интеллект постепенно осваивает классическую игру, принимая решения на основе визуальных данных.
Код открыт и доступен для изучения, что делает его отличным ресурсом для тех, кто хочет понять, как можно реализовать подобные алгоритмы на Rust
@RustPortal
👍14❤5❤🔥2
Welcome to Comprehensive Rust
Это бесплатный курс по языку Rust, разработанный командой разработчиков Android в Google.
Четырёхдневный курс по Rust: от базового синтаксиса до продвинутых тем, таких как дженерики и обработка ошибок на Rust. Курс также включает в себя темы по Android:
— сборка компонентов Android на Rust,
— работа с AIDL,
— совместимость с C, C++ и Java.
👉 https://google.github.io/comprehensive-rust/
@RustPortal
Это бесплатный курс по языку Rust, разработанный командой разработчиков Android в Google.
Четырёхдневный курс по Rust: от базового синтаксиса до продвинутых тем, таких как дженерики и обработка ошибок на Rust. Курс также включает в себя темы по Android:
— сборка компонентов Android на Rust,
— работа с AIDL,
— совместимость с C, C++ и Java.
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
Awesome-Rust-MachineLearning
Этот репозиторий представляет собой список библиотек машинного обучения, написанных на Rust. Это сборник репозиториев GitHub, блогов, книг, фильмов, обсуждений, статей.
Этот репозиторий ориентирован на людей, которые подумывают о миграции с Python. 🦀🐍
👉 https://github.com/vaaaaanquish/Awesome-Rust-MachineLearning
@RustPortal
Этот репозиторий представляет собой список библиотек машинного обучения, написанных на Rust. Это сборник репозиториев GitHub, блогов, книг, фильмов, обсуждений, статей.
Этот репозиторий ориентирован на людей, которые подумывают о миграции с Python. 🦀🐍
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
Создайте свой собственный "Git" на Rust с нуля
— Отличный плейлист, чтобы понять, как на самом деле работает Git
— Это идеально подходит для изучения низкоуровневого системного программирования
👉 YouTube
@RustPortal
— Отличный плейлист, чтобы понять, как на самом деле работает Git
— Это идеально подходит для изучения низкоуровневого системного программирования
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
Наткнулся на топовый видос про создание чата на Rust
В первой части показывают, как собрать многопользовательский TCP-сервер: неблокирующий ввод-вывод, потокобезопасная трансляция сообщений и эффективная обработка клиентов с использованием потоков
Во второй части — клиентская часть. Сделано чётко: тот же неблокирующий ввод-вывод, многопоточность и возможность аккуратно выйти из чата командой :quit
Всё максимально чётко и понятно, смотреть одно удовольствие.
👉 Код можно глянуть тут: https://github.com/dexter-xD/rust-chat-app
@RustPortal
В первой части показывают, как собрать многопользовательский TCP-сервер: неблокирующий ввод-вывод, потокобезопасная трансляция сообщений и эффективная обработка клиентов с использованием потоков
Во второй части — клиентская часть. Сделано чётко: тот же неблокирующий ввод-вывод, многопоточность и возможность аккуратно выйти из чата командой :quit
Всё максимально чётко и понятно, смотреть одно удовольствие.
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥7❤🔥3❤1
Реализация механизма обратного давления (Backpressure) в Rust для асинхронных систем 🦀
В асинхронных системах механизм обратного давления обеспечивает, чтобы производители данных не перегружали потребителей. Асинхронная экосистема Rust предоставляет инструменты для эффективного управления этим процессом.
Что такое обратное давление?
— Обратное давление — это механизм замедления производства данных, когда потребитель не успевает обрабатывать их с той же скоростью. В Rust это критически важно для поддержания производительности и предотвращения перегрузки асинхронных задач.
1️⃣ Использование ограниченных каналов
— Ограниченные каналы из библиотек tokio или async-std ограничивают количество элементов в очереди, применяя обратное давление, когда лимит достигается.
— Производитель останавливается, если канал переполнен, и остается в этом состоянии до тех пор, пока потребитель не начнет обрабатывать данные.
2️⃣ Обратное давление с потоками
— Обратное давление критично для потоков данных, чтобы контролировать соотношение между производимыми и потребляемыми данными.
— ReceiverStream интегрируется с ограниченными каналами, чтобы естественным образом обрабатывать обратное давление.
3️⃣ Пользовательское обратное давление с Future
— Вы можете создать пользовательские механизмы обратного давления, управляя выполнением задач напрямую.
Основные выводы:
🔸 Используйте ограниченные каналы для автоматического применения обратного давления.
🔸 Сочетайте потоки с ограниченными очередями для реактивных систем.
🔸 Пишите собственную логику для более точного контроля синхронизации задач.
@RustPortal
В асинхронных системах механизм обратного давления обеспечивает, чтобы производители данных не перегружали потребителей. Асинхронная экосистема Rust предоставляет инструменты для эффективного управления этим процессом.
Что такое обратное давление?
— Обратное давление — это механизм замедления производства данных, когда потребитель не успевает обрабатывать их с той же скоростью. В Rust это критически важно для поддержания производительности и предотвращения перегрузки асинхронных задач.
— Ограниченные каналы из библиотек tokio или async-std ограничивают количество элементов в очереди, применяя обратное давление, когда лимит достигается.
— Производитель останавливается, если канал переполнен, и остается в этом состоянии до тех пор, пока потребитель не начнет обрабатывать данные.
— Обратное давление критично для потоков данных, чтобы контролировать соотношение между производимыми и потребляемыми данными.
— ReceiverStream интегрируется с ограниченными каналами, чтобы естественным образом обрабатывать обратное давление.
— Вы можете создать пользовательские механизмы обратного давления, управляя выполнением задач напрямую.
Основные выводы:
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍6❤4🫡3
Этот совет вам понравится: когда-нибудь пробовали сравнивать два варианта перечисления (enum)?
Обычно для этого требуется каскад операторов
Однако, в такой ситуации можно использовать
@RustPortal
Обычно для этого требуется каскад операторов
match.Однако, в такой ситуации можно использовать
mem::discriminant. Это особенно полезно, когда перечисление (enum) не реализует (не имеет) трейт Eq.@RustPortal
👍41❤4🔥3
Forwarded from IT Portal
Rust исполнилось 10 лет 👌
Стабильный релиз 1.0 вышел 15 мая 2015 года. До этого шесть лет под крылом Mozilla, тестили на Servo — браузерном движке, который делали вместе с Samsung.
В 2020 Mozilla передала Servo в Linux Foundation и распустила команду. Rust выжил
В 2021 запустили Rust Foundation — Amazon, Google, Huawei, Microsoft и всё та же Mozilla в составе
Сейчас Rust уже в ядре Linux — на нём пилят драйвера
@IT_Portal
Стабильный релиз 1.0 вышел 15 мая 2015 года. До этого шесть лет под крылом Mozilla, тестили на Servo — браузерном движке, который делали вместе с Samsung.
В 2020 Mozilla передала Servo в Linux Foundation и распустила команду. Rust выжил
В 2021 запустили Rust Foundation — Amazon, Google, Huawei, Microsoft и всё та же Mozilla в составе
Сейчас Rust уже в ядре Linux — на нём пилят драйвера
@IT_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤45👍17🔥16
Сегодня узнал про атрибут
Атрибут
@RustPortal
#[cold] — его используют для функций, которые вызываются редко. Это помогает компилятору оптимизировать производительность кэша инструкций, сосредотачивая внимание на «горячих» функциях. Атрибут
#[cold] также можно применять к вариантам enum'ов, чтобы улучшить размещение в памяти.@RustPortal
❤43👍20🔥7☃3🕊3
Глубокое погружение во взаимодействие памяти между Rust и C
Детальное исследование того, что происходит при конфликте аллокаторов памяти Rust и C, с разбором причин сбоев
Годное чтиво под горячий кофе☕
https://notashes.me/blog/part-1-memory-management/
@RustPortal
Детальное исследование того, что происходит при конфликте аллокаторов памяти Rust и C, с разбором причин сбоев
Годное чтиво под горячий кофе
https://notashes.me/blog/part-1-memory-management/
@RustPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24👍5🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
100 упражнений по Rust прямо в RustRover
Теперь весь курс Луки Пальмери, который помог тысячам разработчиков освоить язык, встроен прямо в IDE от JetBrains
Как это работает: короткий кусочек теории → сразу практическое задание. Всего 100 упражнений, от базовых конструкций (if, match, циклы) до трейтов, управления памятью, структур данных и конкурентности. В процессе вы собираете рабочую мини-систему управления проектами
RustRover полностью бесплатен для обучения, так что можно просто поставить и начать.
Тут подробнее: тык
@RustPortal
Теперь весь курс Луки Пальмери, который помог тысячам разработчиков освоить язык, встроен прямо в IDE от JetBrains
Как это работает: короткий кусочек теории → сразу практическое задание. Всего 100 упражнений, от базовых конструкций (if, match, циклы) до трейтов, управления памятью, структур данных и конкурентности. В процессе вы собираете рабочую мини-систему управления проектами
RustRover полностью бесплатен для обучения, так что можно просто поставить и начать.
Тут подробнее: тык
@RustPortal
👍24🤮6👀4❤2
Лучшие практики конструкторов в Rust
Шаблоны конструкторов, которыми должен владеть каждый уважающий себя растовик, чтобы не выглядеть новичком
https://blog.cuongle.dev/p/constructor-best-practices-in-rust
@RustPortal
Шаблоны конструкторов, которыми должен владеть каждый уважающий себя растовик, чтобы не выглядеть новичком
https://blog.cuongle.dev/p/constructor-best-practices-in-rust
@RustPortal
❤19👍2