آموزش برنامه نویسی واکنشی در جاوا مدرن با استفاده از Project Reactor

Reactive Programming in Modern Java using Project Reactor

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یاد بگیرید که با استفاده از اصول Reactive Programming و Reactor، کدهای Asynchronous و NonBlocking با عملکرد سریع بنویسید. برنامه نویسی واکنشی چیست؟ چه زمانی از برنامه نویسی واکنش گرا استفاده کنیم؟ نوشتن کد واکنشی با استفاده از Project Reactor اپراتورهای مختلف که بخشی از Project Reactor Streams Specification ساخت غیر مسدود کننده Rest Clients با استفاده از Spring WebClient Unit تست کد واکنشی با استفاده از JUnit5 Reactive Types Flux/Mono پیش نیازها:تجربه قبلی در جاوا نوشتن موارد تست با استفاده از تجربه اجباری است. JUnit تجربه کار با Intellij یا هر IDE دیگری

برنامه‌نویسی واکنشی یک الگوی برنامه‌نویسی جدید است که برای برنامه‌هایی که نیاز به عملکرد بهتر در زیر بار سنگین دارند، مناسب است.

برنامه نویسی واکنشی بر اساس مشخصات جریان های واکنشی ساخته شده است. Project Reactor یک پیاده سازی از مشخصات جریان های واکنشی است.

کدی که با استفاده از برنامه نویسی Reactive نوشته شده است این ویژگی ها را دارد:

  • اساساً ناهمزمان

  • غیر مسدود کننده

  • سبک برنامه نویسی کاربردی کد

  • پشتیبانی از فشار برگشتی

این دوره برای ارائه دانش نظری و عملی در مورد برنامه نویسی واکنشی با استفاده از Project Reactor طراحی شده است. این یک دوره آموزشی کاملاً عملی است و تمام مفاهیم با نوشتن کد توضیح داده شده است.

برنامه درسی دوره:

بخش 1: شروع به کار با دوره

  • این بخش اهداف دوره و پیش نیازهایی را که برای استفاده حداکثری از این دوره مورد نیاز است پوشش می دهد.

بخش 2: مقدمه ای بر برنامه نویسی واکنشی

  • در این قسمت شما را با برنامه نویسی واکنشی و مفاهیم مرتبط با آن آشنا می کنم. موضوعات زیر در این بخش پوشش داده شده است

    • چرا برنامه نویسی واکنشی؟

    • برنامه نویسی واکنشی چیست؟

    • مقدمه ای بر جریان های واکنشی

بخش 3: شروع به کار با Project Reactor

  • در این بخش، من شما را با راکتور پروژه کتابخانه واکنشی و انواع واکنشی Flux و Mono که پایه و اساس Project Reactor را تشکیل می‌دهند آشنا می‌کنم

    • مقدمه ای بر Project Reactor

    • انواع واکنشی راکتور - شار و مونو

بخش 4: راه اندازی پروژه برای این دوره

  • در این بخش، پروژه پایه را تنظیم خواهم کرد که برای بقیه این دوره استفاده خواهد شد.

بخش 5: برنامه نویسی کاربردی در جاوا مدرن

  • در این بخش، برنامه نویسی کاربردی و مزایایی که با این سبک برنامه نویسی مرتبط است را توضیح خواهم داد

    • سبک امری در مقابل سبک عملکردی

بخش 6: بیایید اولین Flux و Mono

خود را ایجاد کنیم
  • در این بخش، انواع راکتورهای Flux و Mono را با استفاده از مثال‌های ساده کدنویسی و توضیح خواهم داد

  • موضوعات زیر به عنوان بخشی از این سخنرانی پوشش داده شده است:

    • بیایید اولین Flux خود را بنویسیم

    • بیایید اولین مونو را بنویسیم

    • رویدادهای جریان واکنشی

    • تست شار با استفاده از JUnit5

بخش 7: تبدیل شار و مونو

  • در این بخش، اپراتورهای مختلفی را کدنویسی کرده و توضیح خواهم داد که می توان از آنها برای تبدیل داده ها از یک فرم به فرم دیگر با استفاده از راکتور پروژه استفاده کرد

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • تبدیل داده با استفاده از اپراتورها در پروژه راکتور

    • تغییر را با استفاده از عملگر map()

    • جریان های واکنشی تغییر ناپذیر هستند

    • با استفاده از عملگر filter()

      فیلتر کنید
    • تبدیل پیشرفته با استفاده از عملگر flatMap()

    • عملیات ناهمزمان با استفاده از عملگر flatMap()

    • تبدیل پیشرفته با استفاده از عملگر ()concatMap

    • اپراتور flatMap( ) در مونو

    • اپراتور

      flatMapMany( ) در مونو

    • تغییر را با استفاده از عملگر transform()

    • مدیریت داده های خالی با استفاده از عملگرهای defaultIfEmpty و switchIfEmpty()

بخش 8: ترکیب Flux و Mono

  • در این بخش، اپراتورهای مختلفی را کدنویسی و توضیح خواهم داد که می‌توان از آنها برای ترکیب جریان‌های راکتیو با استفاده از راکتور پروژه استفاده کرد

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • مقدمه ای بر ترکیب جریان های واکنشی

    • ترکیب جریان‌های واکنشی با استفاده از اپراتورهای merge() و mergeWith()

    • ترکیب جریان‌های واکنشی با استفاده از عملگرهای mergeSequential ()

    • ترکیب جریان‌های واکنشی با استفاده از عملگرهای zip و zipWith()

بخش 9: ساخت Movie ReactiveService با استفاده از Project Reactor

  • در این بخش، ما Reactive MovieService را با استفاده از تمام مهارت‌هایی که تاکنون به دست آورده‌ایم می‌سازیم

  • نمای کلی این MovieService

  • همه MovieInfo را بازیابی کنید

  • بازیابی MovieInfo توسط movieId

بخش 10: پاسخ‌های تماس doOn* - نگاه کردن به یک دنباله

  • در این بخش، تکنیک‌هایی را برای بررسی رویدادهای فردی که توسط ناشر منتشر می‌شود، کدنویسی و توضیح خواهم داد.

بخش 11: رسیدگی به استثنا/خطا در Flux و Mono

  • در این بخش، استراتژی های مختلف رسیدگی به استثنا را که بخشی از راکتور پروژه هستند پوشش خواهم داد

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • استثناها در جریان‌های واکنشی

    • مقدمه ای بر اپراتورهای رسیدگی به استثنا

    • onErrorReturn(): اپراتور رسیدگی به استثنا

    • onErrorResume(): اپراتور کنترل استثنا

    • onErrorContinue(): اپراتور کنترل استثنا

    • onErrorMap(): اپراتور رسیدگی به استثنا

    • doOnError(): گرفتن استثناها و پرتاب خطا

    • خطا در مدیریت اپراتورها در مونو

بخش 12: اجرای Exception Handling در Movies Reactive Service

  • در این بخش، من مدیریت استثنا را در MoviesReactiveService پیاده‌سازی می‌کنم.

    • بررسی استثنا در MoviesReactiveService با استفاده از onErrorMap

    • تست استثنا در MoviesReactiveService با استفاده از Mockito

بخش 13: سعی مجدد، تکرار با استفاده از retry(), retryWhen(), repeat()

  • در این بخش، تکنیک‌های مختلفی را کدنویسی و پیاده‌سازی می‌کنم تا استثناهای موجود در جریان‌های واکنشی را با استفاده از Project Reactor دوباره امتحان کنم

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • امتحان مجدد با استفاده از retry() و retry(n)

    • استثناهای خاص را با استفاده از () retryWhen امتحان کنید

    • یک دنباله را با استفاده از repeat() و repeat(n) تکرار کنید

    • یک Sequence repeatWhen()

      را تکرار کنید

بخش 14: مدل اجرای راکتورها - زمان‌بندی‌ها، رشته‌ها و تردپول

  • در این بخش، رشته ها و مدل اجرای پشت راکتور پروژه را توضیح خواهم داد

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • مدل اجرای راکتور

    • تغییر رشته ها با استفاده از publicOn()

    • تغییر موضوعات با استفاده از subscribeOn()

بخش 15: برقراری تماس های مسدود شده در MovieReactiveService

  • در این بخش، با افزودن یک تماس مسدود کننده به خط لوله، یک پیشرفت به سرویس MoviesReactive اضافه می‌کنیم.

    • مسدود کردن تماس ها در MovieReactiveService

      • در این سخنرانی، ما کدنویسی می کنیم و در مورد نحوه برقراری تماس های مسدود کننده با استفاده از راکتور پروژه

        یاد می گیریم.

بخش 16: فشار برگشتی

  • در این بخش، مفهوم فشار برگشتی در برنامه نویسی واکنشی را توضیح خواهم داد

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • مقدمه ای بر BackPressure

    • بیایید BackPressure را پیاده سازی کنیم

    • یک تست JUnit برای BackPressure بنویسید

    • بررسی فشار برگشتی با استفاده از onBackpressureDrop()

    • بررسی فشار برگشتی با استفاده از ()onBackpressureBuffer

    • کنترل Backpressure با استفاده از onBackpressureError()

بخش 17: کاوش موازی سازی داده ها در راکتور پروژه

  • در این بخش، در مورد معرفی موازی سازی در خط لوله واکنشی توضیح خواهم داد

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • موازی سازی با استفاده از عملگرهای () parallel و ()runOn

    • موازی سازی با استفاده از عملگر flatmap()

    • موازی با استفاده از عملگر flatMapSequential()

بخش 18: جریان‌های گرم سرد

  • در این بخش در مورد استریم های سرد و گرم در برنامه نویسی واکنشی توضیح خواهم داد

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • جریان های داغ سرد

    • جریان های سرد

    • جریان های داغ - ConnectableFlux و گزینه های مختلف

بخش 19: تست JUnit با استفاده از VirtualTimeScheduler

  • در این بخش، استفاده از VirtualTimer برای کاهش زمان اجرای موارد تست را توضیح خواهم داد.

    • StepVerifier با استفاده از VirtualTimeScheduler

بخش 20: ساخت RestClient غیر مسدود کننده با استفاده از WebClient

  • در این بخش، با استفاده از Spring WebClient یک سرویس گیرنده استراحت غیر مسدود کننده می نویسیم

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • نمای کلی از API فیلم واکنشی

    • موویInfoService RestClient غیر مسدود کننده را بسازید

    • بازبینی RestClient غیر مسدود کننده را بسازید

    • بسازید getAllMovies غیر مسدود کننده MovieReactiveService Client

    • بسازید getMovieById غیر مسدود کننده MovieReactiveService Client

    • WireMock را برای تست های ادغام ادغام کنید


بخش 21: ایجاد برنامه‌ای یک شار

  • در این بخش، تکنیک‌های موجود برای ایجاد یک شار را به‌صورت برنامه‌ریزی کدنویسی و توضیح خواهم داد.

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • یک Flux با استفاده از create()

      ایجاد کنید
    • یک Flux با استفاده از push() ایجاد کنید

بخش 22: اشکال زدایی در راکتور پروژه

  • در این بخش، روش‌های مختلفی را که در مورد اشکال‌زدایی پیام‌های خطای راکتور در دسترس هستند، نشان خواهم داد.

  • موضوعات زیر به عنوان بخشی از این بخش پوشش داده شده است:

    • اشکال‌زدایی با استفاده از عملگرهای "نقطه بازرسی"

    • اشکال‌زدایی با استفاده از Hooks.onOperatorDebug()

    • اشکال‌زدایی جهانی آماده تولید با استفاده از "ReactorDebugAgent"


در پایان این دوره، درک کاملی از برنامه‌نویسی واکنش‌گرا خواهید داشت، با استفاده از اصول برنامه‌نویسی واکنش‌گرا کد می‌نویسید و زمان استفاده از آنها را در پروژه خود خواهید داشت.


سرفصل ها و درس ها

نمایش نظرات

آموزش برنامه نویسی واکنشی در جاوا مدرن با استفاده از Project Reactor
جزییات دوره
7 hours
82
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,471
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Pragmatic Code School Pragmatic Code School

علاقه مندان به فناوری، مدرس آنلاین

Pragmatic Code School Pragmatic Code School

علاقه مندان به فناوری، مدرس آنلاین