کتاب جادوی توابع: کتاب جامع برنامه‌نویسی تابعی با جاوااسکریپت (بر اساس کتاب Functional Programming in JavaScript) با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

جادوی توابع: دوره جامع برنامه‌نویسی تابعی با جاوااسکریپت (بر اساس کتاب Functional Programming in JavaScript) جادوی توابع: دوره جامع برنامه‌نویسی تابعی با جاوااسکریپت (بر اساس کتاب Functional Programmi...

انتخاب پلن

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

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

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

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

عنوان دوره: دوره جادوی توابع: دوره جامع برنامه‌نویسی تابعی با جاوااسکریپت (بر اساس کتاب Functional Programming in JavaScript)

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

موضوع میانی: الگوها و تکنیک‌های برنامه‌نویسی تابعی در جاوااسکریپت

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

  • 1. مبانی برنامه‌نویسی تابعی: یک مقدمه
  • 2. چرا برنامه‌نویسی تابعی؟ مزایا و فواید
  • 3. توابع در جاوااسکریپت: موجودیت‌های درجه اول
  • 4. توابع به عنوان مقادیر: تخصیص به متغیرها
  • 5. توابع به عنوان آرگومان: ارسال به توابع دیگر
  • 6. توابع به عنوان مقادیر بازگشتی: بازگرداندن از توابع
  • 7. توابع خالص (Pure Functions): تعریف و ویژگی‌ها
  • 8. اثرات جانبی (Side Effects): درک و اجتناب
  • 9. قطعیت (Determinism): تکرارپذیری نتایج
  • 10. تک‌مرحله‌ای بودن (Immutability): داده‌های تغییرناپذیر
  • 11. مدیریت حالت (State Management) در برنامه‌نویسی تابعی
  • 12. کاربرد توابع خالص در مدیریت حالت
  • 13. تکنیک‌های تغییرناپذیر برای آرایه‌ها
  • 14. تکنیک‌های تغییرناپذیر برای اشیاء
  • 15. توابع مرتبه بالاتر (Higher-Order Functions): تعریف و اهمیت
  • 16. تابع `map`: تبدیل عناصر یک آرایه
  • 17. تابع `filter`: انتخاب عناصر یک آرایه
  • 18. تابع `reduce`: تجمیع عناصر یک آرایه
  • 19. ترکیب توابع (Function Composition): ساخت توابع پیچیده‌تر
  • 20. عملیات چپ به راست (Pipe): اجرای متوالی توابع
  • 21. عملیات راست به چپ (Compose): اجرای متوالی توابع
  • 22. تابع `currying`: تبدیل تابع چند آرگومانی به توابع تک آرگومانی
  • 23. مزایای currying
  • 24. تکنیک‌های currying در جاوااسکریپت
  • 25. تابع `partial application`: ثابت کردن برخی آرگومان‌های تابع
  • 26. مقایسه currying و partial application
  • 27. توابع ناشناس (Anonymous Functions) و Arrow Functions
  • 28. استفاده از Arrow Functions در برنامه‌نویسی تابعی
  • 29. توابع لامبدا (Lambda Functions)
  • 30. مدیریت خطا در برنامه‌نویسی تابعی
  • 31. استفاده از `try...catch` در توابع خالص (با احتیاط)
  • 32. مفهوم `Maybe` یا `Optional` برای مدیریت مقادیر احتمالی
  • 33. پیاده‌سازی `Maybe` در جاوااسکریپت
  • 34. عملیات با `Maybe` (ap, chain, map)
  • 35. کاربرد `Maybe` در کاهش خطاهای `null` و `undefined`
  • 36. مفهوم `Either` برای مدیریت خطاها و مقادیر موفق
  • 37. پیاده‌سازی `Either` در جاوااسکریپت
  • 38. عملیات با `Either` (ap, chain, map)
  • 39. کاربرد `Either` در مدیریت سناریوهای خطا
  • 40. دنباله‌ها (Sequences) و جمع‌کننده‌ها (Monoids)
  • 41. مفهوم Monoid و قوانین آن
  • 42. پیاده‌سازی Monoid برای انواع داده مختلف
  • 43. کاربرد Monoid در تجمیع داده‌ها
  • 44. دنیای Functor: کانتینرهایی که `map` دارند
  • 45. مفهوم Functor و قانون آن
  • 46. شناسایی Functorها در جاوااسکریپت (آرایه‌ها، Maybe، Either)
  • 47. توابع `fmap` یا `map` برای Functorها
  • 48. دنیای Applicative Functor: اجرای توابع در دنیای Functor
  • 49. مفهوم Applicative Functor و قوانین آن
  • 50. تابع `ap` برای Applicative Functorها
  • 51. کاربرد Applicative Functor در اجرای توابع با آرگومان‌های Functor
  • 52. دنیای Monad: زنجیره‌سازی عملیات روی Functorها
  • 53. مفهوم Monad و قوانین آن
  • 54. توابع `chain` یا `bind` برای Monadها
  • 55. کاربرد Monad در اجرای عملیات متوالی که ممکن است نتایج Monadic برگردانند
  • 56. تفاوت Functor، Applicative و Monad
  • 57. برنامه‌نویسی تابعی و ناهم‌زمانی (Asynchronicity)
  • 58. مدیریت عملیات ناهم‌زمان با توابع خالص
  • 59. کاربرد Promises در برنامه‌نویسی تابعی
  • 60. `async/await` و تطبیق آن با اصول تابعی
  • 61. استفاده از `chain` (bind) برای عملیات ناهم‌زمان Monadic
  • 62. الگوهای رایج در برنامه‌نویسی تابعی
  • 63. الگوی Decorator: افزودن رفتار به توابع
  • 64. پیاده‌سازی Decorator با توابع مرتبه بالاتر
  • 65. الگوی Strategy: انتخاب الگوریتم در زمان اجرا
  • 66. پیاده‌سازی Strategy با توابع
  • 67. الگوی Factory: ایجاد اشیاء به صورت تابعی
  • 68. الگوی Observer (Publisher-Subscriber) و رویکرد تابعی
  • 69. مدل‌سازی Event Dispatcher با توابع
  • 70. بازگشت (Recursion) در برنامه‌نویسی تابعی
  • 71. تفاوت بازگشت با حلقه‌ها
  • 72. مدیریت بهینه بازگشت (Tail Call Optimization)
  • 73. الگوی Memoization: ذخیره نتایج توابع
  • 74. پیاده‌سازی Memoization برای افزایش کارایی
  • 75. کاربرد Memoization در محاسبات پیچیده
  • 76. توابع کاملاً تابعی (Purely Functional Data Structures)
  • 77. پیاده‌سازی لیست تابعی (Functional List)
  • 78. پیاده‌سازی درخت تابعی (Functional Tree)
  • 79. مفهوم Laziness و Evaluation تنبل
  • 80. پیاده‌سازی Generatorها برای Lazy Evaluation
  • 81. کاربرد Laziness در پردازش داده‌های بزرگ
  • 82. توابع Curried و Currying Partial
  • 83. انواع Currying: Auto-currying، Explicit Currying
  • 84. استفاده از کتابخانه‌های برنامه‌نویسی تابعی (مانند Lodash/fp، Ramda)
  • 85. معرفی Lodash/fp و قابلیت‌های آن
  • 86. معرفی Ramda و فلسفه آن
  • 87. مقایسه Lodash/fp و Ramda
  • 88. کاربرد Lodash/fp و Ramda در نوشتن کد تابعی
  • 89. مثال‌های عملی با Lodash/fp و Ramda
  • 90. مدیریت خطای پیشرفته در برنامه‌نویسی تابعی
  • 91. استفاده از Monadهای سفارشی برای سناریوهای پیچیده
  • 92. طراحی APIهای تابعی
  • 93. اصول طراحی APIهای تابعی خوانا و قابل نگهداری
  • 94. تست‌نویسی در برنامه‌نویسی تابعی
  • 95. مزایای تست‌نویسی توابع خالص
  • 96. استراتژی‌های تست برای توابع مرتبه بالاتر و Monadها
  • 97. برنامه‌نویسی تابعی و الگوهای طراحی نرم‌افزار
  • 98. بازنگری الگوهای طراحی شیءگرا با رویکرد تابعی
  • 99. کاربرد برنامه‌نویسی تابعی در معماری‌های مدرن
  • 100. Microservices و برنامه‌نویسی تابعی
تگ‌ها: Function Composition Functional Programming Functional Programming in JavaScript Immutability JavaScript Functional Programming Pure Functions الگوهای برنامه‌نویسی تابعی برنامه‌نویسی تابعی ترکیب توابع تکنیک‌های برنامه‌نویسی تابعی توابع خالص توابع در جاوااسکریپت جاوااسکریپت جاوااسکریپت پیشرفته جاوااسکریپت تابعی دوره برنامه‌نویسی تابعی

نظرات

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

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