اپلیکیشن اندرویدی فلشکارت آموزشی معماری نرمافزار: Refactoring to Microservices
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره معماری نرمافزار: Refactoring to Microservices
موضوع کلی: برنامه نویسی
موضوع میانی: معماری نرمافزار
📋 سرفصلهای دوره
- 1. معماری نرمافزار چیست؟ اهمیت و تعریف
- 2. ویژگیهای کیفی معماری (Quality Attributes)
- 3. سبکهای معماری نرمافزار (Architectural Styles)
- 4. معماری Monolithic: تعریف و ساختار
- 5. مزایای معماری Monolithic
- 6. معایب معماری Monolithic (مقیاسپذیری، توسعه، انتشار)
- 7. نقش بدهی فنی (Technical Debt) در سیستمهای Monolithic
- 8. تشخیص "دردسرها" در Monolithهای موجود
- 9. معرفی بازفاکتورینگ (Refactoring) و اصول آن
- 10. آمادهسازی codebase برای تغییرات بزرگ
- 11. معرفی معماری Microservices: تعریف و ویژگیها
- 12. فلسفه Microservices و مزایای اصلی
- 13. چالشها و معایب Microservices
- 14. مقایسه Monolithic و Microservices: یک دید جامع
- 15. چه زمانی Microservices انتخاب مناسبی نیست؟
- 16. رویکرد "Monolith First" و چرایی آن
- 17. مقدمهای بر Domain-Driven Design (DDD)
- 18. مفهوم Bounded Context و اهمیت آن در Microservices
- 19. زبان همهجاگیر (Ubiquitous Language)
- 20. Entity و Value Object در DDD
- 21. Aggregate و ریشههای Aggregate (Aggregate Roots)
- 22. الگوهای استراتژیک DDD: Context Mapping
- 23. لایه ضدفساد (Anti-Corruption Layer - ACL)
- 24. طراحی سیستم با تمرکز بر دامنه
- 25. شناسایی مرزهای سرویس با استفاده از DDD
- 26. اصول بازفاکتورینگ ایمن
- 27. نقش تستهای خودکار در بازفاکتورینگ
- 28. الگوی "Strangler Fig" برای مهاجرت گامبهگام
- 29. استخراج سرویسها: شناسایی کاندیدها
- 30. جداسازی یک ماژول به عنوان سرویس جدید
- 31. استخراج Functionها و کلاسها به سرویس
- 32. جداسازی بر اساس زیردامنه (Subdomain Decomposition)
- 33. جداسازی بر اساس قابلیت کسبوکار (Business Capability Decomposition)
- 34. جداسازی بر اساس ترنزکشنها (Transaction Decomposition)
- 35. مدیریت ترنزکشنهای توزیعشده در فاز مهاجرت
- 36. بازفاکتورینگ پایگاه داده برای Microservices
- 37. چالشهای پایگاه داده مشترک (Shared Database)
- 38. الگوی "Database per Service"
- 39. استراتژیهای مهاجرت داده
- 40. تکامل شمای پایگاه داده در Microservices
- 41. الگوهای ادغام دادهها برای کوئریهای پیچیده
- 42. مدیریت وابستگیهای متقابل سرویسها
- 43. شناسایی Cross-Cutting Concerns و نحوه مواجهه با آنها
- 44. از بین بردن وابستگیهای زمان ساخت (Build-time dependencies)
- 45. ابزارهای کمکی برای تحلیل وابستگیهای Monolith
- 46. الگوهای ارتباطی در Microservices: همزمان و غیرهمزمان
- 47. ارتباط همزمان: RESTful APIs
- 48. طراحی APIهای RESTful کارآمد
- 49. مدیریت نسخهبندی API (API Versioning)
- 50. GraphQL به عنوان جایگزین REST
- 51. ارتباط غیرهمزمان: مقدمهای بر Event-Driven Architecture (EDA)
- 52. پیامرسانها و صفهای پیام (Message Queues): Kafka, RabbitMQ
- 53. الگوی Publish-Subscribe
- 54. طراحی رویدادها (Events) و دامنهی آنها
- 55. اطمینان از تحویل پیام (Message Delivery Guarantees)
- 56. مدیریت Idempotency در پردازش پیامها
- 57. الگوهای تابآوری (Resilience Patterns) در ارتباط همزمان (Circuit Breaker, Retries, Timeouts)
- 58. معرفی gRPC برای ارتباطات با کارایی بالا
- 59. API Gateway: هدف و پیادهسازی
- 60. Service Mesh: مفاهیم و مزایا (Istio, Linkerd)
- 61. اصل "Database per Service" و Polyglot Persistence
- 62. انتخاب نوع پایگاه داده مناسب برای هر سرویس
- 63. حفظ یکپارچگی دادهها: مفهوم Eventual Consistency
- 64. چالشهای ترنزکشنهای توزیعشده (Distributed Transactions)
- 65. الگوی Saga: Choreography و Orchestration
- 66. ترنزکشنهای جبرانی (Compensating Transactions)
- 67. Command Query Responsibility Segregation (CQRS)
- 68. Event Sourcing: ذخیره سازی رویدادها
- 69. پیادهسازی Event Sourcing
- 70. Data Replication و همگامسازی بین سرویسها
- 71. الگوهای مدیریت دادههای مرجع (Reference Data)
- 72. Cacheing Strategies در Microservices
- 73. Change Data Capture (CDC) برای همگامسازی دادهها
- 74. گزارشگیری و تجزیه و تحلیل در معماری Microservices
- 75. چالشهای Data Governance
- 76. کانتینرسازی با Docker: مبانی و کاربرد
- 77. ساخت و بهینهسازی ایمیجهای Docker
- 78. ارکستراسیون کانتینرها با Kubernetes: مقدمه
- 79. Deployments و Services در Kubernetes
- 80. Continuous Integration (CI) برای Microservices
- 81. Continuous Delivery/Deployment (CD) Pipeline برای Microservices
- 82. استراتژیهای استقرار: Blue/Green Deployment
- 83. استراتژیهای استقرار: Canary Releases
- 84. Feature Toggles و A/B Testing
- 85. Infrastructure as Code (IaC) (Terraform, Ansible)
- 86. Service Discovery: Client-Side و Server-Side Discovery
- 87. مدیریت پیکربندی (Configuration Management) در Microservices
- 88. تستهای واحد و یکپارچهسازی در Microservices
- 89. تستهای قرارداد محور (Consumer-Driven Contract Testing)
- 90. تست End-to-End در معماری Microservices
- 91. Observability در سیستمهای توزیعشده: Log, Metric, Trace
- 92. لاگبرداری متمرکز و ابزارهای آن (ELK Stack, Grafana Loki)
- 93. مانیتورینگ و جمعآوری Metrics (Prometheus, Grafana)
- 94. ردیابی توزیعشده (Distributed Tracing): OpenTelemetry, Jaeger
- 95. هشداردهی (Alerting) موثر در Microservices
- 96. Health Checks و Readiness Probes
- 97. امنیت در Microservices: احراز هویت (Authentication)
- 98. امنیت در Microservices: مجوزدهی (Authorization)
- 99. استفاده از JSON Web Tokens (JWT) برای امنیت
- 100. Chaos Engineering برای افزایش تابآوری
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.