کتاب برنامهنویسی واکنشگرا (Reactive Programming) در جاوا با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع برنامهنویسی واکنشگرا (Reactive) در جاوا دوره جامع برنامهنویسی واکنشگرا (Reactive) در جاوا: ساخت اپلیکیشنهای مدرن و مقیاسپذیر آینده برنامهنویسی جاوا اینجاست: به دنیای Reactive خوش آمدی...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی واکنشگرا (Reactive Programming) در جاوا
موضوع کلی: برنامه نویسی
موضوع میانی: جاوا (Java)
📋 سرفصلهای دوره
- 1. مقدمهای بر برنامهنویسی واکنشگرا
- 2. چرا برنامهنویسی واکنشگرا؟ چالشهای مدل سنتی
- 3. برنامهنویسی ناهمگام در جاوا: تاریخچه و محدودیتها
- 4. مدلهای برنامهنویسی: مسدودکننده در مقابل غیرمسدودکننده
- 5. مفهوم جریان داده (Data Stream) و رویدادمحوری (Event-Driven)
- 6. بیانیه واکنشگرا (Reactive Manifesto): اصول و اهداف
- 7. نقش RxJava و Project Reactor در اکوسیستم جاوا
- 8. معرفی Reactor Core: پایه و اساس برنامهنویسی واکنشگرا
- 9. نصب و راهاندازی Project Reactor
- 10. اولین برنامه واکنشگرا: سلام دنیا با Flux و Mono
- 11. استاندارد Reactive Streams: Publisher, Subscriber, Subscription
- 12. اینترفیس Publisher: منبع دادهها
- 13. اینترفیس Subscriber: مصرفکننده دادهها
- 14. اینترفیس Subscription: مدیریت جریان بین Publisher و Subscriber
- 15. اینترفیس Processor: ترکیب Publisher و Subscriber
- 16. تفاوت Push و Pull در جریان دادهها
- 17. مفهوم فشار برگشتی (Backpressure): چرا و چگونه؟
- 18. درخواست داده توسط Subscriber (request method)
- 19. مدیریت خطا در Reactive Streams
- 20. اتمام جریان دادهها: onComplete و onError
- 21. معرفی Flux: جریانی از 0 تا N عنصر
- 22. معرفی Mono: جریانی از 0 تا 1 عنصر
- 23. ایجاد Flux از Collectionها و آرایهها
- 24. ایجاد Flux از مقادیر ثابت و محدوده (range)
- 25. ایجاد Flux با برنامهنویسی (generate, create)
- 26. ایجاد Mono از مقادیر و Optional
- 27. ایجاد Mono از یک منبع مسدودکننده (fromCallable, fromRunnable)
- 28. اشتراک در Flux و Mono (subscribe method)
- 29. Side Effects در Reactor: doOnNext, doOnError, doOnComplete
- 30. Lifecycle Hooks: doFirst, doFinally, doOnTerminate
- 31. استفاده از subscribe با توابع Lambda
- 32. لغو اشتراک (Cancellation) در Reactor
- 33. Flux و Mono به عنوان بلوکهای سازنده
- 34. Immutability در Reactor و تاثیر آن
- 35. Debugging ساده با log() operator
- 36. عملگر map(): تبدیل عناصر یک به یک
- 37. عملگر flatMap(): تبدیل به Flux/Mono و ادغام نتیجه
- 38. تفاوت flatMap و concatMap
- 39. عملگر switchMap(): تغییر به جریان جدید در صورت رویداد جدید
- 40. عملگر filter(): فیلتر کردن عناصر
- 41. عملگر distinct() و distinctUntilChanged(): حذف تکراریها
- 42. عملگر take(): دریافت N عنصر اول
- 43. عملگر skip(): صرفنظر از N عنصر اول
- 44. عملگر takeUntil() و skipUntil(): فیلتر بر اساس شرط
- 45. عملگر ignoreElements(): نادیده گرفتن تمام عناصر
- 46. عملگر defaultIfEmpty(): ارائه مقدار پیشفرض
- 47. عملگر switchIfEmpty(): تغییر به Mono/Flux دیگر در صورت تهی بودن
- 48. تبدیل Stream جاوا به Flux و بالعکس
- 49. تبدیل CompletableFuture به Mono و بالعکس
- 50. تبدیل Optional به Mono و بالعکس
- 51. عملگر concat(): ترکیب ترتیبی Flux/Mono
- 52. عملگر merge(): ترکیب همزمان Flux/Mono
- 53. عملگر zip(): ترکیب عناصر بر اساس ایندکس
- 54. عملگر combineLatest(): ترکیب بر اساس آخرین عناصر
- 55. عملگر withLatestFrom(): ترکیب با آخرین مقدار یک Flux دیگر
- 56. مدیریت خطا: onErrorReturn() و onErrorResume()
- 57. مدیریت خطا: onErrorStop() و onErrorContinue()
- 58. مدیریت خطا: retry() و retryWhen()
- 59. onErrorMap() و تبدیل استثناها
- 60. استراتژیهای فشار برگشتی: onBackpressureBuffer()
- 61. استراتژیهای فشار برگشتی: onBackpressureDrop() و onBackpressureLatest()
- 62. استراتژیهای فشار برگشتی: onBackpressureError()
- 63. پیادهسازی Custom Backpressure
- 64. Flow Control در Reactive Streams
- 65. استراتژیهای درخواست اولیه (initial request)
- 66. مفهوم Scheduler در Reactor
- 67. Schedulerها: Schedulers.immediate(), Schedulers.single()
- 68. Schedulerها: Schedulers.boundedElastic(), Schedulers.parallel()
- 69. Schedulerها: Schedulers.fromExecutor()
- 70. عملگر subscribeOn(): تعیین Scheduler برای تولید کننده
- 71. عملگر publishOn(): تعیین Scheduler برای مصرف کننده
- 72. تفاوت subscribeOn و publishOn
- 73. اجرای موازی با Flux.parallel() و runOn()
- 74. مدیریت Context در Reactor
- 75. Context.of(): انتقال دادهها در جریان واکنشگرا
- 76. معرفی StepVerifier برای تست Flux و Mono
- 77. تست سناریوهای موفقیتآمیز با StepVerifier
- 78. تست سناریوهای خطا با StepVerifier
- 79. تست زمانبندی با StepVerifier.withVirtualTime()
- 80. استفاده از TestPublisher برای شبیهسازی Publisher
- 81. Hot vs. Cold Publishers: تفاوت و کاربرد
- 82. Multicasting: به اشتراکگذاری یک جریان بین چندین Subscriber
- 83. عملگر publish() و connect()
- 84. عملگر share(): اتصال خودکار و شروع از آخرین عنصر
- 85. عملگر replay(): ذخیره و ارسال مجدد عناصر گذشته
- 86. عملگر cache(): ذخیره جریان برای Subscriberهای آینده
- 87. Operator Fusion: بهینهسازی عملکرد Reactor
- 88. مفهوم Checkpoint و Debugging پیشرفته
- 89. استفاده از MeterRegistry برای مانیتورینگ Reactor
- 90. Building Custom Operators
- 91. معرفی Spring WebFlux: جایگزین Spring MVC
- 92. کنترلرهای واکنشگرا در Spring WebFlux
- 93. Router Functions: رویکرد تابعی برای APIهای واکنشگرا
- 94. استفاده از WebClient برای فراخوانی APIهای واکنشگرا
- 95. Spring Data R2DBC: دسترسی واکنشگرا به پایگاه داده رابطهای
- 96. Spring Data Reactive MongoDB: دسترسی واکنشگرا به MongoDB
- 97. مدیریت تراکنشها در Spring WebFlux با R2DBC
- 98. امنیت واکنشگرا با Spring Security (Reactive)
- 99. Integration with Message Brokers (e.g., Reactor Kafka)
- 100. الگوهای طراحی و بهترین شیوهها در برنامهنویسی واکنشگرا
تگها:
asynchronous programming
Data Streams
Java
Reactive Java
reactive programming
Reactive Streams
آموزش Reactive Programming
برنامه نویسی Reactive
برنامهنویسی
برنامهنویسی جاوا
برنامهنویسی غیر همزمان
برنامهنویسی واکنشگرا
جاوا
جاوا واکنشگرا
جریان داده
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.