ASCII-Nova 🇺🇦
91 subscribers
998 photos
42 videos
9 files
439 links
предложка: @ascii_nova_suggest_bot

Гиковство && занудство, инди-музыка, геймдев и непрошенные советы

Чат, где мы обсуждаем код и всё около него: @ascii_nova_chat
Download Telegram
# Пост про оффлайн Rust-разработку

Поделюсь важными находками

1) Вся официальная документация и книги
(the book, Rust By Example, standard library, rustc book, Cargo Book, ... все, я устану перечислять)
$ rustup docs

* это уже у вас есть вместе с туллчейном

2) Может более актуальная штука, уже для существующего проекта:
$ cargo doc --open

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

* нужно при наличии интернета выполнить, чтобы пошла сборка документации

#Rust #TIL
👍3👏1
🤯4👍1
Недавно была крутейщая #Rust конференция в Нидерландах, на которой было много шикарнейших докладов

Почти вся элита Rust-коммьюнити выступала, от Alice Ryhl и Mara Bos, до Niko Matsakis (не упомянутые спикеры не менее мощные!)



Добавил себе в закладки очень многие, например (это не все):

Arc in the Linux Kernel - Alice Ryhl - YouTube
https://www.youtube.com/watch?v=gr9v0FFXaZ8&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=4

Async Rust in Embedded Systems with Embassy - Dario Nieuwenhuis - YouTube
https://www.youtube.com/watch?v=H7NtzyP9q8E&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=14

Xilem: Let's Build High Performance Rust UI - Raph Levien - YouTube
https://www.youtube.com/watch?v=OvfNipIcRiQ&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=14

Type Theory for Busy Engineers - Niko Matsakis - YouTube
https://www.youtube.com/watch?v=9qLACD9Bfbk&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7&index=16



Ссылка на плейлист с докладами:

https://www.youtube.com/watch?v=NPP2_6KMA60&list=PL8Q1w7Ff68DBZZbJt3ie5MUoJV5v2HeA7
👍5🔥1
Rustlings очень удобный и интересный набор упражнений по обучению программирования на #Rust

Когда-то, проходил их, ещё до того, как свичнуться и был доволен

Сейчас же ещё и новая версия!

Изучающим Rust очень советую

https://mo8it.com/blog/rustlings-rewrite
3👍1
Недавно написал свой первый процедурный макрос в Rust

Плюсы:
+ Писать макросы на Rust сверх приятно*
Минусы:
- Хочется писать теперь их еще и еще...

Если серьёзно, то возможность работать с набором токенов, которые парсятся в растовую структурку, очень интересно. Условно, я могу в макросе поменять сигнатуру полностью: изменить какой-то аргумент или вообще добавить новый.

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

Иными словами, больше интересных возможностей по разработке API.

* Вспоминаю восторженные рассказы моего лида Николаса с одной из прошлых работ про Common Lisp и расширение синтаксиса через макросы (вроде ничего не перепутал) -- звучит мощно, не часто можно расширить синтаксис своего ЯП, верно?

В моём случае, это не расширение синтаксиса, но всё же выход на этот, скажем, мета-уровень (работа напрямую с конструкциями языка и (!) возможность изменить поведение), это драйвит

#Rust
🔥5
ASCII-Nova 🇺🇦
Еще немного внутренностей — в общем, работа чисто в Растовых терминах
А, кстати, говоря про синтаксис -- для процедурных макросов, можно реализовать какой угодно парсер аргументов, вплоть до... например парсинга Python кода (https://crates.io/crates/inline-python)

Я реализовал простой опциональный аргумент вида: [, return_value = "unwrap"|"unwrapAndColon"|"asIs"] (параметр, с ожиданием одного из трёх значений).

В общем, реально классная штука и зрелость экосистемы для написания макросов меня прямо впечатляет (макросы я активно старался НЕ писать как бывший плюсовик, т.к. макросы это pure C way, а я топил за плюсы и шаблоны)

Может не самое честное сравнение с препроцессором C/C++, т.к. это просто замена/вставка текста (буквально), но иметь макросы, которые прямо компилируемые внутри, это супер круто!

#Rust
🥰6
Memory Safety in C++ vs Rust vs Zig | by B Shyam Sundar | Jul, 2024 | Medium
https://medium.com/@shyamsundarb/memory-safety-in-c-vs-rust-vs-zig-f78fa903f41e

Добротная статья. В целом, хорошая иллюстрация, зачем вообще #Rust

В мире C++ нужно писать новые компиляторы (или обёртки), чтобы работать с владением
1👀1
😁2😢2
Scientific Computing in Rust 2024
https://scientificcomputing.rs/

Прямо сейчас идёт классный онлайн-воркшоп по #Rust

Тем кто пропускает (например я), записи можно будет потом посмотреть на канале: https://www.youtube.com/@ScientificComputinginRust
В #Rust оператор ? работает не только для Result<T, E>, но оказывается и для Option<T>.

Т.е. применённый к Option<T>, сразу вернётся None, если значения нет.

Пока что не понимаю, насколько активно буду использовать, хотя для Result<T, E> использую 10 раз из 10.

#TIL
1😁1
lvkv/whenfs: A FUSE Filesystem for your Google calendar
https://github.com/lvkv/whenfs

вот это я понимаю, пет проекты у людей

PS. и конечно же на #Rust
🤣4🔥3
https://doc.rust-lang.org/nightly/unstable-book/language-features/postfix-match.html

Интересно, случайно наткнулся на классную штуку: возможность писать match в "текучем" стиле

для тех, кто как я, любит разные длинные ФП-шные колбасы из вызовов методов один за одним, может иметь смысл

#Rust #TIL