دوره تسلط بر برنامهنویسی همزمان و موازی در هسکل: افزایش کارایی و مقیاسپذیری سیستمها همراه با فلشکارت آموزشی — ارائه روی فلش مموری
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب تسلط بر برنامهنویسی همزمان و موازی در هسکل: افزایش کارایی و مقیاسپذیری سیستمها
موضوع کلی: برنامهنویسی عملکرد بالا و مقیاسپذیر
موضوع میانی: اصول و الگوهای برنامهنویسی موازی و همگام
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمه: چرا هسکل برای برنامهنویسی همزمان و موازی؟
- 2. بخش اول: مبانی و پیشنیازها
- 3. مدل ارزیابی در هسکل: ارزیابی کند (Lazy Evaluation)
- 4. فرم نرمال ضعیف سر (WHNF) و فرم نرمال (NF)
- 5. مفهوم Thunk و نقش آن در ارزیابی کند
- 6. خلوص (Purity) و تاثیر آن بر همزمانی و موازیسازی
- 7. سیستم زماناجرای GHC (GHC Runtime System)
- 8. مفهوم Capability و HEC (Haskell Execution Context)
- 9. زمانبند (Scheduler) در GHC و نحوه کار آن
- 10. تمایز کلیدی بین همزمانی (Concurrency) و موازیسازی (Parallelism)
- 11. آشنایی با کامپایلر GHC و فلگهای مرتبط: threaded- و rtsopts-
- 12. بخش دوم: برنامهنویسی همزمان (Concurrency)
- 13. شروع کار با همزمانی: معرفی تابع forkIO
- 14. مفهوم Thread و ThreadId در هسکل
- 15. مدیریت چرخهی حیات Threadها: killThread و myThreadId
- 16. ارتباط اولیه بین Threadها: معرفی MVar
- 17. MVar به عنوان یک متغیر همزمان قابل نوشتن و خواندن
- 18. استفاده از MVar به عنوان قفل (Lock)
- 19. الگوی تولیدکننده-مصرفکننده با استفاده از MVar
- 20. پیادهسازی یک کانال ارتباطی ساده با MVar
- 21. مدیریت منابع با MVar: پیادهسازی یک Pool
- 22. کانالهای ارتباطی: معرفی Chan
- 23. ارتباط یک-به-یک و یک-به-چند با Chan
- 24. پیادهسازی کانالهای تکراری (Duplicate Channels)
- 25. مدیریت استثناها (Exceptions) در محیط همزمان
- 26. استثناهای همزمان (Asynchronous Exceptions) و چالشهای آن
- 27. توابع catch, try و handle برای مدیریت استثناها
- 28. کنترل تحویل استثناهای همزمان: mask و uninterruptibleMask
- 29. بخش سوم: حافظه تراکنشی نرمافزاری (Software Transactional Memory - STM)
- 30. معرفی STM: راه حلی برای بنبست و شرایط مسابقه
- 31. مفهوم تراکنش (Transaction) و اتمی بودن (Atomicity)
- 32. متغیرهای تراکنشی: معرفی TVar
- 33. توابع بنیادین STM: اatomically, readTVar, writeTVar
- 34. قدرت ترکیبپذیری (Composability) در STM
- 35. مسدود کردن و تلاش مجدد: تابع retry
- 36. ترکیب تراکنشهای جایگزین: تابع orElse
- 37. پیادهسازی الگوهای همزمانی رایج با STM
- 38. متغیرهای تراکنشی پیشرفتهتر: TChan, TQueue, TMVar
- 39. مقایسه MVar و TMVar
- 40. مدیریت استثناها در تراکنشهای STM
- 41. STM در عمل: پیادهسازی یک سیستم حساب بانکی ساده
- 42. الگوهای طراحی پیشرفته با STM
- 43. بخش چهارم: برنامهنویسی موازی (Parallelism)
- 44. مبانی موازیسازی: ایجاد جرقهها (Sparks)
- 45. مونَد Eval و نقش آن در کنترل ارزیابی
- 46. توابع بنیادین موازیسازی: rpar و rseq
- 47. ارتباط بین rpar/rseq و مدل ارزیابی کند (WHNF/NF)
- 48. استراتژیهای ارزیابی (Evaluation Strategies): انتزاعی برای موازیسازی
- 49. معرفی کتابخانه parallel و تابع using
- 50. استراتژیهای پایه: rpar, rseq, rdeepseq
- 51. ترکیب استراتژیها برای ساختارهای داده پیچیده
- 52. موازیسازی لیستها: استراتژی evalList
- 53. موازیسازی ساختارهای Traversable: استراتژی evalTraversable
- 54. نوشتن استراتژیهای ارزیابی سفارشی
- 55. الگوریتمهای موازی کلاسیک: map و reduce موازی
- 56. مثال عملی: موازیسازی الگوریتم k-means
- 57. مثال عملی: موازیسازی یک جستجوی عددی
- 58. قانون امدال (Amdahl's Law) و محدودیتهای موازیسازی
- 59. مشکلات رایج در موازیسازی: دانهبندی (Granularity)
- 60. مشکلات رایج: وابستگی دادهها و گلوگاههای ترتیبی
- 61. بخش پنجم: پروفایلسنجی و بهینهسازی عملکرد
- 62. چرا اندازهگیری عملکرد ضروری است؟
- 63. فعالسازی پروفایلسنجی در GHC: فلگهای prof- و fprof-auto-
- 64. آشنایی با Cost Centre و نحوه تعریف آنها
- 65. تحلیل خروجی پروفایلسنجی (فایل prof.)
- 66. پروفایلسنجی حافظه (Heap Profiling)
- 67. انواع پروفایل حافظه: by type, by cost centre, biographica
- 68. معرفی ابزار ThreadScope برای تحلیل برنامههای موازی و همزمان
- 69. تولید eventlog برای ThreadScope با فلگ l-
- 70. تحلیل نمودارهای ThreadScope: فعالیت HECها و GC
- 71. شناسایی جرقههای ایجاد شده، اجرا شده و هدر رفته (Fizzled Sparks)
- 72. تشخیص و رفع مشکلات عملکردی با استفاده از ابزارهای پروفایلسنجی
- 73. تنظیمات پیشرفته سیستم زماناجرای GHC (RTS Options)
- 74. تنظیم تعداد Capabilityها با N-
- 75. بهینهسازی Garbage Collector برای برنامههای موازی
- 76. مطالعه موردی: پروفایلسنجی و بهینهسازی یک برنامه از ابتدا تا انتها
- 77. بخش ششم: کتابخانهها و الگوهای پیشرفته
- 78. معرفی کتابخانه async: همزمانی ساختاریافته (Structured Concurrency)
- 79. مقایسه async و forkIO
- 80. توابع اصلی async: اasync, wait, poll, cancel
- 81. اجرای همزمان و جمعآوری نتایج با waitAny و waitEither
- 82. رقابت بین تسکها: تابع race
- 83. استفاده از اپلیکاتیو Concurrently برای سادگی کد
- 84. مدیریت استثناها در کتابخانه async
- 85. پیادهسازی الگوی Worker Pool با استفاده از async
- 86. الگوهای ارتباطی پیشرفته: کانالهای نامحدود و محدود
- 87. موازیسازی دادهمحور (Data Parallelism)
- 88. معرفی مختصر کتابخانههای Repa و massiv برای پردازش آرایهای با عملکرد بالا
- 89. مفهوم فیوژن (Fusion) و حذف ساختارهای داده میانی
- 90. مقدمهای بر برنامهنویسی توزیعشده با Cloud Haskell
- 91. بخش هفتم: مطالعات موردی و جمعبندی
- 92. مطالعه موردی ۱: ساخت یک وب کرالر (Web Crawler) همزمان
- 93. مطالعه موردی ۲: پیادهسازی یک سرور چت همزمان با STM
- 94. مطالعه موردی ۳: پردازش موازی یک مجموعه داده بزرگ
- 95. مطالعه موردی ۴: حل یک مسئله علمی با استفاده از استراتژیهای موازیسازی
- 96. بازبینی الگوهای طراحی کلیدی در برنامهنویسی همزمان
- 97. بازبینی الگوهای طراحی کلیدی در برنامهنویسی موازی
- 98. اشتباهات متداول و نحوه اجتناب از آنها
- 99. جمعبندی و نگاهی به آینده برنامهنویسی عملکرد بالا در هسکل
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.