This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Rust Lang Уроки
Начало работы с языком программирования Rust & Visual Studio Code. Debugging & unit tests
Переменные и типы данных в Rust
Арифметические операции и операции сравнения. Язык Rust
Логические операции и конструкция if...else. Язык Rust
Почему Rust? ❤️ Конструкция match
Функции. Язык Rust
Структуры. Язык Rust. Анджелина и Бред вместе ❤️ благодаря структурам
Tuples | кортежи. Структуры-tuples. Язык Rust
Массивы. Язык программирования Rust.
Циклы loop | while | for. Язык Rust.
источник
👉 @rust_lib
Начало работы с языком программирования Rust & Visual Studio Code. Debugging & unit tests
Переменные и типы данных в Rust
Арифметические операции и операции сравнения. Язык Rust
Логические операции и конструкция if...else. Язык Rust
Почему Rust? ❤️ Конструкция match
Функции. Язык Rust
Структуры. Язык Rust. Анджелина и Бред вместе ❤️ благодаря структурам
Tuples | кортежи. Структуры-tuples. Язык Rust
Массивы. Язык программирования Rust.
Циклы loop | while | for. Язык Rust.
источник
👉 @rust_lib
👍9❤1🔥1🥰1🤮1
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Rust Programming
RUST Based Desktop on Linux - System76 chose this over C Programming!
RUST in the Linux Kernel - Coming sooner than you think!
Create your first RUST Program on LINUX | Rust Programming for Beginners
Use RUSTUP to create your first RUST Program on LINUX | Rust Programming for Beginners (EP1)
How to Create a Rust Project using Cargo on Linux (EP2)
How to Add a Crate/Dependency to Rust using Cargo (EP3)
RUST might be coming to UEFI BIOS Firmware on Linux
👉 @rust_lib
RUST Based Desktop on Linux - System76 chose this over C Programming!
RUST in the Linux Kernel - Coming sooner than you think!
Create your first RUST Program on LINUX | Rust Programming for Beginners
Use RUSTUP to create your first RUST Program on LINUX | Rust Programming for Beginners (EP1)
How to Create a Rust Project using Cargo on Linux (EP2)
How to Add a Crate/Dependency to Rust using Cargo (EP3)
RUST might be coming to UEFI BIOS Firmware on Linux
👉 @rust_lib
👍14❤1🥰1🤮1
Microsoft активно развивает поддержку Windows-драйверов на языке Rust, предоставляя библиотеку windows-drivers-rs. Этот проект открывает новые возможности для создания надежных и безопасных драйверов с использованием преимуществ Rust, таких как управление памятью и предотвращение распространенных ошибок.
Основные возможности:
- Поддержка стандартных API Windows для разработки драйверов.
- Интеграция с инструментами Windows Driver Kit (WDK).
- Удобство разработки благодаря типобезопасным интерфейсам.
Проект продолжает активно развиваться, и сообщество приветствуется к участию. Отличная возможность попробовать Rust в системном программировании и внести вклад в развитие экосистемы Windows!
https://github.com/microsoft/windows-drivers-rs
👉 @rust_lib
Основные возможности:
- Поддержка стандартных API Windows для разработки драйверов.
- Интеграция с инструментами Windows Driver Kit (WDK).
- Удобство разработки благодаря типобезопасным интерфейсам.
Проект продолжает активно развиваться, и сообщество приветствуется к участию. Отличная возможность попробовать Rust в системном программировании и внести вклад в развитие экосистемы Windows!
https://github.com/microsoft/windows-drivers-rs
👉 @rust_lib
👍12❤1🥰1
Как я проектирую и разрабатываю расширения Python на Rust
Вы наверняка видели множество статей на тему "Python, Rust - производительность, бла-бла-бла... Вот, реализуем foo2plus2". Вся беда в том, что все эти статьи демонстрируют очень простые примеры уровня "hello-world". Напротив, в этой статье я хочу рассказать о том, как я проектирую комплексные расширения и почему я принимаю те или иные проектные решения.
https://habr.com/ru/articles/767254/
👉 @rust_lib
Вы наверняка видели множество статей на тему "Python, Rust - производительность, бла-бла-бла... Вот, реализуем foo2plus2". Вся беда в том, что все эти статьи демонстрируют очень простые примеры уровня "hello-world". Напротив, в этой статье я хочу рассказать о том, как я проектирую комплексные расширения и почему я принимаю те или иные проектные решения.
https://habr.com/ru/articles/767254/
👉 @rust_lib
👍10🥰2❤1🔥1😐1🤓1
Xplorer – красивый файловый менеджер, написанный на TypeScript и Rust.
Настраиваемый современный файловый менеджер, который работает на Windows, GNU/Linux и MacOS.
https://github.com/kimlimjustin/xplorer
👉 @rust_lib
Настраиваемый современный файловый менеджер, который работает на Windows, GNU/Linux и MacOS.
https://github.com/kimlimjustin/xplorer
👉 @rust_lib
👍11❤3👎2🥰1
Rust: безопасный парсинг с нулевым копированием
В мире программирования производительность и безопасность данных — это два важных аспекта, которые часто находятся в конфликте. Однако Rust предлагает уникальные инструменты, позволяющие разрабатывать эффективные и безопасные парсеры, используя zero-copy технику. В этой статье автор делится своими находками и рассказывает, как Rust помогает избежать избыточных аллокаций памяти, сохраняя при этом строгую безопасность.
📌 Что такое zero-copy парсинг?
Zero-copy — это техника обработки данных без создания дополнительных копий в памяти. В Rust это достигается за счёт продвинутой системы владения и заимствования (ownership & borrowing). Вместо копирования байтов Rust позволяет ссылаться на данные напрямую, что значительно ускоряет обработку.
https://itnext.io/rust-the-joy-of-safe-zero-copy-parsers-8c8581db8ab2
👉 @rust_lib
В мире программирования производительность и безопасность данных — это два важных аспекта, которые часто находятся в конфликте. Однако Rust предлагает уникальные инструменты, позволяющие разрабатывать эффективные и безопасные парсеры, используя zero-copy технику. В этой статье автор делится своими находками и рассказывает, как Rust помогает избежать избыточных аллокаций памяти, сохраняя при этом строгую безопасность.
📌 Что такое zero-copy парсинг?
Zero-copy — это техника обработки данных без создания дополнительных копий в памяти. В Rust это достигается за счёт продвинутой системы владения и заимствования (ownership & borrowing). Вместо копирования байтов Rust позволяет ссылаться на данные напрямую, что значительно ускоряет обработку.
https://itnext.io/rust-the-joy-of-safe-zero-copy-parsers-8c8581db8ab2
👉 @rust_lib
👍11🥰3❤1🤡1
Media is too big
VIEW IN TELEGRAM
Учебное руководство по проекту на Rust – Сервер аутентификации с использованием Warp + JWT
В этом курсе вы узнаете, как использовать Rust для создания сервера аутентификации. Курс представляет собой подробное руководство по управлению пользовательскими данными, структуре и аутентификации на основе токенов. Особое внимание уделяется обработке ошибок, вопросам, связанным с JWT, и практическим решениям распространенных проблем. В завершение курса вас ждет практическая демонстрация, благодаря которой вы получите глубокое понимание процесса создания токенов и управления пользователями в современных приложениях.
0:00:00 Introduction and setup
0:06:42 Admin and user authentication
0:15:53 User data handling and roles
0:28:54 Introduction to user structures and attributes
0:45:41 Token management and claims analysis
1:01:48 Deep dive into roles and tokens
1:05:03 Error handling and permissions
1:14:58 Advanced error insights and JWT issues
1:29:19 Code analysis and issue resolution
1:31:24 Final touches and RS file exploration
1:34:50 Demo review and token creation
https://www.freecodecamp.org/news/rust-tutorial-authentication-server/
👉 @rust_lib
В этом курсе вы узнаете, как использовать Rust для создания сервера аутентификации. Курс представляет собой подробное руководство по управлению пользовательскими данными, структуре и аутентификации на основе токенов. Особое внимание уделяется обработке ошибок, вопросам, связанным с JWT, и практическим решениям распространенных проблем. В завершение курса вас ждет практическая демонстрация, благодаря которой вы получите глубокое понимание процесса создания токенов и управления пользователями в современных приложениях.
0:00:00 Introduction and setup
0:06:42 Admin and user authentication
0:15:53 User data handling and roles
0:28:54 Introduction to user structures and attributes
0:45:41 Token management and claims analysis
1:01:48 Deep dive into roles and tokens
1:05:03 Error handling and permissions
1:14:58 Advanced error insights and JWT issues
1:29:19 Code analysis and issue resolution
1:31:24 Final touches and RS file exploration
1:34:50 Demo review and token creation
https://www.freecodecamp.org/news/rust-tutorial-authentication-server/
👉 @rust_lib
👍20❤2🥰1
MinDNS
Минимальный DNS-сервер, написанный на Rust, с системой правил и журналированием.
https://github.com/sammwyy/mindns
👉 @rust_lib
Минимальный DNS-сервер, написанный на Rust, с системой правил и журналированием.
https://github.com/sammwyy/mindns
👉 @rust_lib
👍12❤1🥰1
Media is too big
VIEW IN TELEGRAM
Видео о Rust Traits
0:00 - Introduction
0:39 - Visual Example
2:47 - Using Traits in Rust
4:56 - Using Traits with Functions
9:06 - Conditionally implement functions with trait bounds
источник
👉 @rust_lib
0:00 - Introduction
0:39 - Visual Example
2:47 - Using Traits in Rust
4:56 - Using Traits with Functions
9:06 - Conditionally implement functions with trait bounds
источник
👉 @rust_lib
👍5❤3🥰2
Пишем простой драйвер на Rust
Популярность Rust неуклонно растёт, а с ней и сопутствующая экосистема. И оно не удивительно, ведь это единственный современный язык, который обеспечивает безопасность памяти и многопоточной обработки на этапе компиляции, предоставляя мощную и богатую систему сборки (cargo), а также всё больше различных пакетов (крейтов).
В своей повседневной работе я по-прежнему придерживаюсь C++, так как основная её часть связана с низкоуровневым программированием систем и ядра, а из этого языка легко задействовать написанный на С Windows API и COM API.
Rust — это язык для системного программирования, то есть он может справляться с теми же задачами, что и C/C++. Основное неудобство при этом создаёт громоздкий синтаксис, необходимый для преобразования типов С в типы Rust. Но это неудобство можно преодолеть, используя подобающие обёртки и макросы.
Короче говоря, я решил попробовать написать простой и полезный драйвер WDM. Это будет Rust-версия драйвера «Booster», о котором я пишу в своей книге (Windows Kernel Programming), позволяющего изменять приоритет любого потока на любое значение.
https://habr.com/ru/companies/ruvds/articles/882474/
👉 @rust_lib
Популярность Rust неуклонно растёт, а с ней и сопутствующая экосистема. И оно не удивительно, ведь это единственный современный язык, который обеспечивает безопасность памяти и многопоточной обработки на этапе компиляции, предоставляя мощную и богатую систему сборки (cargo), а также всё больше различных пакетов (крейтов).
В своей повседневной работе я по-прежнему придерживаюсь C++, так как основная её часть связана с низкоуровневым программированием систем и ядра, а из этого языка легко задействовать написанный на С Windows API и COM API.
Rust — это язык для системного программирования, то есть он может справляться с теми же задачами, что и C/C++. Основное неудобство при этом создаёт громоздкий синтаксис, необходимый для преобразования типов С в типы Rust. Но это неудобство можно преодолеть, используя подобающие обёртки и макросы.
Короче говоря, я решил попробовать написать простой и полезный драйвер WDM. Это будет Rust-версия драйвера «Booster», о котором я пишу в своей книге (Windows Kernel Programming), позволяющего изменять приоритет любого потока на любое значение.
https://habr.com/ru/companies/ruvds/articles/882474/
👉 @rust_lib
👍13❤3👎2🥰1
Использование OpenTelemetry в Rust
В статье рассмотрено, как использовать OpenTelemetry в Rust для мониторинга и трассировки приложений. OpenTelemetry — это мощный инструмент для сбора и анализа данных о производительности, который помогает отслеживать выполнение запросов в распределенных системах.
В статье показано, как интегрировать OpenTelemetry в приложение на Rust, используя библиотеку tracing и экспортировать данные в Jaeger. Приведены примеры кода, объясняющие настройку и использование трейсов для диагностики проблем и улучшения производительности.
Базовый конвейер с OpenTelemetry можно настроить с помощью
https://shuttle.rs/blog/2024/04/10/using-opentelemetry-rust
👉 @rust_lib
В статье рассмотрено, как использовать OpenTelemetry в Rust для мониторинга и трассировки приложений. OpenTelemetry — это мощный инструмент для сбора и анализа данных о производительности, который помогает отслеживать выполнение запросов в распределенных системах.
В статье показано, как интегрировать OpenTelemetry в приложение на Rust, используя библиотеку tracing и экспортировать данные в Jaeger. Приведены примеры кода, объясняющие настройку и использование трейсов для диагностики проблем и улучшения производительности.
Базовый конвейер с OpenTelemetry можно настроить с помощью
opentelemetry_otlp
. Затем создаётся слой tracing_opentelemetry
, использующий этот конвейер, и добавляется в подписчик трассировки, который инициализируется.
// note that here, localhost:4318 is the default HTTP address
// for a local OpenTelemetry collector
let tracer = opentelemetry_otlp
::new_pipeline()
.tracing()
.with_exporter(opentelemetry_otlp::new_exporter().http().with_endpoint("localhost:4318"))
.install_batch(Tokio)
.unwrap();
// log level filtering here
let filter_layer = EnvFilter::try_from_default_env()
.or_else(|_| EnvFilter::try_new("info"))
.unwrap();
// fmt layer - printing out logs
let fmt_layer = fmt::layer().compact();
// turn our OTLP pipeline into a tracing layer
let otel_layer = tracing_opentelemetry::layer().with_tracer(tracer);
// initialise our subscriber
subscriber
.with(filter_layer)
.with(fmt_layer)
.with(otel_layer)
// The error layer needs to go after the otel_layer, because it needs access to the
// otel_data extension that is set on the span in the otel_layer.
.with(ErrorTracingLayer::new())
.init();
https://shuttle.rs/blog/2024/04/10/using-opentelemetry-rust
👉 @rust_lib
👍4❤1🥰1
Dioxus
Это современный фреймворк для разработки UI на Rust, похожий на React, но с преимуществами производительности и безопасностью Rust. Он поддерживает рендеринг на Web, Desktop, Mobile и даже TUI.
https://github.com/DioxusLabs
👉 @rust_lib
Это современный фреймворк для разработки UI на Rust, похожий на React, но с преимуществами производительности и безопасностью Rust. Он поддерживает рендеринг на Web, Desktop, Mobile и даже TUI.
https://github.com/DioxusLabs
👉 @rust_lib
👍9😱3❤2🥰1
5 алгоритмов на Rust, которые должен знать каждый разработчик
Кто-то приходит в Rust ради безопасной работы с памятью, кто-то — ради скорости, а кто-то просто потому, что «все нормальные языки уже попробовал». Но что бы ни привело вас в этот уголок низкоуровневой мощи, без хорошего знания алгоритмов далеко не уедешь.
Писать код на Rust — это не просто бороться с borrow checker, но и делать его действительно эффективным. Ведь никакой язык не спасет от тормозов, если алгоритмы выбраны неудачно.
В этой статье мы разберем пять фундаментальных алгоритмов, которые важны для разработки на Rust. Они помогут лучше понимать работу с данными, оптимизировать производительность и писать код, который не стыдно показать.
https://habr.com/ru/companies/beget/articles/887160/
👉 @rust_lib
Кто-то приходит в Rust ради безопасной работы с памятью, кто-то — ради скорости, а кто-то просто потому, что «все нормальные языки уже попробовал». Но что бы ни привело вас в этот уголок низкоуровневой мощи, без хорошего знания алгоритмов далеко не уедешь.
Писать код на Rust — это не просто бороться с borrow checker, но и делать его действительно эффективным. Ведь никакой язык не спасет от тормозов, если алгоритмы выбраны неудачно.
В этой статье мы разберем пять фундаментальных алгоритмов, которые важны для разработки на Rust. Они помогут лучше понимать работу с данными, оптимизировать производительность и писать код, который не стыдно показать.
https://habr.com/ru/companies/beget/articles/887160/
👉 @rust_lib
👍13💩5👎4❤3🥰1
Полный курс Rust от Google 🦀
Это учебный курс по языку программирования Rust, разработанный командой Android в Google.
Он изначально предназначался для внутреннего использования для обучения разработчиков Android, но теперь открыт для всех.
Курс охватывает:
- Основы языка Rust
- Работа с памятью и безопасностью
- Современные концепции (итераторы, async, crate-экосистема и т.д.)
- Использование Rust для Android и WebAssembly
- Конкретные упражнения и практические примеры
Можно использовать как в виде самостоятельного материала, так и для проведения обучающих семинаров.
Подходит для разработчиков, знакомых с системным программированием, например, на C/C++.
https://github.com/google/comprehensive-rust
👉 @rust_lib
Это учебный курс по языку программирования Rust, разработанный командой Android в Google.
Он изначально предназначался для внутреннего использования для обучения разработчиков Android, но теперь открыт для всех.
Курс охватывает:
- Основы языка Rust
- Работа с памятью и безопасностью
- Современные концепции (итераторы, async, crate-экосистема и т.д.)
- Использование Rust для Android и WebAssembly
- Конкретные упражнения и практические примеры
Можно использовать как в виде самостоятельного материала, так и для проведения обучающих семинаров.
Подходит для разработчиков, знакомых с системным программированием, например, на C/C++.
https://github.com/google/comprehensive-rust
👉 @rust_lib
👍19🔥7❤3🥰1