Rust для DotNet разработчиков
34 subscribers
47 links
Открытый курс от сообщества: про Rust для тех кто знает C#, в глубину и с практикой, и пусть никто не уйдёт обиженным
https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Download Telegram
Добро пожаловать на курс: Rust для DotNet разработчиков

Открытый курс от сообщества: про Rust для тех кто знает C#, в глубину и с практикой, и пусть никто не уйдёт обиженным

Youtube Playlist: https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Rust для DotNet разработчиков pinned «Добро пожаловать на курс: Rust для DotNet разработчиков Открытый курс от сообщества: про Rust для тех кто знает C#, в глубину и с практикой, и пусть никто не уйдёт обиженным Youtube Playlist: https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z»
Лекция #00: Обзор Rust от лица DotNet разработчика

Rust уже несколько лет подряд является самым желанным из языков программирования, но все ли так радужно и как это соотносится с нашей DotNet экспертизой?

Во вводной лекции ответим на следующие вопросы:
- Зачем изучать Rust DotNet разработчику?
- Как изучать Rust, особенно если на работе он никому не нужен?
- Чем живет "ржавая" индустрия?

Сегодня онлайн в 18:00 CEST (Сербия), 19:00 EEST (Кипр), 20:00 MSK (СПб), 21:00 AMT/GET (Ереван, Тбилиси), 23:00 ALMT (Астана).
Присоединяйтесь: https://youtube.com/live/qp6fj8f6Fbw
Видео #00: Обзор Rust от лица DotNet разработчика

https://youtube.com/live/qp6fj8f6Fbw

Rust уже несколько лет подряд является самым желанным из языков программирования, но все ли так радужно и как это соотносится с нашей DotNet экспертизой?

Во вводной лекции ответим на следующие вопросы:
- Зачем изучать Rust DotNet разработчику?
- Как изучать Rust, особенно если на работе он никому не нужен?
- Чем живет "ржавая" индустрия?

Shownotes:
00:00:00 О Курсе
00:12:30 Что есть для нас Rust?
00:32:00 Rust страшилки
00:47:25 Операционная система на Rust
01:00:00 Характеристики Rust
01:04:00 Undefined Behavior
01:19:00 Zero Cost Abstractions
01:28:50 Memory Safety
01:37:20 LVVM
01:48:20 Функциональное программирование
01:58:40 Ждет ли Rust судьба D?
02:07:50 Web разработка на Rust
02:13:50 Desktop разработка на Rust
02:16:45 Serverless разработка на Rust
02:28:20 GameDev на Rust
02:29:55 WASM
02:30:35 И при чем тут Китай?

Ссылки:
- Rust Production Usage https://www.rust-lang.org/production/users
- OsDev
- OsDevWiki https://wiki.osdev.org/Expanded_Main_Page
- Rust x86 OS tutorial https://os.phil-opp.com/
- Rust rasbperryPI OS Tutorial https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials
- Linux:
- Linux Rust 6.1 https://www.phoronix.com/news/Linux-6.1-rc1-Released
- Linux Kernel Module Tutorial https://www.jackos.io/rust-kernel/rust-for-linux.html
- Errors:
- Anyhow https://docs.rs/anyhow/latest/anyhow/
- Thiserror https://crates.io/crates/thiserror
- Iterators:
- Docs https://doc.rust-lang.org/book/ch13-04-performance.html
- Rust ASM https://godbolt.org/z/8hrvT1Mdd
- C# ASM https://sharplab.io/#v2:C4LghgzgtgPgAgJgIwFgBQcAMACOSB0AMgJYB2AjgNzpwDMuC2AwtgN7rae70AmA9gFcARgBsAptgDKwHgBExANwAUAMxF8wwANoBdbArEBjAJRsOXCwrAAnbKWwBebKvWbjBw0TGkA5sAAW1GgWljbYYAo+jvpG+JICUErGAPSkQSFcVrbAfAAO0R5xYuKGwEoAHo4AfM7lALQRPsYAVBUNkcbGcQlJ6Rn6YUJ8wDlQ0S4awMZKhYTefv7YddhIxn0ZcADs2ACymv5x5NZlObnJQyN8UGvmnAC+6HdAA===
- SEND+SYNC:
- RUST book https://doc.rust-lang.org/book/ch16-04-extensible-concurrency-sync-and-send.html
- Rustonomicon https://doc.rust-lang.org/nomicon/send-and-sync.html
- Async chaos:
- Async Book Ecosystem https://rust-lang.github.io/async-book/08_ecosystem/00_chapter.html
- Actix web:
- Techempower benchmark https://www.techempower.com/benchmarks/#section=data-r21
- Habr Article about benchmark https://habr.com/ru/post/485452/
- Tauri:
- https://tauri.app/
- Comparison with electron https://www.levminer.com/blog/tauri-vs-electron
- AWS:
- Sustainability with Rust https://aws.amazon.com/blogs/opensource/sustainability-with-rust/
- Fircracker https://github.com/firecracker-microvm/firecracker
- AWS Lambda Perf comparison https://filia-aleks.medium.com/aws-lambda-battle-2021-performance-comparison-for-all-languages-c1b441005fd1
- Desktop:
- https://github.com/rust-unofficial/awesome-rust#gui
- ML:
- Awesome Rust List https://github.com/rust-unofficial/awesome-rust#artificial-intelligence
- Awesome ML list https://github.com/vaaaaanquish/Awesome-Rust-MachineLearning
- Rust ML Perf Article https://www.lpalmieri.com/posts/2019-12-01-taking-ml-to-production-with-rust-a-25x-speedup/
- Gamedev:
- Bevy https://github.com/bevyengine/bevy
- Awesome List Gamedev https://github.com/rust-unofficial/awesome-rust#game-development
- WASM:
- Rust WASM Book https://rustwasm.github.io/docs/book/
- Yew https://yew.rs/
👍1
Rust для DotNet разработчиков pinned «Видео #00: Обзор Rust от лица DotNet разработчика https://youtube.com/live/qp6fj8f6Fbw Rust уже несколько лет подряд является самым желанным из языков программирования, но все ли так радужно и как это соотносится с нашей DotNet экспертизой? Во вводной лекции…»
Лекция #01: Синтаксис Rust vs C#

Единственная "обязательная" лекция: галопом по Европам разберем синтаксические конструкции Rust, опираясь на наши знания C#.

Сегодня онлайн в 18:00 CEST (Сербия), 19:00 EEST (Кипр), 19:00 MSK (СПб), 21:00 AMT/GET (Ереван, Тбилиси), 23:00 ALMT (Астана).
Присоединяйтесь: https://youtube.com/live/oo3hAhvjYJA
👍2
Видео #01: Синтаксис Rust vs C#

https://youtube.com/live/oo3hAhvjYJA

Единственная "обязательная" лекция: галопом по Европам разберем синтаксические конструкции Rust, опираясь на наши знания C#.

Ссылки:
- https://t.me/dotnextconf/13669 : Подать доклад на DotNext
- https://cheats.rs/ : Rust language cheat sheet
- https://doc.rust-lang.org/stable/book/ch03-00-common-programming-concepts.html : Rustbook "Common Programming Concepts"
- https://github.com/topics/cargo-generate : Cargo Generate Templates
Лекция #02: Владение, ссылки и заимствование

Ownership и borrowing - визитная карточка Rust. Разберемся как это работает, зачем нужны такие ограничения и при чем тут C#.


Сегодня онлайн в 18:00 CEST (Сербия), 19:00 EEST (Кипр), 19:00 MSK (СПб), 21:00 AMT/GET (Ереван, Тбилиси), 23:00 ALMT (Астана).
Присоединяйтесь: https://youtube.com/live/bBl7DC1YiOI
#02: Владение, ссылки и заимствование

Ownership и borrowing - визитная карточка Rust. Разберемся как это работает, зачем нужны такие ограничения и при чем тут C#.

https://youtube.com/live/bBl7DC1YiOI

Shownotes:
00:00:00 Вступление
00:01:42 Loop
00:15:00 Лямбды
00:18:20 Методы
00:18:38 Generics
00:51:00 Trait
00:55:20 Ownership
00:59:00 Copy
01:01:00 Move
01:07:00 Drop
01:11:00 Borrowing
01:28:00 Dangling ref
01:30:00 Mutable ref
01:40:00 Deref
01:56:50 Copy vs Move
02:03:00 Заключение

Ссылки:
- https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html : RustBook Understanding Ownership
- https://gist.github.com/dubrowgn/c61372647160ae4a52f65ef91da99ddc : Move/Copy/Borrow Semantics in Programming
- https://doc.rust-lang.org/nomicon/ownership.html : Ownership Rustnomicon


Все выпуски: https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Промо и обсуждения: https://t.me/rust4dotnetdevs

Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra
Copyright: https://creativecommons.org/licenses/by-sa/4.0/
#03: Lifetimes в Rust на пальцах

Как мы понимаем, что в C# коде есть ошибка в ref-ах? Нам показывают странную ошибку компиляции. В Rust все немного по-другому: то что скрыто в недрах компилятора C# является частью синтаксиса Rust.

Сегодня онлайн в 18:00 CEST (Сербия), 19:00 EEST (Кипр), 19:00 MSK (СПб), 21:00 AMT/GET (Ереван, Тбилиси), 23:00 ALMT (Астана).
Присоединяйтесь: https://youtube.com/live/Z85G0m1vNCQ
#03: Lifetimes в Rust на пальцах

Как мы понимаем, что в C# коде есть ошибка в ref-ах? Нам показывают странную ошибку компиляции. В Rust все немного по-другому: то что скрыто в недрах компилятора C# является частью синтаксиса Rust.

https://youtube.com/live/Z85G0m1vNCQ

Shownotes:
00:00:00 Вступление
00:02:00 Lifetimes в C#
00:17:00 Lifetimes как scope в DI контейнерах
00:31:30 Lifetimes для провисающих ссылок
00:35:20 Static lifetime
00:40:30 Как видит наш код Rust компилятор
00:42:30 Как работает mut check
00:45:40 Пишем lifetimes руками
01:14:00 Demo: C# vs Rust в контексте ref return

Ссылки:
- https://doc.rust-lang.org/book/ch10-03-lifetime-syntax.html : Validating References with Lifetimes
- https://github.com/rustviz/rustviz : Lifetimes interactive visualization
- https://doc.rust-lang.org/nomicon/lifetimes.html : Lifetimes in Rustnomicon

Все выпуски: https://www.youtube.com/playlist?list=PLbxr_aGL4q3S2iE00WFPNTzKAARURZW1Z
Промо и обсуждения: https://t.me/rust4dotnetdevs

Background music: http://freemusicarchive.org/music/Six_Umbrellas/Ad_Astra
Copyright: https://creativecommons.org/licenses/by-sa/4.0/
Всем привет,
К сожалению сегодня лекции не будет, но если Вы уже настроились на Rust, предлагаем попрактиковаться в специальном курсе rustlings https://github.com/rust-lang/rustlings

Специально для Вас мы подготовили список заданий по темам, которые уже прошли:
- https://github.com/rust-lang/rustlings/tree/main/exercises/variables
- https://github.com/rust-lang/rustlings/tree/main/exercises/functions
- https://github.com/rust-lang/rustlings/tree/main/exercises/if
- https://github.com/rust-lang/rustlings/tree/main/exercises/primitive_types
- https://github.com/rust-lang/rustlings/tree/main/exercises/move_semantics
- https://github.com/rust-lang/rustlings/tree/main/exercises/lifetimes

Задания интересные, очень рекомендуем. Тяжело в учении, легко в проде.
👍2
Rust для DotNet разработчиков #04: Практика в rustlings

Теория - хорошо, но пора порешать задачки. И отличной точкой входа является открытый проект rustlings. Мы вместе с Вами порешаем задачки, дадим комментарии и попробуем вдохновить на последующие "подвиги".

Сегодня онлайн в 18:00 CEST (Сербия), 19:00 EEST (Кипр), 19:00 MSK (СПб), 21:00 AMT/GET (Ереван, Тбилиси), 23:00 ALMT (Астана).
Присоединяйтесь: https://youtube.com/live/5PGl8j7LfKo