کتاب صوتی الگوریتمهای پیشرفته concurrent: از mutex تا lock-free و Actor Model
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره الگوریتمهای پیشرفته concurrent: از mutex تا lock-free و Actor Model
موضوع کلی: مهندسی نرمافزار
موضوع میانی: الگوریتمها و مدلهای concurrent
📋 سرفصلهای دوره
- 1. مقدمه بر مفاهیم concurrent programming
- 2. مدلهای памяти و cohesiveness
- 3. レース condizioni و deadlock
- 4. الگوریتمهای قفل-basics: mutex, spinlock
- 5. قفلهای خواندنویس (read-write locks)
- 6. semaphores و monitors
- 7. condizioni variable و signaling
- 8. الگوریتم Peterson و Dekker
- 9. الگوریتم Bakery
- 10. الگوریتم Lamport's mutual exclusion
- 11. الگوریتمهای lock-free:compare-and-swap (CAS)
- 12. الگوریتمهای lock-free:stack و queue (Michael & Scott)
- 13. الگوریتمهای lock-free:hash map
- 14. الگوریتمهای wait-free
- 15. الگوریتمهای obstruction-free
- 16. مدل Actor (Akka, Orleans)
- 17. پیامرسانی非同期 و mailbox
- 18. supervising و fault tolerance در Actor
- 19. مدل CSP (Communicating Sequential Processes)
- 20. کانالها در Go و Rust
- 21. انتخاب (select) و timeout در CSP
- 22. مدل Dataflow و reactive streams
- 23. الگوریتمهای parallel prefix sum (scan)
- 24. الگوریتمهای parallel reduction
- 25. الگوریتمهای parallel sorting (sample sort, bitonic)
- 26. الگوریتمهای parallel graph algorithms (BFS, DFS)
- 27. алгоритмы lock-free memory reclamation: hazard pointers
- 28. алгоритмы epoch-based reclamation (RCU)
- 29. алгоритмы deferral و quiescence-based reclamation
- 30. استراتژیهای backoff و contention management
- 31. adaptive spinning و queue-based locks (MCS lock, CLH lock)
- 32. قفلهای فایربکس (ticket lock)
- 33. قفلهای متلوا (Mellor-Crummey & Scott lock)
- 34. قفلهای مودولار (modular locks)
- 35. Transactional Memory (TM) basics
- 36. Hardware Transactional Memory (HTM)
- 37. Software Transactional Memory (STM)
- 38. konflikten و abort handling in TM
- 39. دمج TM با lock-free
- 40. بارگذاری کار (work stealing) و schedulers
- 41. قا scheduler work-stealing (Cilk, Intel TBB)
- 42. بارگذاری کار basado بر priority
- 43. همگسانی و fairness در locks
- 44. مدلهای priority inheritance و priority ceiling
- 45. تحلیل عملکرد و مدلهای queuing
- 46. محاسبه contention و scalability
- 47. ابزارهای profiling concurrency (perf, VTune, ThreadSanitizer)
- 48. تست واحد concurrent و مدلهای vérification
- 49. model checking برای concurrent systems (SPIN, TLA+)
- 50. بررسی خطاهای race condition با ابزارهای static analysis
- 51. دیباگ concurrent programs: replay و deterministic execution
- 52. الگوهای طراحی concurrent: Reactor, Producer-Consumer, Pipeline
- 53. الگوهای طراحی concurrent: Read-Copy-Update (RCU)
- 54. الگوهای طراحی concurrent: Barrier و Phaser
- 55. الگوهای طراحی concurrent: Fork-Join
- 56. الگوهای طراحی concurrent: Map-Reduce
- 57. الگوهای طراحی concurrent: Actor Supervision Hierarchy
- 58. الگوهای طراحی concurrent: Event Loop و Reactor
- 59. الگوهای طراحی concurrent: Future و Promise
- 60. الگوهای طراحی concurrent: CompletableFuture و async/await
- 61. Integrating concurrency with functional programming (immutability)
- 62. Concurrency in functional languages (Erlang, Elixir, Clojure)
- 63. Concurrency in object-oriented languages (Java, C#)
- 64. Concurrency in systems languages (C++, Rust)
- 65. GPU concurrency و modelos (CUDA streams, synchronization)
- 66. Concurrency in distributed systems: Raft, Paxos
- 67. Consistent hashing و partitioned state
- 68. eventual consistency و CRDTs
- 69. استراتژیهای batching و coalescing opertions
- 70. طراحی APIهای concurrent sécure و composable
- 71. مدیریت منابع و pooling (connection pool, thread pool)
- 72. انرژیefficiency و دینامیک تردد در concurrent systems
- 73. مقیاسپذیری افقی vs عمودی در concurrent services
- 74. استفاده از الگوهای concurrent در میکروسرویسها
- 75. ملاحظات امنیتی در کد concurrent (side-channels, timing attacks)
- 76. Integrating concurrency با async I/O (epoll, kqueue, io_uring)
- 77. آزمون سیستمهای concurrent تحت بار (stress, chaos engineering)
- 78. قانون Amdahl و Gustafson در بهینهسازی concurrent
- 79. تحلیل bottleneckها و محدودیتهای synchronize
- 80. بهینهسازی locality و کش در concurrent algorithms
- 81. استفاده از vectorized operations و SIMD در concurrent processing
- 82. آشنایی با کتابخانههای concurrent محبوب (Java.util.concurrent, .NET TPL, Boost.Thread, folly)
- 83. مقایسهٔ عملکرد بین مختلف locking mechanisms
- 84. راهنمای انتخاب مناسب الگو concurrent بر اساس workload
- 85. مطالعهٔ واقعی: پایگاههای داده concurrent (MySQL InnoDB, PostgreSQL)
- 86. مطالعهٔ واقعی: صفهای پیام concurrent (RabbitMQ, Kafka)
- 87. مطالعهٔ واقعی: موتورهای بازی concurrent
- 88. مطالعهٔ واقعی: سیستمهای معاملات مالی concurrent
- 89. مطالعهٔ واقعی: سرورهای وب concurrent (NGINX event-driven, Node.js)
- 90. مروری بر استانداردها و مدلهای concurrency (POSIX threads, C11 atomic, C++20)
- 91. جهتهای آینده: concurrency heterogeneous، GPUها، FPGAها
- 92. مطالعهٔ مورد: طراحی یک جدول hash lock-free concurrent از ابتدا
- 93. مطالعهٔ مورد: ساخت یک زمانبند work-stealing
- 94. مطالعهٔ مورد: پیادهسازی STM در زمانبند زبان
- 95. مطالعهٔ مورد: پیادهسازی مدل Actor (Akka)
- 96. مطالعهٔ مورد: پیادهسازی CSP (کانالهای Go)
- 97. مطالعهٔ مورد: پیادهسازی Reactive Streams (Project Reactor)
- 98. مطالعهٔ مورد: پیادهسازی CRDT برای ویرایش مشترک
- 99. مطالعهٔ مورد: کتاب قفل-free برای معاملات بالا فرکانس
- 100. نتیجهگیری و نقشهراه برای تسلط بر الگوها concurrent پیشرفته
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
actor-model
concurrency
CSP
design-patterns
go-channels
java-concurrency
lock-free
multithreading
parallel-algorithms
performance-optimization
rust-concurrency
software-transactional-memory
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.