Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Back-end

Kevin's Easy-to-Understand Spring Reactive Web Applications: Reactor Part 2

Reactor, one of the core technologies of Spring WebFlux-based reactive applications, and Reactor Operator, which can be said to be the most important part of Reactor, if you want to make it yours, take the `Kevin's Easy-to-Understand Spring Reactive WebApplications: Reactor Part 2` lecture.

(4.9) 8 reviews

307 learners

  • kevin
스프링
Reactive Programming
웹개발
시리즈
webflux
Spring
project-reactor
Java

Reviews from Early Learners

What you will learn!

  • How to use Operators to create Reactor Sequences

  • How to use Operators to filter data in Reactor Sequence

  • How to use an Operator to transform data emitted from a Reactor Sequence

  • How to use the Operator to check the internal operation of the Reactor Sequence

  • How to use time-related operators

  • How to use an operator to handle errors that occur in a reactor sequence

  • How to use Operators to split data emitted from a Reactor Sequence

A lecture directly from the author of "Reactive Programming with Spring" !

Kevin, who opened Kevin's easy-to-understand RxJava course, is back with a reactive programming series in Inflearn lectures and books after three years!


There is one thing that is most easily overlooked by those who want to develop web applications based on Spring WebFlux.

That is, they want to learn Spring WebFlux right away without properly learning about Operator, which is the core of reactive programming.

We understand your desire to quickly implement Spring WebFlux-based applications.

Many people move on to Spring WebFlux without having a solid understanding of Reactor's Operators, but they often end up hitting a wall called Operator and having to relearn Operators.

In order to avoid these trial and errors, in the second lecture , we will cover the core of Reactor, which is
We only cover Operators so that you can focus on learning how to use them.


I am confident that this lecture will be the key that will open the door to Reactor, and especially the Operator, which is called the flower of Reactor.

🌱 Features of Part 2 of the lecture

  • Part 2 of the lecture focuses solely on Reactor's Operators.

  • To better understand how an Operator works, we will use a marble diagram corresponding to the Operator.

  • Understand the basic concepts of Operators with example code to understand the basic concepts of a specific Operator.

  • After understanding the basic concepts, we will explain example code to help you gain insight into how to utilize specific operators.

  • It explains how to utilize each operator through 97 example codes for a total of 60 operators.


Learn about these things

Section 1: Creating a new sequence

In Section 1, we learn about Operators that create new Reactor Sequences.

  • justOrEmpty : Learn how to use justOrEmpty Operator to create a single value or an empty Sequence from a Reactor Sequence.

  • fromIterable: Learn how to create a Sequence from data contained in a Collection in Java.

  • fromStream : Learn how to create a Sequence from a Java Stream using the fromStream Operator.

  • range : Learn how to create a sequence of integers within a specified range using range operator.

  • defer : Let's understand how to delay data emission until the Subscriber subscribes using defer operator.

  • using : Learn how to create a Sequence that includes the process of acquiring and releasing resources using the using Operator.

  • generate, create : Learn how to programmatically generate data using generate and create operators.

Section 2: Filtering a sequence

In Section 2, we learn Operators that filter data in Reactor Sequence.

  • filter : Learn how to filter data in a Reactor Sequence using the filter Operator.

  • skip : Learn how to skip data in a sequence using the skip operator.

  • skip extension Operator : skipLast , skipUntil , skipUntilOther ,
    Learn how to skip data in different ways using skipWhile .

  • take : Learn how to use the take Operator to retrieve only the data you need from the data emitted from a Sequence.

  • take extension Operator : takeLast , takeUntil , takeUntilOther ,
    Learn how to use takeWhile to retrieve only the data you need from data emitted in various ways .

  • next : Let's look at a method to obtain only the first data among the emitted data.


Section 3: Transforming an existing sequence

In Section 3, we learn about Operators that transform data in Reactor Sequences.

  • map : Learn how to transform data in a Sequence using the map Operator.

  • flatMap : Take the time to understand how to transform the emitted data using the flatMap Operator and what flattening means.

  • Learn various flattening methods using the flatMap extension operator : FlatMapIterable , FlatMapMany , and FlatMapSequential .

  • concat : Learn how to concatenate multiple Sequences using the concat Operator.

  • merge : Understand how to merge multiple Sequences using the merge Operator.

  • zip : Learn how to combine source data from multiple Sequences using the zip operator.

  • and, when : Learn how to check the termination of a Reactor Sequence based on conditions using the and , when Operators.

  • then : Learn then Operator to perform tasks sequentially .

  • collectList, collectMap : Learn how to collect emitted data into a List or Map and emit it downstream all at once.


Section 4: Peeking into a sequence

In Section 4, we will learn about Operators, which allow us to look inside Reactor Sequence.

  • doOnXXXX : Let's understand the life cycle of Sequence by looking into the internals of Sequence using doOnSubscribe , doOnRequest , doOnNext , doOnComplete , etc.

Section 5: Working with time

In Section 5, we learn time-related operators among the operators provided by Reactor Sequence.

  • delayElements : Learn about delayElements , which allows you to emit data at regular intervals.

  • delaySubscription vs delaySequence : Understand how delaySubscription and delaySequence work and the differences between them.

  • timeout : Learn about the timeout Operator, which raises an error if data is not emitted within a given time.

Section 6: Handling errors

In Section 6, we will learn about Operators used to handle errors that occur in Reactor Sequences.

  • error : Learn how to explicitly throw errors in a Reactor Sequence using the error Operator.

  • onErrorReturn, onErrorResume : Learn how to emit alternative values or start an alternative Sequence when an error occurs using onErrorReturn and onErrorResume Operators.

  • onErrorContinue : Learn how to use the onErrorContinue Operator to keep a Sequence running even if an error occurs.

  • onErrorMap : Learn how to convert errors that occur in a Sequence into a new exception type using the onErrorMap Operator.

  • retry : Learn how to retry a Sequence if an error occurs using the retry Operator.


Section 7: Splitting a Flux

In Section 7, we learn an Operator that splits the data emitted from the Reactor Sequence.

  • window : Learn how to divide emitted data into a certain number of windows and emit them using the window operator.

  • buffer, bufferTimeout : Learn how to emit data by storing it in a buffer using buffer and bufferTimeout operators.

  • groupBy : Learn how to group emitted data according to specific criteria using groupBy Operator.


Section 8: Multicasting a Flux to several Subscribers

In Section 8, we learn about an Operator that multicasts data to multiple Subscribers with a single Flux.

  • publish : Learn how to multicast data on a Sequence using the publish Operator.

  • autoConnect : Learn how to automatically connect to an upstream source when a subscription occurs using the autoConnect Operator.

  • refCount : Learn how to automatically connect to the upstream source when a subscription occurs using the refCount Operator, and automatically disconnect from the upstream source when the subscription is canceled.

  • replay : Learn how to re-emit data on a Sequence when a new subscription occurs using the replay Operator.


Things to note before taking the course

Kevin's Complete Course on Spring Reactive Web Applications: Easy to Understand

  • Part 1 covers the concepts of reactive programming and Project Reactor , which plays a central role in Spring Reactive Web Applications.

  • Part 2 focuses solely on Project Reactor's Operators , which were not covered in Part 1. Operators play a crucial role among Reactor's various components. Furthermore, this course is structured as a separate course so that those familiar with reactive programming can learn about Operators separately.

  • Part 3 will focus on example projects that will teach you how Spring WebFlux works and then build reactive web applications . (It's scheduled to open in 2024.)

Learning Materials

  • You can download and review the PPT lecture materials used in each class. While you can download the PPT lecture materials for each class during class, if you find them difficult to view because they are broken down by class, we recommend accessing the integrated lecture materials by section in the Github Repository below.

  • All example codes explained in class are available on GitHub and can be downloaded from the address below.

  • All lessons consist of videos ranging from 5 to 20 minutes long.

  • Please note that some of the video recordings from the first part of the lecture production process are included, so the package structure in some of the lecture videos may appear different from the original example source code.

Player Knowledge and Precautions

  • Java proficiency is a must.

  • If you have any experience learning Reactor, you do not need to take Part 1.

  • If you have no experience learning Reactor or are new to the concept of reactive programming, we recommend studying Part 1.

  • If you use the example code on a blog or other site, please indicate the source.

  • The marble diagram images used in the lecture (excluding images from the official Reactor website) are copyrighted and cannot be used on other sites such as blogs.

Recommended for
these people

Who is this course right for?

  • Junior developers who want to learn reactive programming

  • Developers who want to learn the basics of Project Reactor

  • If you are having trouble figuring out how to learn the Operator of Project Reactor

  • Anyone who wants to gain insight into using the Operator in Project Reactor

  • Anyone who wants to develop a reactive web application based on Spring

Need to know before starting?

  • Java

  • Basic knowledge about Project Reactor

Hello
This is

6,265

Learners

230

Reviews

107

Answers

4.8

Rating

6

Courses

- 주력 언어 또는 기술 : Java, Spring Framework, RxJava, Reactor, Spring WebFlux

- (주)코드스테이츠(https://www.codestates.com)에서 Senior Educational Software Engineer(Backend)로 활동
(From 2022.03 To 2024.01.31)

- 프리랜서 개발자 및 강사로 활동(From 2024.02)

- 저서

안녕하세요? Kevin이라고 합니다. ^^

인프런에서 이렇게 강사로서 여러분들을 만나게 되어서 너무 반갑습니다.

어떤 분야든 마찬가지겠지만 특히나 소프트웨어 개발자는 끊임없이 변화하는 트렌드에 뒤처지지 않도록 항상 자기 자신을 갈고 닦는것이 개발자로써 살아남는 유일한 방법이라고 생각하며 항상 배우는 자세로 즐겁게 소프트웨어 개발을 하고 있는 개발자 중 한 명입니다.

제가 가지고 있는 지식과 경험이 다른 분들에게 조금이나마 도움이 되기를 바라면서 인프런에서 강좌를 시작하였습니다.

앞으로 수강생분들에게 현실적으로 도움이 되는 다양한 강좌로 꾸준히 찾아뵙도록 하겠습니다. 감사합니다.

 

질문이나 의견은 언제든지 환영하니, 이메일(it.village.host@gmail.com)로 편하게 얘기해주세요.

 

Curriculum

All

36 lectures ∙ (6hr 10min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

8 reviews

4.9

8 reviews

  • 보키님의 프로필 이미지
    보키

    Reviews 47

    Average Rating 5.0

    5

    100% enrolled

    7월 20일부터 WebFlux 1부 강의 듣기 시작해서 9월5일에 2부까지 완강했네요! 개인적으로 Java뿐만 아니라, Kotlin으로 2벌로 따라가기도 했고 다른 강의들도 번갈아가면서 듣느라 오래 걸렸네요ㅎㅎ 강의 정말 잘 들었습니다! 다음으로 Spring + WebFlux를 활용한 3부 강의를 기대해보겠습니다 감사합니다

    • Kevin
      Instructor

      열심히 학습하시느라 정말 고생 많으셨습니다. 보키님, 실력이 업그레이드 되셨길 바래요. 감사합니다!

  • Matthew님의 프로필 이미지
    Matthew

    Reviews 9

    Average Rating 4.4

    5

    72% enrolled

    쉽게 설명해주셔서 좋았습니다. :)

    • sjm767님의 프로필 이미지
      sjm767

      Reviews 7

      Average Rating 5.0

      5

      100% enrolled

      • 김세진님의 프로필 이미지
        김세진

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        웹플럭스 강의가 많이 없는데 괜찮네요 !

        • 최진우님의 프로필 이미지
          최진우

          Reviews 1

          Average Rating 4.0

          4

          100% enrolled

          처음 접해본 webflux에 대해서 상세히 알 수 있었습니다.

          $51.70

          kevin's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!