Rust

Description
Полезный контент по программированию на Rust
Advertising
We recommend to visit

Главное про технологии, интернет-культуру, тренды и нейросети.

По рекламе: @Alivian

Биржа: https://telega.in/c/technomotel

Last updated 2 days, 8 hours ago

?Телеграмдаги Энг сўнгги хит тароналар факат бизда

?? - УЗ
?? - РУ
?? - ТР
?? - Ус
?? - АЗ
?? - ТЖ
?? - КЗ
?? - КР

Creator : @kiinyaz

Last updated 1 year, 1 month ago

Бесплатные игры и программы для Android

❗️Сотрудничество (ads), DMCA, пожелания: t.me/EasyAPKBot

💵Реклама: https://telega.in/c/EasyAPK

🔴 Чат: @ChatEasyAPK

Все публикуется в ознакомительных целях. Вы скачиваете программы на свой страх и риск

Last updated 11 months ago

2 months, 2 weeks ago
**Битовые поля в Rust**

Битовые поля в Rust

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

https://habr.com/ru/companies/otus/articles/845190/

👉 @rust_lib

3 months, 1 week ago

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

3 months, 2 weeks ago

Просто спарсь что угодно с помощью языка 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

7 months, 1 week ago

Любите ли вы Rust, как люблю его я?

Он быстрый. Конечно не в смысле разработки и отладки (особенно поначалу), а в плане работы. Код, написанный на нём, в некоторых вопросах существенно быстрее аналогичного кода, написанного на других языках программирования. Нисколько не хочу обидеть адептов других религий языковых предпочтений (уверен, вы с лёгкостью докажете, что это не так). Однако предложенные мне тесты показали, что он немного, но шустрее.

Он безопасный. Это, правда, не совсем так, но если взять условного новичка, который напишет программу на C и условного новичка, который напишет программу на Rust - шанс, что вторая выйдет более безопасной окажется существенно выше. По крайней мере, атака через переполнение буфера, почти гарантировано, провалится (не станем отрицать наличие дарований, которые даже там, где это почти невозможно, смогут заложить уязвимость).

Он необычный. Уверен, вы сталкивались со странными языками программирования. Такими, которые ломают привычную парадигму и заставляют мыслить иначе. Например, люди, всю жизнь работающие с объектно-ориентированным подходом, нередко, теряются, когда сталкиваются с функциональным программированием, т.к. там иной подход. Да даже далеко ходить не надо; столкновение с попыткой воспользоваться OpenGL из привычного C++, в какой-то момент, рвёт все шаблоны и в воздухе повисает лишь два вопроса: "какого..." и "зачем вы так со мной". Это, разумеется, проходит, но не сразу.

Простите, отвлёкся. Так вот, Rust заставит вас взглянуть на программирование по-другому, то есть совсем иначе. Он заставит вас писать код так, как вы до него не писали, потому что все старые парадигмы просто не работают. "Хотите отправить структуру в функцию, а потом ещё поработать с ней? Только не в мою смену!". Это существенно развивает воображение.

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

Он неисчерпаем. Да, порой мне именно так и кажется. Есть множество способов сделать то, что я только что сделал, только по-другому; есть своя std библиотека и я не могу даже представить, чего в ней нет, потому что создаётся ощущение, что в ней есть чуть менее, чем всё.

Он дружелюбен. Компилятор всегда подскажет, где вы ошиблись и даже предложит решение, как сделать так, чтобы проблему исправить, а также добавит ссылку на справку. И иногда его рекомендация даже сработает. Но в целом, журнал из 30 ошибок на 3 строчки кода, в какой-то момент, уже перестаёт пугать и даже удивлять.

Он поддерживается и развивается. У него "из коробки" есть свой собственный менеджер пакетов (вроде npm или pip), а также реестр самих пакетов. Из недостатков - не всегда можно получить исходники устанавливаемого пакета или библиотеки (поправьте, если это не так).

Его можно использовать для web. Через webassembly. Именно по этой причине, собственно, я с ним и связался. Пробовал делать эмуляции роста плесени, а последнее - пробовал на нём реализовать параллакс эффект на веб-странице не прибегая к js (если интересно, про это можно почитать тут). wasm-pack позволяет собирать webassembly пакеты и встраивать в своё приложение. Ещё можно делать и при помощи ecmascripten для C++, но, почему-то, C++ не так интересен для меня.

Он заставляет учиться. Для начала, вы будете вынуждены разобраться, как устроена память приложения, как примерно работают компиляторы и что происходит "под капотом", когда исходный код превращается в бинарник (конечно, если ещё не знали этого). Не то, чтобы это сильно поможет вам в написании этого самого кода, но некоторые вещи следует знать просто ради того, чтобы воспользоваться ими в самый непредсказуемый момент.

? @rust_lib

We recommend to visit

Главное про технологии, интернет-культуру, тренды и нейросети.

По рекламе: @Alivian

Биржа: https://telega.in/c/technomotel

Last updated 2 days, 8 hours ago

?Телеграмдаги Энг сўнгги хит тароналар факат бизда

?? - УЗ
?? - РУ
?? - ТР
?? - Ус
?? - АЗ
?? - ТЖ
?? - КЗ
?? - КР

Creator : @kiinyaz

Last updated 1 year, 1 month ago

Бесплатные игры и программы для Android

❗️Сотрудничество (ads), DMCA, пожелания: t.me/EasyAPKBot

💵Реклама: https://telega.in/c/EasyAPK

🔴 Чат: @ChatEasyAPK

Все публикуется в ознакомительных целях. Вы скачиваете программы на свой страх и риск

Last updated 11 months ago