اپلیکیشن اندرویدی فلشکارت آموزشی معماری نرمافزار: From Monolith to Serverless applications
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره معماری نرمافزار: From Monolith to Serverless applications
موضوع کلی: برنامه نویسی
موضوع میانی: معماری نرمافزار
📋 سرفصلهای دوره
- 1. مقدمهای بر معماری نرمافزار
- 2. چرا معماری نرمافزار اهمیت دارد؟
- 3. نقش معمار نرمافزار
- 4. اهداف و اصول معماری نرمافزار
- 5. الگوهای (Patterns) معماری چیست؟
- 6. مستندسازی تصمیمات معماری (ADRs)
- 7. معیارهای ارزیابی کیفیت معماری
- 8. آشنایی با معماری مونولیتیک
- 9. مزایا و معایب معماری مونولیتیک
- 10. چالشهای مقیاسپذیری در مونولیتها
- 11. الگوی "Big Ball of Mud"
- 12. مدیریت پیچیدگی در مونولیتها
- 13. Deployment و Operation مونولیتها
- 14. موارد مناسب برای استفاده از مونولیتیک
- 15. دلایل حرکت از مونولیت به سمت توزیعیافته
- 16. معرفی سیستمهای توزیعیافته
- 17. چالشهای اصلی سیستمهای توزیعیافته (CAP Theorem)
- 18. ارتباطات در سیستمهای توزیعیافته
- 19. همزمانی و سازگاری در سیستمهای توزیعیافته
- 20. تحمل خطا در سیستمهای توزیعیافته
- 21. شفافیت شبکه و چالشهای آن
- 22. معرفی معماری میکروسرویسها
- 23. اصول طراحی میکروسرویسها
- 24. تفکیک مسئولیتها (Single Responsibility Principle) در میکروسرویس
- 25. دامنه محدود (Bounded Context) و تفکیک دامنهای
- 26. الگوهای تفکیک میکروسرویسها (Decomposition Patterns)
- 27. ارتباطات همزمان (Synchronous) در میکروسرویسها (REST, gRPC)
- 28. ارتباطات ناهمزمان (Asynchronous) در میکروسرویسها (Message Queues)
- 29. مدیریت تراکنشها در میکروسرویسها (Saga Pattern)
- 30. Deployment مستقل میکروسرویسها
- 31. مزایا و معایب میکروسرویسها
- 32. چالشهای پیادهسازی میکروسرویسها
- 33. طراحی API کارآمد برای میکروسرویسها
- 34. اصول طراحی RESTful API
- 35. GraphQL برای میکروسرویسها
- 36. gRPC و پروتکلهای باینری
- 37. معرفی API Gateway
- 38. الگوهای API Gateway (Routing, Authentication, Rate Limiting)
- 39. مدیریت نسخهبندی API
- 40. چالشهای مدیریت داده در میکروسرویسها
- 41. الگوی Polyglot Persistence (ذخیرهسازی چندزبانه)
- 42. طراحی پایگاه داده برای هر سرویس (Database Per Service)
- 43. سازگاری نهایی (Eventual Consistency)
- 44. الگوهای Saga برای تراکنشهای توزیعشده
- 45. الگوی CQRS (Command Query Responsibility Segregation)
- 46. Event Sourcing و نقش آن در مدیریت داده
- 47. Cache کردن در سیستمهای توزیعیافته
- 48. معرفی معماری رویداد محور (EDA)
- 49. مفاهیم Publisher/Subscriber
- 50. استفاده از Message Brokers (مانند RabbitMQ, Apache Kafka)
- 51. طراحی Event Streams
- 52. Event Sourcing و چگونگی پیادهسازی آن
- 53. CDC (Change Data Capture)
- 54. الگوهای پردازش رویداد (Stream Processing)
- 55. معرفی Docker و کانتینرها
- 56. ساخت ایمیجهای Docker برای میکروسرویسها
- 57. Orchestration کانتینرها: چرا نیاز است؟
- 58. معرفی Kubernetes
- 59. مفاهیم پایه Kubernetes (Pods, Deployments, Services)
- 60. مقیاسپذیری و خودترمیمی با Kubernetes
- 61. Helm Charts برای مدیریت پکیجها
- 62. اصول برنامههای Cloud Native
- 63. Factor App methodology
- 64. طراحی برای تحمل خطا (Fault Tolerance)
- 65. الگوهای Resilience (Circuit Breaker, Bulkhead, Retry)
- 66. Chaos Engineering برای تست Resilience
- 67. Service Mesh (مانند Istio, Linkerd) و نقش آن
- 68. معرفی معماری Serverless
- 69. مفاهیم FaaS (Functions as a Service) و BaaS (Backend as a Service)
- 70. مزایا و معایب Serverless
- 71. مدل پرداخت Serverless (Pay-per-execution)
- 72. کاربردهای مناسب برای Serverless
- 73. سرد شدن (Cold Start) و چالشهای آن
- 74. مدیریت State در Serverless
- 75. الگوهای طراحی با Serverless (API Gateway + Lambda)
- 76. Serverless و Event-Driven Architecture
- 77. Serverless و Microservices: مقایسه و ترکیب
- 78. استفاده از BaaS (مانند AWS DynamoDB, Firebase)
- 79. Frameworkهای Serverless (مانند Serverless Framework, AWS SAM)
- 80. CI/CD برای برنامههای Serverless
- 81. استراتژیهای استقرار Serverless (کاناری، آبی/سبز)
- 82. AWS Lambda و اکوسیستم آن
- 83. Azure Functions و ویژگیها
- 84. Google Cloud Functions و ابزارها
- 85. مقایسه پلتفرمهای Serverless
- 86. امنیت در سیستمهای توزیعیافته
- 87. مدیریت هویت و دسترسی (IAM)
- 88. امنیت API Gateway
- 89. حفاظت از دادههای حساس
- 90. امنیت در Serverless Functions
- 91. DevSecOps و رویکردهای آن
- 92. اهمیت Observability در سیستمهای توزیعیافته
- 93. Logging متمرکز و ابزارهای آن
- 94. Monitoring و Alerting
- 95. Tracing توزیعشده (Distributed Tracing)
- 96. متریکها و جمعآوری آنها
- 97. مدیریت لاگها در Serverless
- 98. معماریهای ترکیبی (Hybrid Architectures)
- 99. Edge Computing و Serverless
- 100. آینده معماری نرمافزار و هوش مصنوعی
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.