کتاب صوتی Fearless Concurrency in Rust: Practical Techniques
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره Fearless Concurrency in Rust: Practical Techniques
موضوع کلی: برنامه نویسی
موضوع میانی: راست (Rust)
📋 سرفصلهای دوره
- 1. مقدمهای بر همزمانی بدون ترس در زبان برنامهنویسی راست
- 2. مفاهیم اساسی همزمانی و موازیسازی
- 3. تفاوت بین همزمانی و موازیسازی
- 4. چالشهای مدیریت حافظه در برنامههای همزمان
- 5. مشکلات نژاد داده (Data Race) و راهحلهای آن
- 6. قفلها (Mutexes) و نحوه استفاده ایمن از آنها
- 7. قفلهای خواندن/نوشتن (RwLocks) برای دسترسی همزمان
- 8. مسائل مربوط به بنبست (Deadlock) و جلوگیری از آن
- 9. الگوهای طراحی همزمان: پترن عامل (Actor Model)
- 10. پترن کانال (Channel Pattern) برای ارتباط بین نخها
- 11. پترن صف وظایف (Task Queue Pattern)
- 12. استفاده از نخهای سیستم (System Threads) در راست
- 13. مدیریت چرخه عمر نخها
- 14. مباحث پیشرفته نخها: اولویتبندی و زمانبندی
- 15. همزمانی مبتنی بر رویداد (Event-Driven Concurrency)
- 16. کتابخانه `tokio` برای برنامهنویسی ناهمزمان
- 17. مفاهیم آینده (Futures) و ناهمزمانی در `tokio`
- 18. وظایف ناهمزمان (Async Tasks) و اجرای آنها
- 19. مدیریت وظایف ناهمزمان با `tokio::spawn`
- 20. حلقههای رویداد (Event Loops) و نقش آنها
- 21. کتابخانه `async-std` به عنوان جایگزین `tokio`
- 22. مقایسه `tokio` و `async-std`
- 23. تکنیکهای ارتباط بین وظایف ناهمزمان (Async Channels)
- 24. مدیریت خطا در برنامههای ناهمزمان
- 25. الگوهای مدیریت خطا در `tokio`
- 26. استفاده از `select!` برای انتظار بر روی چندین آینده
- 27. همزمانی مبتنی بر پیام (Message-Passing Concurrency)
- 28. مفهوم مالکیت (Ownership) و وامدهی (Borrowing) در راست
- 29. تأثیر مالکیت بر همزمانی
- 30. اشتراکگذاری دادههای ایمن با `Arc` و `Mutex`
- 31. استفاده از `Arc<Mutex<T>>` برای دادههای قابل اشتراک
- 32. استفاده از `Arc<RwLock<T>>` برای دادههای قابل اشتراک
- 33. همزمانی بدون قفل (Lock-Free Concurrency)
- 34. انواع عملیات اتمیک (Atomic Operations)
- 35. استفاده از انواع اتمیک در راست (`std::sync::atomic`)
- 36. آتومیکهای صحیح (Atomic Integers)
- 37. آتومیکهای بولین (Atomic Booleans)
- 38. مقایسه و تبادل اتمی (Compare-and-Swap)
- 39. الگوهای همزمانی بدون قفل پیشرفته
- 40. استفاده از کتابخانههای خارجی برای همزمانی بدون قفل
- 41. مدیریت حافظه در همزمانی بدون قفل
- 42. چالشهای اشکالزدایی (Debugging) در برنامههای همزمان
- 43. تکنیکهای اشکالزدایی برای نژاد داده
- 44. استفاده از ابزارهای تحلیل ایستا (Static Analysis Tools)
- 45. ابزارهای تحلیل زمان اجرا (Runtime Analysis Tools)
- 46. بررسی عملکرد (Performance Profiling) برنامههای همزمان
- 47. بهینهسازی برنامههای همزمان برای سرعت
- 48. بهینهسازی مصرف حافظه در برنامههای همزمان
- 49. همزمانی در برنامههای سمت سرور (Server-Side Applications)
- 50. همزمانی در برنامههای سمت کلاینت (Client-Side Applications)
- 51. همزمانی در سیستمهای توزیعشده (Distributed Systems)
- 52. استفاده از `rayon` برای پردازش موازی دادهها
- 53. موازیسازی حلقهها با `rayon`
- 54. موازیسازی نقشه و فیلتر با `rayon`
- 55. موازایسازی سفارشی با `rayon`
- 56. اشکالزدایی در برنامههای موازی با `rayon`
- 57. کاربرد همزمانی در تجزیه و تحلیل دادهها
- 58. کاربرد همزمانی در پردازش تصویر
- 59. کاربرد همزمانی در شبکههای عصبی
- 60. کاربرد همزمانی در شبیهسازیها
- 61. همزمانی و امنیت برنامهها
- 62. تأثیر همزمانی بر آسیبپذیریهای امنیتی
- 63. روشهای امنسازی برنامههای همزمان
- 64. بررسی الگوهای ضد الگو (Anti-Patterns) در همزمانی
- 65. مدیریت منابع در برنامههای همزمان
- 66. تکنیکهای مدیریت منابع با استفاده از `Drop`
- 67. استفاده از `Scope` برای مدیریت نخهای محلی
- 68. مباحث پیشرفته در مدیریت همزمانی
- 69. همزمانی در سیستمهای بلادرنگ (Real-Time Systems)
- 70. چالشهای زمانبندی در سیستمهای بلادرنگ
- 71. همزمانی و سیستمعامل
- 72. کتابخانه `crossbeam` برای ابزارهای همزمانی پیشرفته
- 73. کانالهای `crossbeam`
- 74. صفهای اولویتبندی `crossbeam`
- 75. قفلهای `crossbeam`
- 76. همزمانی و معماری نرمافزار
- 77. الگوهای معماری برای سیستمهای همزمان
- 78. طراحی سیستمهای مقیاسپذیر با همزمانی
- 79. تست برنامههای همزمان
- 80. استراتژیهای تست برای یافتن نژاد داده
- 81. تست تنش (Stress Testing) برنامههای همزمان
- 82. تست انحراف (Fuzz Testing) برای برنامههای همزمان
- 83. مقدمهای بر برنامهنویسی ناهمزمان در زبانهای دیگر
- 84. مقایسه راست با زبانهای دیگر در زمینه همزمانی
- 85. آینده همزمانی در زبان برنامهنویسی راست
- 86. مطالعات موردی (Case Studies) از برنامههای همزمان موفق در راست
- 87. کاربرد `async/await` در راست
- 88. تفاوت `async` با نخهای سنتی
- 89. مدیریت وظایف ناهمزمان با `tokio::task::JoinHandle`
- 90. استفاده از `tokio::sync` برای ابزارهای همزمانی
- 91. مفاهیم پیشرفته `tokio`: `mpsc`, `oneshot`, `broadcast`
- 92. بررسی عمیقتر `Arc` و `Mutex`
- 93. کاربرد `Condvar` برای هماهنگی نخها
- 94. مباحث پیشرفته در مورد `RwLock`
- 95. استفاده از `std::thread::scope` برای مدیریت نخها
- 96. همزمانی در بازیسازی با راست
- 97. همزمانی در توسعه ابزارهای خط فرمان
- 98. همزمانی در سیستمهای تعبیهشده (Embedded Systems)
- 99. ملاحظات مربوط به همزمانی در سیستمهای با منابع محدود
- 100. تکنیکهای پیشرفته مدیریت حافظه در راست برای همزمانی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
sp.express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.