کتاب برنامه‌نویسی موازی و همزمان (Concurrency & Parallelism) در پایتون با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

برنامه‌نویسی موازی و همزمان در پایتون | افزایش چشمگیر سرعت برنامه‌های شما 🚀 برنامه‌نویسی موازی و همزمان در پایتون: راندمان برنامه‌های خود را متحول کنید! 🚀 معرفی دوره: سرعت، قدرت، و کارایی در دستان شما...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره برنامه‌نویسی موازی و همزمان (Concurrency & Parallelism) در پایتون

موضوع کلی: برنامه نویسی

موضوع میانی: پایتون (Python)

📋 سرفصل‌های دوره

  • 1. مبانی پایتون برای برنامه‌نویسی همزمان و موازی
  • 2. درک مفاهیم Concurrency و Parallelism
  • 3. تفاوت Concurrency و Parallelism
  • 4. انواع برنامه‌های Concurrency
  • 5. نیاز به Concurrency و Parallelism در برنامه‌ها
  • 6. مقدمه‌ای بر Threadها
  • 7. ایجاد Thread در پایتون با ماژول threading
  • 8. مدیریت Threadها
  • 9. Join کردن Threadها
  • 10. Daemon Threadها
  • 11. Lockها و RLockها در threading
  • 12. شرایط رقابتی (Race Conditions)
  • 13. Deadlock چیست و چگونه از آن جلوگیری کنیم؟
  • 14. استفاده از Semaphore برای کنترل دسترسی به منابع
  • 15. Eventها در threading
  • 16. Condition Variableها برای هماهنگی Threadها
  • 17. Queueها و تولیدکننده-مصرف‌کننده (Producer-Consumer)
  • 18. Poolها و مدیریت Threadها با ThreadPoolExecutor
  • 19. مقدمه‌ای بر Processها
  • 20. ایجاد Process در پایتون با ماژول multiprocessing
  • 21. ارتباط بین Processها با Queue
  • 22. ارتباط بین Processها با Pipe
  • 23. اشتراک‌گذاری حافظه بین Processها با Value و Array
  • 24. Lockها و Semaphoreها در multiprocessing
  • 25. Poolها و مدیریت Processها با ProcessPoolExecutor
  • 26. مقدمه‌ای بر Asyncio
  • 27. حلقه رویداد (Event Loop) در Asyncio
  • 28. Coroutines و async/await
  • 29. ایجاد Coroutines
  • 30. اجرای Coroutines در حلقه رویداد
  • 31. Taskها در Asyncio
  • 32. گروه‌بندی Taskها با asyncio.gather
  • 33. لغو Taskها
  • 34. Timeoutها در Asyncio
  • 35. Futureها و Callbackها
  • 36. استفاده از Asyncio Queue
  • 37. قفل‌ها و Semaphoreها در Asyncio
  • 38. هماهنگی Coroutines با Event و Condition
  • 39. Asyncio Streamها
  • 40. شبکه‌سازی با Asyncio
  • 41. ارتباط با Socketها به صورت Async
  • 42. درک مفاهیم I/O bound و CPU bound
  • 43. انتخاب روش مناسب (Thread, Process, Asyncio)
  • 44. آشنایی با GIL (Global Interpreter Lock)
  • 45. تاثیر GIL بر برنامه‌های Thread-based
  • 46. دور زدن GIL با Multiprocessing
  • 47. استفاده از کتابخانه concurrent.futures
  • 48. انجام محاسبات سنگین با ThreadPoolExecutor
  • 49. انجام محاسبات سنگین با ProcessPoolExecutor
  • 50. نحوه اندازه‌گیری کارایی برنامه‌های همزمان و موازی
  • 51. ابزارهای پروفایلینگ پایتون
  • 52. بهینه‌سازی برنامه‌های Thread-based
  • 53. بهینه‌سازی برنامه‌های Process-based
  • 54. بهینه‌سازی برنامه‌های Asyncio-based
  • 55. استفاده از Cache برای بهبود کارایی
  • 56. اجتناب از کپی کردن داده‌های بزرگ
  • 57. استفاده از تکنیک‌های Lazy Evaluation
  • 58. درک Overhead مربوط به Threadها و Processها
  • 59. درک Overhead مربوط به Asyncio
  • 60. پیاده‌سازی یک Server ساده با Threadها
  • 61. پیاده‌سازی یک Server ساده با Processها
  • 62. پیاده‌سازی یک Server ساده با Asyncio
  • 63. مدیریت Requestها به صورت همزمان و موازی
  • 64. بررسی الگوهای طراحی Concurrency
  • 65. الگوی Producer-Consumer پیشرفته
  • 66. الگوی Reader-Writer
  • 67. الگوی MapReduce با Multiprocessing
  • 68. الگوی Supervisor برای مدیریت Processها
  • 69. خطا یابی (Debugging) برنامه‌های Concurrency
  • 70. ابزارهای Debugging برای Threadها و Processها
  • 71. ابزارهای Debugging برای Asyncio
  • 72. نحوه تست کردن برنامه‌های Concurrency
  • 73. تست واحد (Unit Testing) برای Concurrency
  • 74. تست یکپارچگی (Integration Testing) برای Concurrency
  • 75. استفاده از Mocking برای تست Concurrency
  • 76. آشنایی با کتابخانه Ray برای Parallel Processing
  • 77. استفاده از Ray برای توزیع محاسبات
  • 78. Ray Tasks و Actors
  • 79. استفاده از Ray برای ساخت Microservices
  • 80. آشنایی با کتابخانه Dask برای Parallel Computing
  • 81. استفاده از Dask برای پردازش داده‌های بزرگ
  • 82. Dask DataFrames و Arrays
  • 83. آشنایی با Celery برای Task Queueing
  • 84. استفاده از Celery برای اجرای وظایف به صورت Async
  • 85. پیاده‌سازی یک Task Queue ساده با Celery
  • 86. مقایسه Ray و Dask
  • 87. مقایسه Celery با Asyncio
  • 88. استفاده از RabbitMQ یا Redis به عنوان Broker
  • 89. استفاده از Docker برای Containerization
  • 90. استفاده از Kubernetes برای Orchestration
  • 91. استقرار برنامه‌های Concurrency در Cloud
  • 92. بررسی Case Study: پردازش تصویر به صورت موازی
  • 93. بررسی Case Study: تحلیل داده‌های مالی به صورت همزمان
  • 94. بررسی Case Study: ساخت یک Chat Server با Asyncio
  • 95. امنیت در برنامه‌های Concurrency
  • 96. حملات Race Condition و Mitigation
  • 97. حملات Deadlock و Mitigation
  • 98. بهترین روش‌ها برای نوشتن کد Concurrent
  • 99. بررسی کد Concurrent دیگران و یافتن مشکلات
  • 100. نکات پیشرفته در استفاده از Asyncio
تگ‌ها: AsyncIO Concurrency GIL Multiprocessing Multithreading Parallelism Process Python Thread برنامه نویسی برنامه نویسی پایتون پایتون کتابخانه concurrent.futures موازی همزمانی

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.