اپلیکیشن اندرویدی فلشکارت آموزشی ساخت اپلیکیشنهای مقیاسپذیر با Scala و رویکرد تابعی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ساخت اپلیکیشنهای مقیاسپذیر با Scala و رویکرد تابعی
موضوع کلی: برنامه نویسی
موضوع میانی: برنامهنویسی تابعی (Functional Programming)
📋 سرفصلهای دوره
- 1. معرفی دوره: چرا Scala و برنامهنویسی تابعی؟
- 2. نصب و راهاندازی محیط توسعه Scala
- 3. مبانی Scala: متغیرها، انواع داده و توابع
- 4. توابع به عنوان شهروندان درجه اول (First-Class Functions)
- 5. ناگشتپذیری (Immutability) و تغییرناپذیری دادهها
- 6. توابع خالص (Pure Functions) و Side Effects
- 7. معرفی مجموعههای تغییرناپذیر Scala (Immutable Collections)
- 8. ترکیبپذیری توابع (Function Composition)
- 9. الگوی تطابق (Pattern Matching)
- 10. کیس کلاسها (Case Classes) و کیس آبجکتها (Case Objects)
- 11. تریتها (Traits) و وراثت در Scala
- 12. توابع مرتبه بالاتر (Higher-Order Functions)
- 13. کاربرد map، flatMap و filter در مجموعهها
- 14. Currying و Partial Application
- 15. مدیریت خطا و مقادیر غایب با Option
- 16. مدیریت خطا با Either و Try
- 17. ریکرژن (Recursion) و بهینهسازی Tail Recursion
- 18. مقایسه برنامهنویسی تابعی با شیءگرا: مزایا و معایب
- 19. مقدمهای بر تایپ کلاسها (Type Classes)
- 20. کاربرد تایپ کلاسها: پیادهسازی برابری (Eq)
- 21. ایمپلیسیتها (Implicits) در Scala: مقدمه
- 22. پارامترهای ایمپلیسیت و دیکشنریهای ضمنی (Implicit Parameters)
- 23. تبدیلهای ایمپلیسیت (Implicit Conversions) و استفاده صحیح
- 24. مفهوم Functor
- 25. کاربرد Functor در Option، List و آیندهها (Futures)
- 26. مفهوم Applicative Functor
- 27. ترکیب Functor و Applicative Functor
- 28. مفهوم Monad
- 29. Option به عنوان یک Monad
- 30. List به عنوان یک Monad
- 31. درک For-Comprehensions
- 32. Monad Laws و اهمیت آنها
- 33. Monad Transformer برای ترکیب Monadها
- 34. Laziness و ارزیابی غیرمستقیم (Non-strict Evaluation)
- 35. Streamها و Generators
- 36. معرفی ZIO و Cats-Effect: اکوسیستمهای برنامهنویسی تابعی
- 37. ZIO Prelude: ابزارهای بنیادی FP
- 38. ساختار IO در ZIO و Cats-Effect
- 39. مدیریت Side Effects با IO
- 40. ترکیب عملیات IO (ZIO.map, ZIO.flatMap)
- 41. مدیریت خطا با ZIO: ZIO.fail و ZIO.catchAll
- 42. مدیریت منابع (Resource Management) با ZIO.acquireRelease
- 43. ZIO Environment و Dependency Injection
- 44. Type Tagging و Phantom Types برای تقویت Type Safety
- 45. چندریختی (Polymorphism) در FP: پارامتری، زیرنوعی و Ad-hoc
- 46. مقدمهای بر Functional Data Structures
- 47. ساخت دادهساختارهای تغییرناپذیر (Immutable Data Structures)
- 48. مقدمهای بر Functional Optics (Lenses, Prisms)
- 49. کاربرد Lens برای دسترسی و بهروزرسانی مقادیر تودرتو
- 50. پیادهسازی Prisms برای Case Classes سلسلهمراتبی
- 51. Zippers برای پیمایش و بهروزرسانی ساختارها
- 52. Free Monads: مفهوم و کاربرد در DSLها
- 53. پیادهسازی DSLهای تفسیری با Free Monads
- 54. Tagless Final (یک جایگزین برای Free Monads)
- 55. معماری Clean Architecture با رویکرد تابعی
- 56. طراحی دامنه (Domain-Driven Design) در Scala FP
- 57. Value Objects و Entities در FP
- 58. Aggregate Roots و Consistency Boundaries
- 59. Domain Events و Event Sourcing
- 60. Algebraic Data Types (ADTs) برای مدلسازی دامنه
- 61. Service Objects و Repositories در FP
- 62. Validated از Cats برای اعتبارسنجی تجمعی (Accumulating Validation)
- 63. Functional Schemas برای دادهها
- 64. Property-Based Testing با ScalaCheck
- 65. مبانی برنامهنویسی همروند (Concurrency) و موازی (Parallelism)
- 66. Futures در Scala: مقدمه و محدودیتها
- 67. Fibers در ZIO و Cats-Effect: جایگزین Futures
- 68. مدیریت Fibers: Start, Join, Interrupt
- 69. Atomic References و Refها در ZIO
- 70. Semaphore و MVar برای کنترل دسترسی
- 71. Rate Limiting و Debouncing با Effect Systems
- 72. اجرای عملیات ناهمزمان (Asynchronous Operations)
- 73. ساخت برنامههای واکنشی (Reactive Applications)
- 74. سیستمهای توزیعشده (Distributed Systems) و FP
- 75. Fault Tolerance و Resilience در Scala FP
- 76. مدیریت خطاهای توزیعشده
- 77. معرفی معماری Microservices
- 78. طراحی Microservices تابعی با Scala
- 79. Service Discovery و Load Balancing
- 80. Circuit Breakers برای جلوگیری از Failures آبشاری
- 81. Saga Pattern برای تراکنشهای توزیعشده
- 82. Stream Processing با fs2 (Functional Streams for Scala)
- 83. ادغام با Kafka و Message Queues
- 84. توسعه وب با http4s: مقدمه
- 85. ساخت RESTful APIها با http4s
- 86. Authentication و Authorization در http4s
- 87. اتصال به پایگاه داده با Doobie (Functional JDBC)
- 88. انجام کوئریهای SQL با Doobie
- 89. Transaction Management با Doobie
- 90. GraphQL در Scala با Sangria (رویکرد تابعی)
- 91. Spark و پردازش کلانداده با رویکرد تابعی
- 92. تست واحد (Unit Testing) کدهای تابعی
- 93. تست یکپارچهسازی (Integration Testing)
- 94. Mocking و Stubbing در FP
- 95. Logging تابعی با SLF4J/Logback یا zio-logging
- 96. مانیتورینگ و ابزار دقیق (Instrumentation) برنامهها
- 97. بهینهسازی عملکرد (Performance Optimization)
- 98. استقرار (Deployment) برنامههای Scala: Docker و Kubernetes
- 99. امنیت در برنامههای Scala FP
- 100. مدیریت پیکربندی (Configuration Management)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.