اپلیکیشن اندرویدی فلشکارت آموزشی Rust and System Programming: A Comprehensive Guide to Low-Level Programming
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Rust and System Programming: A Comprehensive Guide to Low-Level Programming
موضوع کلی: برنامه نویسی
موضوع میانی: راست (Rust)
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی سیستمی و نقش Rust
- 2. راهاندازی محیط توسعه Rust (rustup, cargo, rustc)
- 3. اولین برنامه Rust شما: "Hello, World!" و Cargo
- 4. متغیرها، تغییرپذیری (Mutability) و سایهزنی (Shadowing)
- 5. انواع داده بنیادین: انواع اسکالر (Scalar)
- 6. انواع داده ترکیبی: تاپلها (Tuples) و آرایهها (Arrays)
- 7. توابع، پارامترها و مقادیر بازگشتی
- 8. درک تفاوت دستورات (Statements) و عبارات (Expressions)
- 9. کنترل جریان: عبارات `if`, `else if`, `else`
- 10. اجرای تکراری با حلقهها: `loop`, `while`, و `for`
- 11. مدل مالکیت (Ownership): یک پارادایم جدید
- 12. ارجاعها (References) و قرضگیری (Borrowing)
- 13. ارجاعهای تغییرپذیر و جلوگیری از رقابت داده (Data Races)
- 14. برشها (Slices): نمایی از یک مجموعه
- 15. تعریف و نمونهسازی از ساختارها (Structs)
- 16. ساختارها با متدها: بلوکهای `impl`
- 17. شمارشگرها (Enums) و قدرت `match` برای تطبیق الگو
- 18. شمارشگر `Option<T>` برای مدیریت مقادیر پوچ (Nullability)
- 19. مدیریت خطا با شمارشگر `Result<T, E>`
- 20. ماژولها، کریتها (Crates) و سیستم ماژول
- 21. مسیرها برای ارجاع به آیتمها در درخت ماژول
- 22. وارد کردن مسیرها به اسکوپ با کلمه کلیدی `use`
- 23. مجموعههای رایج: ذخیرهسازی لیستها با وکتورها (`Vec<T>`)
- 24. ذخیرهسازی متن UTF-8 با رشتهها (`String`)
- 25. دادههای انجمنی با هشمپها (`HashMap<K, V>`)
- 26. انواع داده جنریک (Generic): نوشتن کد برای انواع متعدد
- 27. ویژگیها (Traits): تعریف رفتار مشترک
- 28. پیادهسازی یک Trait روی یک نوع
- 29. استفاده از Trait Bounds برای محدود کردن انواع جنریک
- 30. ویژگی `Drop`: سفارشیسازی منطق پاکسازی
- 31. اعتبارسنجی ارجاعها با طول عمر (Lifetimes)
- 32. درک حاشیهنویسیهای طول عمر در امضای توابع
- 33. قوانین حذف طول عمر (Lifetime Elision Rules)
- 34. حاشیهنویسیهای طول عمر در تعریف ساختارها
- 35. مدیریت خطای پیشرفته: انتشار خطاها با `?`
- 36. خطاهای غیرقابل بازیابی با `panic!`
- 37. نوشتن تستهای خودکار: تستهای واحد و یکپارچهسازی
- 38. سازماندهی و اجرای تستها با Cargo
- 39. ساخت یک اپلیکیشن خط فرمان: تجزیه آرگومانها
- 40. خواندن از فایلها و نوشتن در آنها
- 41. کلوژرها (Closures): توابع ناشناسی که میتوانند محیط خود را ضبط کنند
- 42. پردازش یک سری از آیتمها با ایتراتورها (Iterators)
- 43. اشارهگرهای هوشمند: `Box<T>` برای تخصیص حافظه هیپ (Heap)
- 44. شمارش ارجاع با `Rc<T>`
- 45. تغییرپذیری داخلی با `RefCell<T>`
- 46. همروندی (Concurrency): ایجاد تردها با `thread::spawn`
- 47. گذردهی پیام برای ارتباط بین تردها با استفاده از کانالها
- 48. همروندی با حالت مشترک با استفاده از Mutex ها (`Mutex<T>`)
- 49. شمارش ارجاع اتمی و امن برای تردها با `Arc<T>`
- 50. ویژگیهای `Send` و `Sync`: همروندی قابل توسعه
- 51. ماکروهای اعلانی با `macro_rules!` برای فرابرنامهنویسی
- 52. ماکروهای رویهای (Procedural): سفارشیسازی `#[derive]`، شبه-صفت و شبه-تابع
- 53. کد ناامن (Unsafe Rust): ورود به دنیای عدم بررسی ایمنی حافظه
- 54. کار با اشارهگرهای خام (`*const T` و `*mut T`)
- 55. فراخوانی توابع و متدهای ناامن
- 56. رابط تابع خارجی (FFI): تعامل با زبانهای دیگر
- 57. فراخوانی کد C از Rust
- 58. ایجاد یک کتابخانه Rust برای C
- 59. ویژگیهای پیشرفته: انواع وابسته (Associated Types)
- 60. ویژگیهای پیشرفته: ویژگی `Deref` و Deref Coercion
- 61. انواع پیشرفته: الگوی Newtype برای ایمنی نوع
- 62. نام مستعار برای انواع با کلمه کلیدی `type`
- 63. نوع هرگز (`!`)
- 64. انواع با اندازه پویا (DSTs) و ویژگی `Sized`
- 65. توابع و کلوژرهای پیشرفته: اشارهگرهای تابع
- 66. چیدمان حافظه: پشته (Stack) و هیپ (Heap) به تفصیل
- 67. درک اشارهگرها، ارجاعها و آدرسهای حافظه
- 68. نمایش دادهها: Endianness، اندازه و همترازی (Alignment)
- 69. انجام عملیات بیتی (Bitwise Operations)
- 70. مدیریت حافظه سطح پایین با `std::alloc`
- 71. ساخت یک ابزار CLI قوی: یک مثال کامل
- 72. تعامل با محیط: متغیرهای محیطی
- 73. جریانهای ورودی/خروجی استاندارد: stdin, stdout, stderr
- 74. کار با توصیفگرهای فایل (File Descriptors)
- 75. فرآیندها: ایجاد و مدیریت فرآیندهای فرزند
- 76. ارتباط بین فرآیندی (IPC) با پایپها (Pipes)
- 77. ارتباط بین فرآیندی با حافظه مشترک
- 78. مقدمهای بر برنامهنویسی شبکه: سوکتها
- 79. ساخت یک کلاینت TCP ساده
- 80. ساخت یک سرور TCP تک-تردی ساده
- 81. برنامهنویسی ناهمگام (Asynchronous): `async` و `await`
- 82. درک فیوچرها (Futures) و ویژگی `Future`
- 83. انتخاب و استفاده از یک رانتایم ناهمگام (مانند Tokio)
- 84. ساخت یک سرور TCP چند-تردی
- 85. ساخت یک سرور TCP ناهمگام
- 86. مدیریت سیگنالهای سیستم (SIGINT, SIGTERM)
- 87. فایلهای نگاشتشده در حافظه (Memory-Mapped Files)
- 88. پیادهسازی یک تخصیصدهنده حافظه سراسری سفارشی
- 89. مقدمهای بر توسعه `no_std`
- 90. کراس-کامپایل برای معماریهای هدف مختلف
- 91. عملکرد: بنچمارک کردن کد Rust شما
- 92. عملکرد: پروفایل کردن برای یافتن گلوگاهها
- 93. مقدمهای بر سیستمهای نهفته (Embedded) با Rust
- 94. Rust برهنه (Bare-Metal): راهاندازی یک فایل اجرایی مستقل
- 95. Rust برهنه: یک هسته حداقلی و حالت متنی VGA
- 96. Rust برهنه: مدیریت استثناها و وقفههای CPU
- 97. نوشتن کد ناامن به صورت ایمن: ایجاد انتزاعات امن
- 98. مدلهای تردینگ: 1:1, N:M و گرین تردها
- 99. نگاهی عمیق به Cargo: فضاهای کاری، پروفایلها و اسکریپتهای ساخت
- 100. پروژه نهایی: ساخت یک ابزار سیستمی سطح پایین
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.