اپلیکیشن اندرویدی فلشکارت آموزشی کار با Functors، Applicatives و Monoids
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره کار با Functors، Applicatives و Monoids
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی تابعی (Functional Programming)
📋 سرفصلهای دوره
- 1. مقدمه ای بر برنامه نویسی تابعی
- 2. چرا برنامه نویسی تابعی؟ مزایا و معایب
- 3. توابع خالص (Pure Functions) و اثرات جانبی (Side Effects)
- 4. توابع مرتبه بالا (Higher-Order Functions)
- 5. توابع Lambda (Anonymous Functions)
- 6. ترکیب توابع (Function Composition)
- 7. Currying (تغییر امضای تابع)
- 8. Partial Application (اعمال جزئی آرگومان ها)
- 9. تغییرناپذیری (Immutability)
- 10. انواع داده های تغییرناپذیر
- 11. لیست های تغییرناپذیر
- 12. مقدمه ای بر Functors
- 13. تعریف Functor
- 14. قوانین Functor
- 15. Functor در لیست ها
- 16. Functor در Option/Maybe
- 17. Functor در Either/Result
- 18. پیاده سازی Functor برای انواع داده های سفارشی
- 19. Functor Laws: Identity Law
- 20. Functor Laws: Composition Law
- 21. Functor و map
- 22. کاربرد Functor در تبدیل داده ها
- 23. مقدمه ای بر Applicatives
- 24. تعریف Applicative
- 25. قوانین Applicative
- 26. Applicative در Option/Maybe
- 27. Applicative در Either/Result
- 28. Applicative Functors vs Functors
- 29. پیاده سازی Applicative برای انواع داده های سفارشی
- 30. Applicative Laws: Identity Law
- 31. Applicative Laws: Homomorphism Law
- 32. Applicative Laws: Interchange Law
- 33. Applicative Laws: Composition Law
- 34. Applicative و ap
- 35. کاربرد Applicative در اعتبارسنجی فرم
- 36. اعتبارسنجی فرم با استفاده از Applicative
- 37. ترکیب اعتبارسنجی ها با Applicative
- 38. مقدمه ای بر Monoids
- 39. تعریف Monoid
- 40. قوانین Monoid
- 41. Monoid در اعداد (جمع و ضرب)
- 42. Monoid در رشته ها (الحاق)
- 43. Monoid در لیست ها (الحاق)
- 44. Monoid در Boolean (AND و OR)
- 45. پیاده سازی Monoid برای انواع داده های سفارشی
- 46. Monoid Laws: Identity Law
- 47. Monoid Laws: Associativity Law
- 48. Monoid و mappend
- 49. Monoid و mempty
- 50. کاربرد Monoid در کاهش (Reduce)
- 51. کاهش لیست ها با استفاده از Monoid
- 52. ترکیب Monoid ها
- 53. ترکیب Log های Monoid
- 54. Monoid و موازی سازی (Parallelization)
- 55. مقدمه ای بر Monads
- 56. تعریف Monad
- 57. قوانین Monad
- 58. Monad در Option/Maybe
- 59. Monad در Either/Result
- 60. Monad در List
- 61. Monad در IO
- 62. Monad vs Functor vs Applicative
- 63. پیاده سازی Monad برای انواع داده های سفارشی
- 64. Monad Laws: Left Identity Law
- 65. Monad Laws: Right Identity Law
- 66. Monad Laws: Associativity Law
- 67. Monad و bind (flatMap)
- 68. Monad و return (unit)
- 69. Do-Notation (Syntax Sugar برای Monads)
- 70. کاربرد Monad در مدیریت State
- 71. Monad State
- 72. کاربرد Monad در مدیریت Exception
- 73. Monad Exception
- 74. کاربرد Monad در مدیریت IO
- 75. Monad IO
- 76. Monad Transformer ها
- 77. ترکیب Monads با استفاده از Monad Transformer
- 78. StateT
- 79. EitherT
- 80. ترتیب اجرای Monadic
- 81. ترتیب اجرای اثرات جانبی با Monad
- 82. ترفند های پیشرفته Monad
- 83. Monad Reader
- 84. Monad Writer
- 85. Free Monad
- 86. تاثیر کارایی Monads
- 87. بهینه سازی کد Monadic
- 88. اشکال زدایی (Debugging) کد Monadic
- 89. تست واحد (Unit Testing) کد Functional
- 90. تست ادغام (Integration Testing) کد Functional
- 91. معماری نرم افزار Functional
- 92. استفاده از Functors، Applicatives و Monoids در معماری
- 93. طراحی سیستم های Functional
- 94. الگوهای طراحی Functional
- 95. ادغام برنامه نویسی تابعی با برنامه نویسی شی گرا
- 96. بهترین شیوه های برنامه نویسی تابعی
- 97. منابع و کتاب های برنامه نویسی تابعی
- 98. مطالعه موردی: پیاده سازی یک سیستم ساده با Functors, Applicatives و Monoids
- 99. مطالعه موردی: پیاده سازی یک اعتبارسنجی پیچیده با Functors, Applicatives و Monoids
- 100. مطالعه موردی: پیاده سازی یک ماشین حالت (State Machine) با Monads
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.