کتاب ORM و Reactive Programming: برنامهنویسی Reactive با ORM با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
ORM و Reactive Programming: انقلابی در توسعه نرمافزار! 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. جمعبندی دوره، مرور آموختهها و گامهای بعدی
تگها:
object-relational mapping
ORM
ORM فارسی
reactive programming
Reactive Programming فارسی
برنامه نویسی
برنامهنویسی Reactive
پایگاه داده
تکنولوژی
توسعه وب
داده
طراحی پایگاه داده
مفاهیم برنامه نویسی
نرم افزار
وب دولوپر
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.