اپلیکیشن اندرویدی فلشکارت آموزشی ORM و Reactive Programming: برنامهنویسی Reactive با ORM
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره ORM و Reactive Programming: برنامهنویسی Reactive با ORM
موضوع کلی: برنامه نویسی
موضوع میانی: ORM (Object-Relational Mapping)
📋 سرفصلهای دوره
- 1. مقدمهای بر پایداری دادهها و پایگاههای داده
- 2. ORM چیست؟ چرا از آن استفاده میکنیم؟
- 3. معرفی مفاهیم اصلی ORM: Entity، Repository، Session
- 4. نگاشت کلاسها به جداول پایگاه داده (Mapping)
- 5. بررسی مزایا و معایب استفاده از ORM
- 6. برنامهنویسی Reactive چیست؟
- 7. مانیفست Reactive: مبانی برنامهنویسی واکنشی
- 8. تفکر واکنشی: تغییر پارادایم از Imperative به Declarative
- 9. مفهوم Non-Blocking I/O و اهمیت آن
- 10. مشکل اصلی: ترکیب ORM سنتی با کد Reactive
- 11. معرفی جریانهای داده (Data Streams)
- 12. مفاهیم کلیدی: Observable، Subscriber، و Operator
- 13. آشنایی با Backpressure و مکانیزمهای کنترل آن
- 14. مقایسه برنامهنویسی همزمان (Concurrent) و واکنشی (Reactive)
- 15. معرفی ابزارها و فریمورکهای Reactive محبوب
- 16. آشنایی با JDBC و معماری Blocking آن
- 17. مقدمهای بر R2DBC (Reactive Relational Database Connectivity)
- 18. تفاوتهای بنیادین JDBC و R2DBC
- 19. بررسی چالشهای ادغام دنیای Blocking و Non-Blocking
- 20. نقشه راه دوره: از ORM سنتی تا برنامهنویسی Reactive با ORM
- 21. راهاندازی پروژه و پیکربندی اولیه ORM
- 22. تعریف اولین Entity و نگاشت آن
- 23. کلید اصلی (Primary Key) و استراتژیهای تولید آن
- 24. انجام عملیات ایجاد (Create) در پایگاه داده
- 25. انجام عملیات خواندن (Read) بر اساس شناسه
- 26. انجام عملیات بهروزرسانی (Update) موجودیتها
- 27. انجام عملیات حذف (Delete)
- 28. مدیریت روابط یک-به-یک (One-to-One)
- 29. مدیریت روابط یک-به-چند (One-to-Many)
- 30. مدیریت روابط چند-به-چند (Many-to-Many)
- 31. مفهوم Lazy Loading و Eager Fetching
- 32. زبانهای کوئری در ORMها (مانند JPQL یا HQL)
- 33. نوشتن کوئریهای پیچیده: Joins و Aggregations
- 34. صفحهبندی (Pagination) نتایج کوئری
- 35. مدیریت تراکنشها (Transactions) به روش سنتی
- 36. سطوح جداسازی تراکنش (Transaction Isolation Levels)
- 37. کنترل همزمانی و قفلگذاری (Locking)
- 38. نگاشت انواع داده سفارشی (Custom Types)
- 39. چرخه حیات Entity (Entity Lifecycle)
- 40. الگوهای طراحی متداول در لایه داده (Repository, DAO)
- 41. معرفی انواع Reactive Streams: Mono و Flux
- 42. ایجاد جریانهای داده از منابع مختلف
- 43. اشتراک (Subscribing) در یک جریان داده
- 44. اپراتورهای تبدیل داده: map و flatMap
- 45. تفاوت کلیدی بین map و flatMap در زمینه Reactive
- 46. اپراتورهای فیلترینگ: filter، take، skip
- 47. اپراتورهای ترکیب جریانها: merge، concat، zip
- 48. مدیریت خطا در جریانهای Reactive
- 49. استراتژیهای بازیابی از خطا: retry و onErrorResume
- 50. مفهوم Context در برنامهنویسی Reactive
- 51. زمانبندی و نخها (Schedulers and Threads)
- 52. اجرای عملیات در Thread Poolهای مختلف
- 53. جریانهای سرد (Cold Streams) در مقابل جریانهای گرم (Hot Streams)
- 54. تبدیل جریانهای Blocking به Reactive
- 55. استفاده از BlockHound برای شناسایی کدهای Blocking
- 56. الگوهای رایج در برنامهنویسی Reactive
- 57. دیباگ کردن کدهای Reactive
- 58. تست واحدهای (Unit Testing) کدهای Reactive
- 59. معرفی ابزارهای تست مانند StepVerifier
- 60. مدیریت منابع در جریانهای Reactive
- 61. معرفی ORMهای Reactive (مانند Hibernate Reactive)
- 62. پیکربندی یک پروژه با درایور R2DBC و ORM Reactive
- 63. مفهوم Reactive Session و مدیریت آن
- 64. انجام عملیات CRUD به صورت Non-Blocking
- 65. ایجاد یک موجودیت به صورت Reactive
- 66. خواندن یک موجودیت با بازگشت Mono
- 67. خواندن لیستی از موجودیتها با بازگشت Flux
- 68. بهروزرسانی و حذف به صورت Reactive
- 69. اجرای کوئریهای سفارشی و دریافت جریان نتایج
- 70. مدیریت تراکنشهای Reactive
- 71. تفاوت تراکنشهای سنتی و Reactive
- 72. الگوی Unit of Work در محیط Reactive
- 73. چالش Lazy Loading در دنیای Reactive
- 74. استراتژیهای Fetch کردن روابط به صورت Reactive
- 75. استفاده از flatMap برای زنجیرهسازی عملیات پایگاه داده
- 76. استفاده از zip برای اجرای موازی عملیات پایگاه داده
- 77. مدیریت روابط در عملیات ذخیرهسازی Reactive
- 78. بازگرداندن جریان داده از کنترلر (Streaming API)
- 79. کنترل Backpressure در نتایج کوئریهای بزرگ
- 80. ادغام با Spring Data R2DBC (به عنوان یک مثال عملی)
- 81. تعریف Repositoryهای Reactive
- 82. استفاده از کوئریهای مشتقشده (Derived Queries) در Repository Reactive
- 83. اجرای کوئریهای Native به صورت Reactive
- 84. اعتبارسنجی دادهها قبل از عملیات پایگاه داده Reactive
- 85. مقایسه عملکردی: ORM سنتی در مقابل ORM Reactive
- 86. بهینهسازی عملکرد (Performance Tuning) در ORMهای Reactive
- 87. مدیریت Connection Pool در محیط R2DBC
- 88. پیادهسازی Caching در لایه داده Reactive
- 89. استراتژیهای Cache Invalidation
- 90. تست یکپارچهسازی (Integration Testing) لایه داده Reactive
- 91. استفاده از Testcontainers برای تست پایگاه داده
- 92. الگوهای معماری برای برنامههای Reactive
- 93. پیادهسازی یک API کاملاً Reactive از کنترلر تا پایگاه داده
- 94. مدیریت امنیت و احراز هویت در جریانهای Reactive
- 95. افزودن Observability: لاگگیری، متریکها و Tracing
- 96. الگوی طراحی CQRS در معماری Reactive
- 97. پیادهسازی سمت Query در CQRS با استفاده از Streaming
- 98. الگوی Saga برای مدیریت تراکنشهای توزیعشده
- 99. آینده ORMها و دسترسی به دادههای Reactive
- 100. جمعبندی دوره، مرور آموختهها و گامهای بعدی
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.