مباحث دوره

این صفحه برای مدرس دوره است.

مبانی Rust

سه روز اول دوره را مبانی Rust تشکیل میدهند. این این سه روز با سرعت بالایی پیش می‌روند و ما موارد زیادی را پوشش می‌دهیم!

مباحث دوره:

  • روز ۱ صبح (۲ ساعت و ۵ دقیقه با احتساب استراحت)
بخشمدت زمان
خوش آمدید۵ دقیقه
سلام, دنیا۱۵ دقیقه
تایپ‌ها و مقادیر۴۰ دقیقه
مبانی پایه کنترل جریان۴۰ دقیقه
  • روز ۱ بعد از ظهر (۲ ساعت و ۳۵ دقیقه،شامل وقت استراحت)
بخشمدت زمان
تاپل ها و آرایه ها۳۵ دقیقه
مراجع۵۵ دقیقه
تایپ‌های تعریف شده توسط کاربر۵۰ دقیقه
  • روز ۲ صبح (۲ ساعت و ۱۰ دقیقه، شامل وقت استراحت)
بخشمدت زمان
خوش آمدید۳ دقیقه
تطبیق۱ ساعت
متدها و تریت‌ها۵۰ دقیقه
  • روز ۲ بعد از ظهر (۴ ساعت و ۵ دقیقه، شامل وقت استراحت)
بخشمدت زمان
Generics۴۵ دقیقه
کتابخانه‌ استاندارد تایپ‌ها۱ ساعت
کتابخانه استاندارد Traits۱ ساعت و ۱۰ دقیفه
  • روز ۳ صبح (۲ ساعت و ۲۰ دقیقه، شامل وقت استراحت)
بخشمدت زمان
خوش آمدید۳ دقیقه
مدیریت حافظه۱ ساعت
اشاره‌گرهای هوشمند۵۵ دقیقه
  • روز ۳ بعدازظهر(۱ ساعت و ۵۵ دقیقه، شامل وقت اسراحت)
بخشمدت زمان
قرض‌گیری (Borrowing)۵۵ دقیقه
طول‌عمر۵۰ دقیقه
  • روز ۴ صبح (۲ ساعت و ۴۰ دقیقه، شامل وقت استراحت)
بخشمدت زمان
خوش آمدید۳ دقیقه
Iterators۴۵ دقیقه
ماژول‌ها۴۰ دقیقه
تست‌کردن۴۵ دقیقه
  • روز ۴ بعدازظهر (۲ ساعت و ۱۰ دقیقه، شامل وقت استراحت)
بخشمدت زمان
مدیریت خطا۱ ساعت
Rust ناایمنساعت و ۵ دقیقه

عمیق تر شدن

علاوه بر کلاس 4 روزه Rust Fundamentals، موضوعات تخصصی تری را نیز پوشش می دهیم:

Rust در اندروید

در Rust در اندروید توی دوره یک دوره نیم روزه در مورد استفاده از Rust برای توسعه پلتفرم اندروید عمیق می‌شیم. این شامل قابلیت تعامل با C، C++ و جاوا می‌شود.

شما نیاز دارید که یک نسخه از مخزن ASOP بگیرید, همچنین یک نسخه از مخزن دوره بگیرید و روی همون ماشین در مسیر src/android/مخزن ASOP قرار دهید. با این کار طمینان حاصل می‌کنید که سیستم build اندروید فایل های Android.bp را در src/android/ می‌بینید.

اطمینان حاصل کنید که adb sync با شبیه‌ساز یا دستگاه واقعی شما کار می‌کند و همه نمونه‌های Android را با استفاده از src/android/build_all.sh از قبل بسازید. اسکریپت را بخوانید تا دستوراتی را که اجرا می‌کند ببینید و مطمئن شوید که وقتی آنها را اجرا می‌کنید به درستی کار می‌کنند.

Rust در اندروید

عمیق Rust in Chromium یک دوره نیم روزه برای استفاده از Rust به عنوان بخشی از مرورگر Chromium است. این شامل استفاده از Rust در سیستم ساخت gn‍ Chromium، آوردن کتابخانه‌های شخص ثالث ("crates") و قابلیت همکاری ++C است.

شما باید بتوانید Chromium را بسازید --- یک اشکال زدایی، ساخت کامپوننت برای سرعت [توصیه می شود] (../chromium/setup.md) است، اما هر ساختی کار می کند. مطمئن شوید که می‌توانید مرورگر Chromium را که ساخته‌اید اجرا کنید.

Rust بر روی سخت افزار بدون سیستم عامل

دوره آموزشی Rust بر روی سخت افزار بدون سیستم عامل یک دوره یک روزه با تمرکز بر استفاده ازRust برای توسعه بر روی سخت افزار بدون سیستم عامل (embedded) است. این دوره هم میکروکنترلرها و هم پردازشگر هایی با کارایی خاص را پوشش می دهد.

برای قسمت میکروکنترلر، باید برد توسعه BBCmicro:bit v2 را خریداری کنید. همه باید تعدادی بسته را همانطور که در welcome page توضیح داده شده نصب کنند.

همزمانی در Rust

The Concurrency in Rust deep dive is a full day class on classical as well as async/await concurrency.

شما به یک crate جدید نیاز خواهید داشت و وابستگی ها دانلود و آماده استفاده باشند. سپس می‌توانید نمونه‌ها را در src/main.rs‍ کپی/پیست کنید تا با آنها آزمایش کنید:

cargo init concurrency
cd concurrency
cargo add tokio --features full
cargo run

مباحث دوره:

  • صبح (۳ ساعت و ۲۰ دقیقه، شامل وقت اسراحت)
بخشمدت زمان
تردها۳۰ دقیقه
کانال‌ها۲۰ دقیقه
Send و Sync۱۵ دقیقه
ناحیه‌های مشترک۳۰ دقیقه
تمرین‌ها۱ ساعت و ۱۰ دقیفه
  • بعدازظهر (۳ ساعت و ۲۰ دقیقه، شامل وقت استراحت)
بخشمدت زمان
مبانی Async۳۰ دقیقه
کانال‌ها و Control Flow۲۰ دقیقه
Pitfallها۵۵ دقیقه
تمرین‌ها۱ ساعت و ۱۰ دقیفه

فرمت

این دوره قرار است بسیار تعاملی باشد و توصیه می کنیم اجازه دهید حس کنجکاوی Rust را هدایت کنند!