Rust
2.13K subscribers
141 photos
89 videos
2 files
187 links
Полезный контент по программированию на Rust
Download Telegram
CloudFlare отказывается от Nginx в пользу in-house HTTP-прокси на Rust

Сегодня мы поговорим о Pingora, новом HTTP-прокси, который мы создали у себя внутри с помощью Rust. Прокси обслуживает более 1 триллиона запросов в день, форсирует производительность и предоставляет множество новых функций для клиентов Cloudflare, при этом требуя всего лишь треть ресурсов CPU и памяти нашей предыдущей прокси-инфраструктуры.

Rus https://habr.com/ru/articles/688634/

Eng https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/

👉 @rust_lib
👍5
Децентрализованный поиск для свободного веба

Возможно ли создать поисковую систему, которую на практике нельзя подвергнуть цензуре, влиянию и блокировке?

Говоря техническим языком, возможно ли выполнять полнотекстовый поиск не имея удаленного сервера, удобным для пользователя способом, одновременно храня поисковый индекс в peer-to-peer системе и имея возможность быстро обновлять поисковый индекс?

Да, это возможно!

Существует редкий класс баз данных - peer-to-peer БД. Такие базы проигрывают по большинству параметров обычным БД и используются скорее для экспериментов.

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

👉 @rust_lib
👍3
Bevy

Простой игровой движок, управляемый данными, построенный на Rust

https://github.com/bevyengine/bevy

👉 @rust_lib
👍31
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
👍51
Rust как часть микросервисной архитектуры

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

Но есть небольшой недостаток  —  очень строгая модель владения. Впрочем, не такой уж это и недостаток: если ее придерживаться, получается очень стабильный и легкий в сопровождении код.

https://nuancesprog.ru/p/16265/

👉 @rust_lib
👍7
SongRec

Клиент Shazam с открытым исходным кодом для Linux, написанный на языке Rust

https://github.com/marin-m/SongRec

👉 @rust_lib
👍5
Шпаргалка по Rust

Мы создали эту шпаргалку по Rust изначально для студентов нашего Rust Bootcamp: Rust Programming: Но теперь мы делимся ею со всеми разработчиками, которые хотят выучить и запомнить некоторые ключевые функции и концепции Rust, а также иметь краткое справочное руководство по основам Rust.

Мы гарантируем, что это лучшая и наиболее полная шпаргалка по Rust, которую вы можете найти.

https://zerotomastery.io/cheatsheets/rust-cheat-sheet/

👉 @rust_lib
👍6
Тестирование Rust

Я всё ещё продолжаю изучать Rust. Кроме синтаксиса, для знания языка нужно понимать его идиомы и экосистему. Сейчас я нахожусь на этапе изучения тестирования в Rust.

Rus https://habr.com/ru/companies/ruvds/articles/697772/

Eng https://dzone.com/articles/different-test-scopes-in-rust

👉 @rust_lib
👍7
Какую модель памяти следует использовать в языке Rust?

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

Rus https://habr.com/ru/companies/timeweb/articles/697882/

Eng https://paulmck.livejournal.com/66175.html

👉 @rust_lib
👍4👎1
Работа с графикой на языке Rust

Всем привет! Меня зовут Саша и я backend разработчик. Нет, не на rust. Но раст мой любимый язык и недавно я задался целью портировать движок онлайн игры, написанный на C++. Первый месяц ушел на то, чтобы разобраться с бинарными ассетами, их чтением и управлением. Но статья будет не об этом, а о WGPU.

Часть 1 https://habr.com/ru/articles/690514/
Часть 2 https://habr.com/ru/articles/698426/


👉 @rust_lib
👍5
Простое понимание замыканий в Rust

У вас бывало такое, что вы никак не можете скомпилировать код с замыканиями в Rust? Уже и все варианты Fn-трейтов перебрали, и move написали везде, где можно, а borrow checker все равно не унимается? И тут оказывается, что просто нужно внутри замыкания клонировать переданную переменную окружения! Сложно и непонятно. Дурацкий привереда Rust.

На самом деле довольно просто понять, почему так происходит и на что влияет move, а на что — клонирование. Но отсутствие подобного понимания я наблюдаю не только у начинающих программистов, но и у вполне зрелых. Хуже того, есть статьи, в которых это объясняется неправильно.

Итак, ключ к пониманию — это представление, что замыкание на самом деле реализуется компилятором как структура. Причем захваченные переменные окружения становятся полями структуры, а тело замыкания становится телом метода для вызова (одного из трех возможных: Fn::call, FnMut::call_mut, FnOnce::call_once).

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

👉 @rust_lib
👍4🤔1