کتاب صوتی تسلط بر برنامهنویسی همزمان و موازی: از مفاهیم تا پیادهسازی پیشرفته
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تسلط بر برنامهنویسی همزمان و موازی: از مفاهیم تا پیادهسازی پیشرفته
موضوع کلی: علوم کامپیوتر
موضوع میانی: سیستمهای توزیعشده و همروند
📋 سرفصلهای دوره
- 1. مقدمهای بر محاسبات و نیاز به همزمانی و موازیسازی
- 2. تاریخچه مختصر سیستمهای توزیعشده و همزمان
- 3. مفاهیم اساسی همزمانی (Concurrency)
- 4. مفاهیم اساسی موازیسازی (Parallelism)
- 5. تفاوتهای کلیدی بین همزمانی و موازیسازی
- 6. مدلهای محاسباتی در سیستمهای همزمان و توزیعشده
- 7. مدل حافظه مشترک (Shared Memory Model)
- 8. مدل ارسال پیام (Message Passing Model)
- 9. مسائل کلاسیک در همزمانی: تولیدکننده-مصرفکننده (Producer-Consumer)
- 10. مسائل کلاسیک در همزمانی: خواننده-نویسنده (Readers-Writers)
- 11. مسائل کلاسیک در همزمانی: فیلسوفان شام (Dining Philosophers)
- 12. مسائل کلاسیک در همزمانی: نگهبانان (The Bounded Buffer Problem)
- 13. مفهوم ریسه (Thread) و فرآیند (Process)
- 14. تفاوت بین ریسه و فرآیند
- 15. ایجاد و مدیریت ریسهها در زبانهای برنامهنویسی
- 16. همگامسازی ریسهها (Thread Synchronization)
- 17. موانع (Mutexes) و قفلها (Locks)
- 18. انواع قفلها: قفلهای قابل بازگشت (Reentrant Locks)
- 19. قفلهای بیومتریک (Spinlocks)
- 20. انواع قفلها: قفلهای مبتنی بر زمانسنج (Timed Locks)
- 21. semafor ها و کاربرد آنها
- 22. wait و signal در semafor ها
- 23. monitors و مزایای آنها
- 24. شرایط مانیتور (Monitor Conditions)
- 25. مسائل همزمانی با استفاده از مانیتورها
- 26. مفهوم بنبست (Deadlock)
- 27. شرایط لازم برای وقوع بنبست
- 28. روشهای جلوگیری از بنبست (Deadlock Prevention)
- 29. روشهای اجتناب از بنبست (Deadlock Avoidance)
- 30. روشهای تشخیص بنبست (Deadlock Detection)
- 31. روشهای رفع بنبست (Deadlock Recovery)
- 32. مفهوم گرسنگی (Starvation)
- 33. روشهای جلوگیری از گرسنگی
- 34. مفهوم زمانبندی (Scheduling) در سیستمهای همزمان
- 35. الگوریتمهای زمانبندی ریسهها
- 36. زمانبندی اولویتبندی (Priority Scheduling)
- 37. زمانبندی نوبتی (Round Robin Scheduling)
- 38. زمانبندی تضمینشده (Guaranteed Scheduling)
- 39. زمانبندی منصفانه (Fair Scheduling)
- 40. تأثیر زمانبندی بر عملکرد سیستمهای همزمان
- 41. مفاهیم پایهای در سیستمهای توزیعشده
- 42. معماریهای سیستمهای توزیعشده
- 43. سیستمهای کلاینت-سرور (Client-Server)
- 44. سیستمهای همتا به همتا (Peer-to-Peer)
- 45. سیستمهای مبتنی بر میانافزار (Middleware-based Systems)
- 46. مفهوم ارتباطات در سیستمهای توزیعشده
- 47. ارسال پیام ناهمگام (Asynchronous Message Passing)
- 48. ارسال پیام همگام (Synchronous Message Passing)
- 49. موضوعات در ارتباطات ناهمگام
- 50. موضوعات در ارتباطات همگام
- 51. پروتکلهای ارتباطی در سیستمهای توزیعشده
- 52. RPC (Remote Procedure Call)
- 53. RMI (Remote Method Invocation)
- 54. مفهوم هماهنگی (Coordination) در سیستمهای توزیعشده
- 55. قفلهای توزیعشده (Distributed Locks)
- 56. الگوریتمهای انتخاب رهبر (Leader Election Algorithms)
- 57. الگوریتم انتخاب رهبر لامپورت (Lamport's Leader Election)
- 58. الگوریتم انتخاب رهبر فیشر-سالومون (Fischer-Salomon Leader Election)
- 59. الگوریتم انتخاب رهبر ریچاردسون (Richardson Leader Election)
- 60. الگوریتم انتخاب رهبر هاروی-هیرزوگ (Harvey-Herzog Leader Election)
- 61. مفهوم تراکنشهای توزیعشده (Distributed Transactions)
- 62. پروتکل دو مرحلهای تعهد (Two-Phase Commit - 2PC)
- 63. مراحل پروتکل دو مرحلهای تعهد
- 64. مشکلات پروتکل دو مرحلهای تعهد
- 65. پروتکل سه مرحلهای تعهد (Three-Phase Commit - 3PC)
- 66. مفهوم ثبات (Consistency) در سیستمهای توزیعشده
- 67. مدلهای ثبات ضعیف (Weak Consistency Models)
- 68. مدل ثبات قوی (Strong Consistency Models)
- 69. مدل ثبات ترتیبی (Sequential Consistency)
- 70. مدل ثبات علت و معلولی (Causal Consistency)
- 71. الگوریتمهای همگامسازی ساعت در سیستمهای توزیعشده
- 72. ساعتهای منطقی لامپورت (Lamport Clocks)
- 73. بردار ساعت (Vector Clocks)
- 74. مفهوم تحمل خطا (Fault Tolerance) در سیستمهای توزیعشده
- 75. تکرار (Replication) و افزونگی (Redundancy)
- 76. پروتکلهای اجماع (Consensus Protocols)
- 77. الگوریتم Paxos
- 78. نسخههای مختلف Paxos
- 79. الگوریتم Raft
- 80. مقایسه Paxos و Raft
- 81. مفهوم محاسبات ابری (Cloud Computing) و ارتباط آن با سیستمهای توزیعشده
- 82. معماریهای ابر: IaaS, PaaS, SaaS
- 83. سیستمهای ذخیرهسازی توزیعشده
- 84. پایگاه دادههای توزیعشده
- 85. NoSQL و انواع آن
- 86. مفهوم میکروسرویسها (Microservices)
- 87. مزایای معماری میکروسرویس
- 88. چالشهای معماری میکروسرویس
- 89. موازیسازی در سطح داده (Data Parallelism)
- 90. موازیسازی در سطح وظیفه (Task Parallelism)
- 91. پردازش دستهای (Batch Processing)
- 92. پردازش جریانی (Stream Processing)
- 93. فریمورکهای پردازش موازی: MapReduce
- 94. فریمورکهای پردازش موازی: Apache Spark
- 95. فریمورکهای پردازش موازی: Apache Flink
- 96. معماریهای پردازش موازی در سختافزار
- 97. پردازندههای چند هستهای (Multi-core Processors)
- 98. پردازندههای گرافیکی (GPUs)
- 99. برنامهنویسی برای GPU ها
- 100. مفاهیم پیشرفته در برنامهنویسی همزمان
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
sp.express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.