اپلیکیشن اندرویدی فلشکارت آموزشی FastAPI و ساخت APIهای مبتنی بر رویداد (Event-Driven) با Apache Pulsar
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب FastAPI و ساخت APIهای مبتنی بر رویداد (Event-Driven) با Apache Pulsar
موضوع کلی: برنامه نویسی
موضوع میانی: فست ایپیآی (FastAPI)
📋 سرفصلهای کتاب (100 موضوع)
- 1. معرفی دوره: چرا FastAPI و Apache Pulsar؟
- 2. مفاهیم پایه: API، RESTful و میکروسرویسها
- 3. آشنایی با Event-Driven Architecture (EDA)
- 4. معرفی FastAPI: قدرت و کارایی در ساخت API
- 5. معرفی Apache Pulsar: پلتفرم پیامرسانی نسل جدید
- 6. نصب و راهاندازی محیط توسعه پایتون و ابزارهای لازم
- 7. ساختار پروژه FastAPI: بهترین شیوهها و سازماندهی کد
- 8. اولین API با FastAPI: "Hello World"
- 9. مدلسازی داده با Pydantic: ستون فقرات FastAPI
- 10. اعتبارسنجی خودکار دادهها در FastAPI
- 11. مسیردهی (Routing) و عملیات HTTP در FastAPI
- 12. پارامترهای مسیر (Path Parameters)
- 13. پارامترهای کوئری (Query Parameters)
- 14. بدنهی درخواست (Request Body) با Pydantic
- 15. ترکیب Path، Query و Body Parameters
- 16. تزریق وابستگی (Dependency Injection) در FastAPI
- 17. Dependency Injection پیشرفته: کلاسها و توابع
- 18. مدیریت خطاها (Error Handling) و استثناها
- 19. کاستومایز کردن HTTP Exception ها
- 20. امنیت API: مقدمهای بر OAuth2 و Bearer Token
- 21. پیادهسازی احراز هویت (Authentication) با JWT
- 22. پیادهسازی مجوزدهی (Authorization) و Scope ها
- 23. تزریق وابستگی برای امنیت (Security Dependencies)
- 24. Background Tasks: اجرای کارهای پسزمینه
- 25. مدیریت استیت (State) در FastAPI
- 26. میانافزارها (Middlewares) در FastAPI
- 27. رویدادهای Startup و Shutdown در Lifecycle برنامه
- 28. Configuration Management در FastAPI
- 29. استفاده از ORM ها با FastAPI: SQLAlchemy
- 30. کار با دیتابیسهای Asynchronous (مانند asyncpg)
- 31. اصول EDA: رویدادها، Producer ها و Consumer ها
- 32. مزایای EDA: مقیاسپذیری و انعطافپذیری سیستم
- 33. معایب و چالشهای EDA
- 34. تفاوت Request/Response و Event-Driven Architecture
- 35. الگوهای طراحی در EDA: Publish/Subscribe
- 36. مفهوم Idempotency در پردازش رویدادها
- 37. مفهوم Atomicity و Sagas در سیستمهای توزیع شده
- 38. Event Sourcing و CQRS: معرفی کوتاه
- 39. معماری Microservices و نقش EDA در آن
- 40. انتخاب Broker مناسب برای EDA: چرا Pulsar؟
- 41. آشنایی با Apache Pulsar: معماری و ویژگیها
- 42. نصب و راهاندازی Pulsar با Docker Compose
- 43. مفهوم Tenancy و Namespace در Pulsar
- 44. مدیریت Topic ها: Persistent و Non-Persistent
- 45. انواع Topic ها: Partitioned Topics
- 46. Producer در Pulsar: ارسال پیامها
- 47. پیکربندی Producer: ارسال همزمان و ناهمزمان
- 48. مفهوم Message Key و Ordering
- 49. Consumer در Pulsar: دریافت پیامها
- 50. انواع Subscription در Pulsar: Exclusive, Shared, Failover, Key_Shared
- 51. تایید پیامها (Acknowledgement) در Pulsar
- 52. پیامهای ناخوانده (Negative Acknowledgement) و Retries
- 53. پیامهای تاخیری (Delayed Message Delivery)
- 54. Dead Letter Topic (DLQ) و مدیریت خطاها
- 55. Schema Registry در Pulsar: اعتبارسنجی پیامها
- 56. استفاده از Avro و Protobuf با Schema Registry
- 57. Pulsar Functions: پردازش بدون سرور پیامها
- 58. Pulsar IO Connectors: یکپارچهسازی دادهها
- 59. نظارت و مانیتورینگ Pulsar
- 60. امنیت در Pulsar: Authentication و Authorization
- 61. اتصال FastAPI به Apache Pulsar Client
- 62. طراحی مدلهای رویداد با Pydantic برای Pulsar
- 63. FastAPI به عنوان Event Producer: ارسال رویدادها
- 64. انتشار رویدادهای Asynchronous از FastAPI
- 65. مدیریت خطاهای انتشار رویداد
- 66. FastAPI به عنوان Event Consumer: دریافت و پردازش رویدادها
- 67. پیادهسازی Consumer به عنوان Background Service
- 68. استفاده از `python-pulsar` client در FastAPI
- 69. مدیریت Subscriptions و Acknowledgment در Consumer FastAPI
- 70. ایجاد یک Microservice مبتنی بر رویداد با FastAPI
- 71. الگوهای ارتباط بین Microservices با Pulsar
- 72. پیادهسازی Pattern Request/Reply با Pulsar
- 73. مدیریت حالت توزیع شده (Distributed State) با رویدادها
- 74. ایجاد API Gateway برای سیستمهای Event-Driven
- 75. ارتباط WebSocket در FastAPI برای نمایش Real-time رویدادها
- 76. استفاده از FastAPI و Pulsar برای سیستمهای نوتیفیکیشن
- 77. الگوهای Saga در FastAPI و Pulsar برای ترانزکشنهای توزیعشده
- 78. مدیریت ترانزکشنهای توزیع شده
- 79. تست واحد (Unit Testing) Producer و Consumer ها
- 80. تست یکپارچهسازی (Integration Testing) سیستم
- 81. مقیاسپذیری FastAPI Application
- 82. مقیاسپذیری Consumer های Pulsar
- 83. بهینهسازی عملکرد (Performance Tuning) Producer و Consumer
- 84. مدیریت پیکربندی در محیطهای مختلف
- 85. Log Aggregation و متمرکزسازی لاگها
- 86. مانیتورینگ و Tracing در سیستمهای Event-Driven
- 87. ابزارهای APM برای FastAPI و Pulsar
- 88. داکرایز کردن FastAPI Application
- 89. داکرایز کردن Pulsar Consumer Service
- 90. استقرار (Deployment) با Docker Compose
- 91. استقرار در Kubernetes: اصول پایه
- 92. استفاده از Helm Charts برای Pulsar و FastAPI در Kubernetes
- 93. مدیریت Secret ها در Production
- 94. CI/CD Pipeline برای Event-Driven FastAPI
- 95. امنیت در Production: HTTPS، TLS برای Pulsar
- 96. Geo-replication در Apache Pulsar برای Disaster Recovery
- 97. توسعه Event-Driven Frontends (مثال با WebSockets)
- 98. چالشها و راهحلهای رایج در EDA با Pulsar
- 99. آینده FastAPI و Apache Pulsar در معماری مدرن
- 100. جمعبندی و پروژههای عملی پیشنهادی
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.