اپلیکیشن اندرویدی فلشکارت آموزشی تسلط بر توابع، ماکروها و برنامهنویسی تابعی در Clojure
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب تسلط بر توابع، ماکروها و برنامهنویسی تابعی در Clojure
موضوع کلی: یادگیری عمیق زبان برنامهنویسی Clojure
موضوع میانی: آشنایی با مفاهیم کلیدی و ساختارهای دادهای Clojure
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر Clojure و فلسفه آن
- 2. چرا Clojure؟
- 3. تفاوتهای اصلی Clojure با زبانهای دیگر
- 4. مفاهیم کلیدی برنامهنویسی تابعی
- 5. توابع چیستند؟
- 6. اولین تابع در Clojure
- 7. توابع بینام (Anonymous Functions)
- 8. Lambda در Clojure
- 9. نحوه تعریف توابع
- 10. آرگومانهای توابع
- 11. آرگومانهای اجباری و اختیاری
- 12. آرگومانهای پیشفرض
- 13. آرگومانهای باز (Rest Arguments)
- 14. آرگومانهای کلیدواژهای (Keyword Arguments)
- 15. توابع با تعداد آرگومان متغیر
- 16. توابع خالص (Pure Functions)
- 17. خاصیت عدم وابستگی به حالت (Statelessness)
- 18. خاصیت عدم اثر جانبی (No Side Effects)
- 19. توابع Idempotent
- 20. مزایای توابع خالص
- 21. توابع غیرخالص و اثرات جانبی
- 22. مدیریت اثرات جانبی
- 23. توابع مرتبه بالا (Higher-Order Functions)
- 24. توابع به عنوان آرگومان
- 25. توابع به عنوان مقدار بازگشتی
- 26. معرفی Map
- 27. کاربرد Map در پردازش لیستها
- 28. معرفی Filter
- 29. کاربرد Filter در انتخاب عناصر
- 30. معرفی Reduce
- 31. کاربرد Reduce در تجمیع عناصر
- 32. ترکیب توابع (Function Composition)
- 33. عملگر Compose
- 34. نحوه کار Compose
- 35. مثالهای عملی Compose
- 36. عملگر Pipe (->)
- 37. نحوه کار Pipe
- 38. مقایسه Pipe و Compose
- 39. عملگر Thread-first (->)
- 40. عملگر Thread-last (->>)
- 41. تفاوت Thread-first و Thread-last
- 42. کاربرد Thread-first و Thread-last
- 43. توابع Curried
- 44. نحوه Currying توابع
- 45. مزایای Currying
- 46. توابع Partial Application
- 47. نحوه Partial Application
- 48. مثالهای Partial Application
- 49. توابع Lazy
- 50. لیستهای Lazy
- 51. پیدایش LazySeq
- 52. کاربرد LazySeq
- 53. کاربرد Lazy در کاهش مصرف حافظه
- 54. توابع با حافظه پنهان (Memoization)
- 55. معرفی Memoization
- 56. کاهش محاسبات تکراری
- 57. کتابخانه core.memoize
- 58. نحوه استفاده از Memoization
- 59. مقدمهای بر ماکروها (Macros)
- 60. ماکروها چیستند؟
- 61. تفاوت ماکروها و توابع
- 62. زمان اجرای ماکروها (Compile Time)
- 63. کد تولید شده توسط ماکروها
- 64. نحوه تعریف ماکروها
- 65. فرمهای S-expression
- 66. کاربرد Quoting و Unquoting
- 67. عملگر Splice-unquote (~)
- 68. نحوه کار Splice-unquote
- 69. مثالهای ساده ماکرو
- 70. ماکروی if-let
- 71. ماکروی when-let
- 72. ماکروی loop/recur
- 73. کاربرد loop/recur در پیادهسازی حلقهها
- 74. ماکروی dotimes
- 75. ماکروی for
- 76. نحوه کار ماکروی for
- 77. کاربرد ماکروی for در تولید لیستها
- 78. ماکروهای سفارشی
- 79. ایجاد زبانهای کوچک (DSL)
- 80. مزایای ماکروها
- 81. محدودیتهای ماکروها
- 82. اشکالزدایی ماکروها
- 83. بررسی سرفصلهای پیشرفتهتر
- 84. برنامهنویسی تابعی و وضعیت (State)
- 85. مدیریت وضعیت با استفاده از توابع خالص
- 86. آتومها (Atoms)
- 87. مدیریت وضعیت همزمان با Atoms
- 88. مدیریت وضعیت با استفاده از STM (Software Transactional Memory)
- 89. تراکنشها در Clojure
- 90. مزایای STM
- 91. برنامهنویسی تابعی و ورودی/خروجی (I/O)
- 92. مدیریت I/O به صورت تابعی
- 93. استفاده از Streams
- 94. استفاده از Futures
- 95. استفاده از Promises
- 96. استفاده از Agents
- 97. استفاده از Refs
- 98. توابع و شیءگرایی
- 99. برنامهنویسی تابعی و وراثت
- 100. برنامهنویسی تابعی و پلیمورفیسم
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.