دوره ساخت اپلیکیشنهای مقیاسپذیر با 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)
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.