Rust
2.03K subscribers
121 photos
85 videos
2 files
162 links
Полезный контент по программированию на Rust
Download Telegram
Полиморфизм: подавать холодным

Полиморфизм («истинный», параметрический) — свойство, позволяющее обрабатывать данные разных типов одним образом.

Полиморфизм является одним из трёх столпов ООП, наравне с наследованием и инкапсуляцией, да и в целом краеугольным камнем современного программирования. Думаю, большинство читателей не представляет своей жизни без полиморфизма, за что я, конечно, это большинство никак не осуждаю, ибо сам к нему принадлежу. Дело, однако, в том, что многие не задумываются об устройстве этого полиморфизма, ведь любой принцип программирования, по сути, представляет из себя математическую матрёшку.

Реализуем функции print_static, print_dynamic и print_enum для демонстрации различных методов реализации полиморфизма.

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

👉 @rust_lib
👍7
Как я приложение с Go на Rust переписывал

О Rust я слышал ещё несколько лет назад и все его либо хвалили, либо порицали, по различным причинам. Но сам как-то не брался за него - мне, неподготовленному к подобному синтаксису и не знакомому с подобными языками хотя бы на базовом уровне, в то время он казался совершенно непонятным. Но вот спустя время для себя решил написать что-то похожее на бенчмарк для тестов локальных HTTP API-серверов.

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

👉 @rust_lib
👍6🥱2
This media is not supported in your browser
VIEW IN TELEGRAM
Gyroflow

Приложение, что позволяет стабилизировать ваши видео, используя данные о движении от гироскопа и, при необходимости, акселерометра

Современные камеры записывают эти данные внутри себя (GoPro, Sony, Insta360 и т. д.), и это приложение стабилизирует отснятый материал именно с их помощью. Gyroflow также поддерживает использование данных из внешнего источника.

https://github.com/gyroflow/gyroflow

👉 @Githublib
👍5🔥1
Rust и C++ при создании астродинамической библиотеки

Моя прошлая статья заканчивалась тем, что у меня возникла проблема выбора на чем писать и я говорил, что в следующей части продолжу свое изложение как сравнение Rust и C++. Но проблема на тот момент заключалось в том, что с первым из них я был знаком шапочно, и чтобы нести ахинею нужно было узнать его поглубже. И как оказалось этот процесс не очень простой.

Изначально я планировал еще привести сравнение производительности, но сейчас понимаю, что будет это не совсем корректно. «Почему?» – спросите Вы меня. Давайте разбираться вместе. Да, пока не начали, оговорюсь сразу, что в данной статье я решил не рассказывать о смысле приводимого кода, т.к. это сразу усложнит восприятие.

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

👉 @rust_lib
👍4👎1🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Пишем игру от первого лица в 2КБ на Rust

Поначалу кажется, что создать игру от первого лица без движка или графического API практические невозможно. В этом посте я расскажу, как это сделать при помощи алгоритма под названием ray casting.

Моя цель — показать, что сложную задачу можно разбить на более простые части, и если я всё сделаю правильно, то у вас появится ощущение, что вы сами открыли, как работает игра.

Для начала разберёмся, как работает алгоритм, а затем построчно напишем его. Затем мы пересмотрим код, добавим несколько возможностей и оптимизируем его размер. Я постарался сделать пост максимально доступным и дружелюбным, но вам поможет приличное знание программирования, Rust и основ геометрии.

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

Eng https://grantshandy.github.io/posts/raycasting/

👉 @rust_lib
👍4🔥3
Rust 1.73.0: новый формат сообщений о панике, изменение в работе с локальными данными потока

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

Если у вас есть предыдущая версия Rust, установленная через rustup, то для обновления до версии 1.73.0 вам достаточно выполнить команду:
rustup update stable

https://blog.rust-lang.org/2023/10/05/Rust-1.73.0.html

👉 @rust_lib
👍3
Не так страшен Rust, как его излагают

Последние годы часто хвалят язык программирования Rust. Однако, без изучения синтаксиса и особенностей языка в нём сложно разобраться. Честно говоря, при первом просмотре дальше простых примеров я продвинуться не смог. Вроде догадываешься, что тут указываем тип переменных, амперсанд – это вроде “я только посмотреть”, но всё равно код складывался в некую мешанину иероглифов с кучей скобок и, на первый взгляд, случайно проставленных точек с запятыми. То ли дело Python, минимализм синтаксиса которого так привлекателен для неокрепших душ. Однако, так ли сложен Rust на самом деле или это миф?

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

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

👉 @rust_lib
👍10
Тест производительности Web-фреймворков для Rust

В этой статье мы сравним производительность 3 наиболее популярных бекэнд-фреймворков для Rust: Axum, Actix и Rocket.

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

👉 @rust_lib
👍9
Как Rust меняет мышление разработчика

Я страшно ненавижу C++. Обычно я люблю программирование, но каждый проект, с которым я имел дело на C++, ощущался как монотонная рутина. В январе 2023 года я пошёл по пути изучения Rust, поэтому теперь могу сказать, что знаю язык системного программирования, который действительно люблю использовать.

Первый стабильный релиз Rust появился в 2015 году, и каждый год, начиная с 2016, он признаётся в Stack Overflow’s Annual Developer Survey самым любимым языком (в 2023 году эта категория называется «обожаемый»). Почему же разработчики, ощутившие вкус Rust, не могут отказаться от его использования? Похоже, в мире прогремевших наследников C/C++ репутация растёт только у Rust. Как же этот язык, появившийся на сцене меньше десятка лет назад, стал настолько популярным?

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

Eng https://medium.com/@caring_lion_hedgehog_829/rust-beyond-the-syntax-9d10fe5ccaec

👉 @rust_lib
👍9👎3🤡2
Statistics with Rust.pdf
1016.5 KB
Statistics with Rust: 50+ Statistical Techniques Put into Action
Автор: Keiko Nakamura (2023)

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

👉 @rust_lib
👍6
Мнение три года спустя: стоил ли того переход с JavaScript на Rust?

Несколько лет назад я отказался от всего и полностью сосредоточился на WebAssembly. В то время Rust имел наилучшую поддержку компиляции в WebAssembly, а самые полнофункциональные среды исполнения WebAssembly были основаны на Rust. Rust был лучшим из вариантов. С места в карьер я нетерпеливо начал разбираться, чем же вызван такой ажиотаж.

С тех пор мы с ещё несколькими потрясающими разработчиками создали Wick, — фреймворк приложений и среду исполнения, использующие в качестве системы основного модуля WebAssembly.

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

original https://jsoverson.medium.com/was-rust-worth-it-f43d171fb1b3

👉 @rust_lib
👍3😱1
Welcome to Comprehensive Rust 🦀

Это бесплатный курс по языку Rust, разработанный командой разработчиков Android в Google. Курс охватывает весь спектр языка Rust, от базового синтаксиса до таких продвинутых тем, как дженерики и обработка ошибок.

https://google.github.io/comprehensive-rust/

👉 @rust_lib
👍121🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
RustGPT: ChatGPT UI Built with Rust, Htmx, SQLite

RustGPT - это пользовательский интерфейс ChatGPT, созданный на основе Rust + HTMX: мощь Rust в сочетании с простотой HTMX 💚.

https://github.com/bitswired/rustgpt

👉 @rust_lib
Чем хорош Rust для продакшена?

За последние годы интерес к Rust значительно вырос. Отчасти этому способствовало то, что ведущие участники технологической индустрии, такие как Microsoft, Google и Amazon рассказали о своём опыте использования этого языка в реализации критических систем.

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

https://habr.com/ru/companies/ruvds/articles/774042/

👉 @rust_lib
👍6
Пишем простой калькулятор используя фреймворк eframe (egui)

Всем здравствуйте. Ниже будет приведен пример написания PWA приложения готового для использования как в браузере, так и на компьютере с ОС Windows. Использовать будем язык программирования Rust и фреймворк eframe (egui). Готовое приложение будет доступно как исполняемый файл для ОС Windows, и как файл Webassembly. В процессе работы мы будем использовать GitHub Action для отслеживания корректности написания нашего кода и сборки исполняемых файлов программы, а также для развертывания (версию программы с использованием Webassembly) как страницы в интернете (GitHub Pages).

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

👉 @rust_lib
👍6
Язык программирования Rust: безопасность, производительность и преимущества

Язык программирования Rust был разработан компанией Mozilla и впервые представлен в 2010 году. Он считается одним из самых безопасных и производительных языков программирования на сегодняшний день. В данной статье мы рассмотрим основные преимущества Rust, и почему он становится все более популярным в системном программировании.

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

👉 @rust_lib
👍5
Rustix

Система контроля версий написанная на Rust

https://github.com/knoxydev/rustix-vcs

👉 @rust_lib
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Ratatui

Библиотека Rust, предназначенная для создания терминальных пользовательских интерфейсов (TUI).

https://github.com/tui-rs-revival/ratatui

👉 @rust_lib
👍18
Самая маленькая хеш-таблица в мире

1 декабря я в очередной раз поучаствовал в Advent of Code, написав программу на Rust. Если интересно — код можно найти на GitHub. Тут мне хотелось бы рассказать о моём решении задачи, предлагавшейся во 2 день мероприятия, так как это решение, с одной стороны, сверх всякой меры оптимизировано, а с другой — демонстрирует кое-какие полезные приёмы. Чтобы не усложнять себе жизнь — мы рассмотрим лишь первую часть задачи, но те же приёмы можно применить и к её второй части.

Мы начнём входить в курс дела не спеша, но я предлагаю вам не отклоняться от заданного мной курса, так как, после того, как вы полностью прочтёте этот материал, у вас должно появиться понимание того, что именно делает следующая функция, как она работает, как такую функцию написать, и того, почему это — самая маленькая в мире хеш-таблица:

pub fn phf_shift(x: u32) -> u8 {
let shift = x.wrapping_mul(0xa463293e) >> 27;
((0x824a1847u32 >> shift) & 0b11111) as u8
}


Rus https://habr.com/ru/companies/wunderfund/articles/723536/

Eng https://orlp.net/blog/worlds-smallest-hash-table/


👉 @rust_lib
👍4
Media is too big
VIEW IN TELEGRAM
Игровой движок написанный на Rust

Ambient - это кроссплатформенная среда исполнения с открытым исходным кодом и платформа для создания, развертывания и совместного использования высокопроизводительных многопользовательских игр в Интернете, на рабочем столе и в других местах. Основанная на Rust, WebAssembly (WASM) и WebGPU, Ambient является передовой, оставаясь при этом верной своей цели: сделать разработку игр увлекательной и доступной.

https://github.com/AmbientRun/Ambient

👉 @rust_lib
👍132