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

В C# у нас есть сборщик мусора, мы живем и не жалуемся (да, это была шутка). В Rust же подход к управлению памяти гораздо проще и интереснее. После данной лекции Вы поймете, что "Умные Указатели" совсем не страшные, а работать с ними приятно и весело.

https://youtube.com/live/-CBSvk25BwQ

Shownotes:
00:00:00 Вступление
00:02:15 Null в Rust
00:28:30 Struct vs Classes в c#
00:54:55 Боксинг в Rust
01:17:00 Linked List и использованием Box
01:29:30 Пишем Box как в Rust на C#
01:42:55 Что такое RAII
02:01:00 Как воровать данные из Box

Ссылки:
- https://doc.rust-lang.org/book/ch15-00-smart-pointers.html : RustBook "Smart Pointers"
- https://coderethinked.com/visualizing-stack-and-heap-with-sharplab-io/ : Visualizing stack and heap with SharpLab

Все выпуски: 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 для DotNet разработчиков #06: Нарушаем правила Rust, легально и без СМС

Правила владения в Rust прекрасны, но невозможно писать реальные проекты следуя всем ограничениям. Авторы языка это прекрасно понимают, и оставили ряд "легальных лазеек": RC, Cell, RefCell.

Сегодня онлайн в 18:00 CEST (Сербия), 19:00 EEST (Кипр), 19:00 MSK (СПб), 21:00 AMT/GET (Ереван, Тбилиси), 23:00 ALMT (Астана).
Присоединяйтесь: https://youtube.com/live/Fqnwj04CQX4
#06: Нарушаем правила Rust, легально и без СМС

Правила владения в Rust прекрасны, но невозможно писать реальные проекты следуя всем ограничениям. Авторы языка это прекрасно понимают, и оставили ряд "легальных лазеек": RC, Cell, RefCell.

https://youtube.com/live/Fqnwj04CQX4

Shownotes:
00:00:00 Вступление
00:03:00 Повторение: Box
00:05:00 Как работать с ссылками
00:21:05 Сборка мусора методом посчета ссылок
00:30:50 Reference Counter в Rust
00:44:25 Ломаем ограничения на мутации: RefCell
01:06:20 Утечки памяти в Rc
01:27:00 Слабые ссылки
01:33:00 Cell
00:38:00 Заключение

Ссылки:
- https://doc.rust-lang.org/book/ch15-04-rc.html : Reference Counter aka RC
- https://doc.rust-lang.org/book/ch15-05-interior-mutability.html : Cell/RefCell aka Interior Mutability


Все выпуски: 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/
#07: Пишем веб сервис в прямом эфире

Довольно теории, время практики. Сегодня .Net разработчики покажут как просто написать веб сервис на Rust.

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

В C# замыкания выглядят просто, но достаточно сложны под капотом, так как существует множество "особенностей". В Rust те же "особенности" решаются на уровне дизайна языка. Разберем и сравним.

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

В C# замыкания выглядят просто, но достаточно сложны под капотом, так как существует множество "особенностей". В Rust те же "особенности" решаются на уровне дизайна языка. Разберем и сравним.

Shownotes:
00:04:00 Lambda в C#
00:14:40 Lambda in Rust
00:26:14 Что такое замыкание в Rust

Ссылки:
- https://doc.rust-lang.org/book/ch13-01-closures.html : Замыкания в Rust


Все выпуски: 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 для DotNet разработчиков #09: Telegram бот на Rust в прямом эфире

Практикум Rust для .Net разработчиков: пишем бота для телеги в прямом эфире.

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

Практикум Rust для .Net разработчиков: пишем бота для телеги в прямом эфире.

Видео: https://youtube.com/live/0Oyd7qvfbj0

Shownotes:
00:00:00 Интро. Анонимный бот для сексолога
00:02:10 Инициализиурем main для бота с помощью teloxide
00:06:30 dotenvy
00:08:03 Как работают боты
00:09:20 Побеждаем логгер
00:11:40 Добавляем стейт машину для диалога в бот
00:32:20 Тестируем стейт машину
00:35:40 Исследуем сторедж для бота
00:42:50 Фиксим бажульку
00:44:40 Делаем пересылку в канал
01:01:00 Коммитим МВП
01:04:20 Реклама дотнекст
01:05:40 Считает затраты на яндекс клауд
01:09:30 Вебхук для бота
01:13:10 Ngrok
01:16:03 Веб хук продолжаем
01:24:06 Делаем 12 фактор
01:48:00 Собираем докер
02:04:00 Пытаемся запустить в яндекс клауде
02:24:05 СЕГФОЛТ БОЛЬ!!!!!
03:30:10 Боль закончилась. Пытаемся деплоить

Ссылки:
- https://t.me/AntonOnikychukTestBot : Бот, написанный на стриме


Все выпуски: 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 для DotNet разработчиков #10: Сравниваем паттерн матчинг и discriminated union в Rust и C#

Одна из самых ожидаемых фичей будущего C# - discriminated union. И они уже есть в Rust, давайте же посмотрим и сравним.

Сегодня онлайн в 18:00 CEST (Сербия), 19:00 EEST (Кипр), 19:00 MSK (СПб), 21:00 AMT/GET (Ереван, Тбилиси), 23:00 ALMT (Астана).
Присоединяйтесь: https://youtube.com/live/0nVoNsCYsfM
#10: Сравниваем паттерн матчинг и discriminated union в Rust и C#

https://youtube.com/live/0nVoNsCYsfM

Одна из самых ожидаемых фичей будущего C# - discriminated union. И они уже есть в Rust, давайте же посмотрим и сравним.

Shownotes:
00:03:50 Что такое Discriminated Union (алгебраические типы данных)
00:07:50 Discriminated Union в Rust
00:19:00 Как enum распологается в памяти
00:36:30 Discriminated Union в F#
00:44:00 Rust vs F#
00:56:00 Pattern Matching в Rust
01:36:00 Pattern Matching vs Visitor в ООП
02:08:00 Linked List в Rust

Ссылки:
- https://github.com/dotnet/csharplang/blob/main/proposals/discriminated-unions.md : Discriminated unions в C#
- https://doc.rust-lang.org/book/ch06-00-enums.html : Discriminated unions в Rust


Все выпуски: 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 для DotNet разработчиков #11: ООП в Rust, сравнение с C# и не только

Поговорили мы про функциональное программирование, пора затронуть объектно ориентированное. Тем более что в Rust свой подход к задаче полиморфизма.

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