en
Feedback
Rust

Rust

Open in Telegram

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

Show more
2 230
Subscribers
+324 hours
+37 days
+230 days
Posts Archive
Rust
2 230
Rust for Network Programming and Automation, 2nd Edition: Work around designing networks, TCP/IP protocol, packet analysis and performance monitoring using Rust 1.68 Автор: Gilbert Stew (2024) Разработанная с учетом потребностей тех, кто интересуется сетевым программированием и автоматизацией, эта обновленная книга исследует реалистичность сетевого программирования в рамках надежной экосистемы Rust. Построенная на базе Rust 1.68, эта книга шаг за шагом проведет вас через основы сетевых протоколов, анализа пакетов и сетевого администрирования с помощью актуального и подробного материала. 👉 @rust_lib

Rust
2 230
Huey Генерирует гифку, которая циклически перебирает все оттенки! https://github.com/ahhhh6980/huey 👉 @rust_lib

Rust
2 230
Regex engine internals as a library [full] Дисклеймер Это полный перевод большой и сложной статьи по внутреннему устройству к
Regex engine internals as a library [full] Дисклеймер Это полный перевод большой и сложной статьи по внутреннему устройству крейта regex свежей версии. Перевод большей частью выполнялся для себя, чтобы поднабить скилл в английском. По возможности постарался сохранить авторский стиль. Если всегда было интересно, как оно там под капотом устроено, а в книге Фриддла или в книге дракона вы не нашли подробностей, то добро пожаловать - будет интересно и очень сложно. Для понимания потребуются: 🟢Знания основ теории автоматов (знать и понимать отличия ДКА от НКА) 🟢Иметь базовое представление о том, что такое регулярные выражения 🟢Начальные знания по языку Rust 🟢Общие представления отличия различных структур данных друг от друга https://habr.com/ru/articles/755940/ original https://blog.burntsushi.net/regex-internals/ 👉 @rust_lib

Rust
2 230
Просто спарсь что угодно с помощью языка Rust (ну… или просто скачай файл) Известно, что Rust — типобезопасный язык программирования, код которого проверяется компилятором ещё до сборки. С одной стороны это хорошо: меньше вероятности внезапного сбоя в самый неподходящий момент. С другой стороны — код, выполняющий одну функцию, в итоге может стать очень сложным и иногда нечитаемым. В пример привожу функцию, которая парсит названия валют с сайта floatrates и выводит их (пожалуйста, напишите в комментариях, за сколько минут вы поняли эту строку):

// main.rs
use anyhow::anyhow;
use reqwest::blocking::get;
use scraper::{Html, Selector};

fn main() -> anyhow::Result<()> {
    let body = get("http://www.floatrates.com/json-feeds.html")?.text()?;
    let document = Html::parse_document(&body);
    let selector = Selector::parse("div.bk-json-feeds>div.body>ul>li>a")
        .map_err(|err| anyhow!("{err}"))?;

    for element in document.select(&selector) {
        println!("{}", element.inner_html());
    }
    Ok(())
}
В этой статье я хочу рассказать о своей новой библиотеке, значительно упрощающей парсинг на Rust. Приятного чтения! https://habr.com/ru/articles/755728/ 👉 @rust_lib

Rust
2 230
ytdlp-gui Это графический интерфейс для yt-dlp, написанный на Rust Его можно легко установить в GNU/Linux и Windows системах
ytdlp-gui Это графический интерфейс для yt-dlp, написанный на Rust Его можно легко установить в GNU/Linux и Windows системах https://github.com/BKSalman/ytdlp-gui 👉 @rust_lib

Rust
2 230
Полезные фичи в Rust Rust — это мощный и безопасный язык, его часто выбирают благодаря способности предотвращать множество ра
Полезные фичи в Rust Rust — это мощный и безопасный язык, его часто выбирают благодаря способности предотвращать множество распространённых ошибок на стадии компиляции. Сегодня я хочу рассказать о некоторых фичах, которые, возможно, уже знакомы вам, но точно заслуживают внимания тех, кто с ними еще не знаком. https://habr.com/ru/companies/otus/articles/833498/ 👉 @rust_lib

Rust
2 230
Понимание и реализация смарт-указателя Arc и мьютекса на Rust Rust — язык системного программирования с акцентом на безопасно
Понимание и реализация смарт-указателя Arc и мьютекса на Rust Rust  —  язык системного программирования с акцентом на безопасности, многопоточности, производительности. В этом руководстве рассмотрим два примитива многопоточности Rust: Arc и Mutex. При написании многопоточного Rust рано или поздно встречаются типы Arc и Mutex. Mutex применяется во многих языках, а вот Arc вряд ли найдется где-то еще, кроме Rust. Нельзя полностью понять эти концепции, не связав их с моделью владения Rust. Эта статья  —  мой подход к пониманию Arc и Mutex в Rust. https://towardsdev.com/understanding-and-implementing-rusts-arc-and-mutex-b54e8e3c1821 👉 @rust_lib

Rust
2 230
Рост производительности машинного обучения с Rust В этой статье я хочу поделиться своим опытом создания небольшой платформы д
Рост производительности машинного обучения с Rust В этой статье я хочу поделиться своим опытом создания небольшой платформы для машинного обучения (ML) с нуля, используя язык программирования Rust. Для моего эксперимента у меня были следующие цели: 1 - Я хотел выяснить, приведет ли переход с Python + PyTorch на Rust + LibTorch (библиотеку C++, используемую в PyTorch) к ощутимому увеличению скорости, особенно в процессе обучения модели. Как мы знаем, модели машинного обучения становятся все больше и требуют все больше вычислительных ресурсов для обучения, что иногда недоступно для обычного человека. Один из способов уменьшить требования к аппаратному обеспечению — найти способ сделать алгоритмы более вычислительно эффективными. Зная, что в PyTorch Python является лишь верхним слоем над LibTorch, мой главный вопрос заключался в том, стоит ли заменять этот верхний слой Python на Rust. План заключался в том, чтобы использовать библиотеку Tch-rs Rust для работы с тензорами и функцией автоградента из DLL LibTorch, которая будет выступать в качестве "калькулятора градиентов", а затем разработать остальную часть с нуля на Rust. 2 - Я хотел, чтобы код был достаточно простым для четкого понимания всех выполняемых операций с линейной алгеброй и позволял легко расширять его при необходимости. 3 - Насколько это возможно, моя платформа должна позволять мне определять модели машинного обучения по структуре, аналогичной стандартной Python/PyTorch. https://betterprogramming.pub/boosting-machine-learning-performance-with-rust-aab1f3ae1424 👉 @rust_lib

Rust
2 230
The Power Of RUST: введение и глубокое погружение в продвинутые концепции: Ownership, References и Borrowing. Rust использует
The Power Of RUST: введение и глубокое погружение в продвинутые концепции: Ownership, References и Borrowing. Rust используется многими крупными компаниями, такими как Mozilla, Microsoft и Dropbox, он применяется во многих случаях, для создания веб-серверов, интерфейсов командной строки, нативных настольных приложений, веб-приложений с помощью WebAssemblly, а также для операционных систем. Безопасный и многопоточный язык - это уже здорово, но максимальная производительность будет еще выше, и Rust как раз для этого, это системный язык программирования с компилятором, поэтому он не интерпретируется, как javascript, его компилятор - это ключ к производительным программам и безопасной памяти. Не только производительность, но и продуктивность Rust обусловлена наличием инструментария, такого как менеджер пакетов, тестирование и документация. https://dev.to/this-is-learning/the-power-of-rust-introduction-and-deep-dive-in-advanced-concepts-ownership-references-and-borrowing-28dh 👉 @rust_lib

Rust
2 230
Blaze: ускорение ZK для программируемой пользователем вентильной матрицы Чтобы сделать ускорение ППВМ, или программируемой по
Blaze: ускорение ZK для программируемой пользователем вентильной матрицы Чтобы сделать ускорение ППВМ, или программируемой пользователем вентильной матрицы, и графического процессора одинаково удобным для разработчиков, в Ingonyama разрабатывают решения-ускорители ППВМ для типовых примитивов ZK. С Blaze  —  библиотекой Rust для ускорения ZK на основе ППВМ компании Xilinx  —  ускорение ППВМ становится доступным для разработчиков ZK. https://medium.com/@ingonyama/introducing-blaze-zk-acceleration-for-fpga-6f5f7cc50e1f 👉 @rust_lib

Rust
2 230
Реализуем Type Inference на Rust — Часть #2: Простой Lambda Calculus Если вы пишете свой язык программирования, то вы наверно
Реализуем Type Inference на Rust — Часть #2: Простой Lambda Calculus Если вы пишете свой язык программирования, то вы наверное слышали о type inference. В этом цикле статей, без лишней теории, мы наглядно разберем как это работает и реализуем свой на Rust. https://habr.com/ru/articles/753180/ 👉 @rust_lib

Rust
2 230
Реализуем Type inference на Rust — Часть #1: Unification Если вы пишете свой язык программирования, то вы наверное слышали о
Реализуем Type inference на Rust — Часть #1: Unification Если вы пишете свой язык программирования, то вы наверное слышали о type inference. В этом цикле статей, без лишней теории, мы наглядно разберем как это работает и реализуем свой на Rust. https://habr.com/ru/articles/748978/ 👉 @rust_lib

Rust
2 230
Криптография на Rust и немного FFI Начнем с того, что эта статья как и большинство моих статей родилась в процессе разработки
Криптография на Rust и немного FFI Начнем с того, что эта статья как и большинство моих статей родилась в процессе разработки. В данном конкретном случае - разработки внешней крипто-библиотеки для генерации крипто-кошельков. Да, определенно. Я считаю, что приставка "крипто" любому словосочетанию придает привкус гигантской яхты дрейфующей где-то в Майами. В итоге, выбор упал на Rust потому что я уже работал с ним, и знаю, что crates.io изобилует всякими библиотеками для работы с разнообразными криптографическими функциями. https://habr.com/ru/articles/748534/ 👉 @rust_lib

Rust
2 230
Микросервисы Rust в серверном WebAssembly Язык программирования Rust за последние несколько лет значительно распространился.
Микросервисы Rust в серверном WebAssembly Язык программирования Rust за последние несколько лет значительно распространился. Он несколько лет подряд считается самым любимым языком программирования среди разработчиков и включён в состав ядра Linux. Rust позволяет разработчикам писать корректные программы, обеспечивающие безопасность при работе с памятью, а также такие же компактные и быстрые, как на языке C. Он идеально подходит для создания инфраструктурного программного обеспечения, включая серверные приложения, от которых требуется высокая надёжность и производительность. Однако при разработке серверных приложений Rust также представляет определенные трудности. Написанные на Rust программы компилируются в нативный машинный код, который не является портируемым и небезопасен в многопользовательских облачных средах. Нам также не хватает инструментов для управления и оркестрации нативных приложений в облаке. https://habr.com/ru/companies/timeweb/articles/747582/ 👉 @rust_lib

Rust
2 230
Halloy - IRC Client Halloy - это IRC-клиент с открытым исходным кодом, написанный на Rust с использованием библиотеки Iced GUI. Его цель - предоставить простой и быстрый клиент для платформ Mac, Windows и Linux. https://github.com/squidowl/halloy 👉 @rust_lib

Rust
2 230
Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio В целом мне очень нравится ко
Gabriel2 — Open Source асинхронная библиотека для модели Акторов на Rust с использованием Tokio В целом мне очень нравится концепция Акторов в асинхронном программировании. Низкоуровневое программирование с использованием очередей сообщений и обработчиков сообщений не позволяет мыслить в терминах высокоуровневых абстракций. Акторы позволяют абстрагироваться от низкоуровневых деталей. Другими словами, Акторы посылают сообщения друг другу. А то, что Акторы на самом деле работают на очередях сообщений, нам не важно. Это скрыто 'под капотом' Во время изучения Tokio, я решил написать свой проект для модели Акторов. Как раз низкоуровневая часть Tokio позволила это сделать. Так появилась библиотека Gabriel2. https://habr.com/ru/articles/821267/ 👉 @rust_lib

Rust
2 230
Ловим спутники без поворотного устройства Полагаю, все любители поймать сигнал со спутников начинают с использования простых
Ловим спутники без поворотного устройства Полагаю, все любители поймать сигнал со спутников начинают с использования простых и легких направленных антенн, подключённых к портативке. Затраты минимальные, а удовлетворение от удачи услышать сигнал из космоса – максимальное. Но со временем надоедает руками держать и направлять на спутник антенну, хочется чего-то удобного. В век компьютеров логично всё автоматизировать. Об одном из возможных вариантов я хочу рассказать далее. https://habr.com/ru/articles/820145/ 👉 @rust_lib

Rust
2 230
Быстрое извлечение доминирующих цветов CLI Это интерфейс командной строки для быстрого извлечения доминирующих цветов из локальных или удаленных изображений. Он построен на Rust и по сути основан на реализации алгоритма Colors Thief, написанного Евгением Рейзнером. https://github.com/AbdoulMa/copycolors 👉 @rust_lib

Rust
2 230
Интероперабельность между С++ и Rust Этот пост основан на презентации, с которой автор выступил на конференции EuroRust 2022
Интероперабельность между С++ и Rust Этот пост основан на презентации, с которой автор выступил на конференции EuroRust 2022 в Берлине. Доступны слайды и видеозапись. Автор, работающий в компании Slint, участвует в создании UI-инструментария, написанного на Rust. Этот UI-инструментарий может использоваться и с другими языками и экосистемами, кроме той, для которой был написан, поэтому в Slint предусмотрены API для C++ и даже для Javascript. Естественно, эти API должны восприниматься как совершенно нативные для разработчиков, имеющих дело с этими языками. Именно поэтому ребром стоит вопрос о том, как создать нативно воспринимаемые API к коду Rust для пользователей, привыкших работать с C++. https://habr.com/ru/companies/timeweb/articles/743540/ original https://slint.dev/blog/rust-and-cpp 👉 @rust_lib

Rust
2 230