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

/

Back-end

Kevin のわかりやすい Spring Reactive Web Applications: Reactor 第 2 部

Spring WebFlux ベースのリアクティブ アプリケーションの核となる技術の 1 つである Reactor、その中でも Reactor のすべてと言っても過言ではないほど重要な Reactor Operator を自分のものにしてみたい場合は、`Kevin のわかりやすい Spring Reactive WebApplications: Reactor 2 部` 講義を受講してください。

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

学習した受講者のレビュー

こんなことが学べます

  • Reactor Sequence を作成するための Operator の活用方法

  • Reactor Sequence でデータをフィルタリングするための Operator の活用方法

  • Reactor Sequence で emit されるデータを変換する Operator の活用方法

  • Reactor Sequence の内部動作を確認するためのオペレータの活用方法

  • 時間関連オペレータの使い方

  • Reactor Sequence で発生するエラーを処理するための Operator の活用方法

  • Reactor Sequence で emit されるデータを分割するための Operator の活用方法

「スプリングで始まるリアクティブプログラミング」作者直講!

Kevinの分かりやすいRxJava講義をオープンしていたKevinが3年ぶりに持ってきたリアクティブプログラミングシリーズをInflearn講義と書籍でお会いしましょう!


Spring WebFluxベースのWebアプリケーションを開発したい人が最も見落としやすいものが1つあります。

これは、リアクティブプログラミングの中核であるOperatorについて、適切な学習を経ることなく、すぐにSpring WebFluxを学習したいということです。

Spring WebFluxベースのアプリケーションを素早く実装してみたい気持ちはとてもよく知っています。

多くの人がReactorのOperatorの基本基盤が正しく装備されていない状態でSpring WebFluxの段階に進むが、結局Operatorという壁にぶつかってOperatorを再学習するようになる状況が頻繁に発生します。

こういう試行錯誤を経ないようにしたいので、2部講義では⭐Reactorの核心の中核
Operator の活用法を集中的に学習できるよう、Operator のみを扱っています。


この講義があなたがReactor、その中でReactorの花と呼ばれるOperatorという扉を開くことができる鍵になることができると自信を持っています。

🌱第2部講義の特徴

  • パート2レッスンは、ReactorのOperatorについてのみ集中的に学びます。

  • Operatorの動作方法を正しく理解するために、Operatorに対応するマーベル図を活用してください。

  • 特定のOperatorの基本概念を理解するためのサンプルコードで、Operatorの基本概念を理解します。

  • 基本的な概念を理解した後、特定のOperatorを活用できる洞察を得るための活用例コードについて説明します。

  • 合計60以上のOperatorに対して97のサンプルコードを使用して各Operatorを利用する方法を説明します。


このようなことを学びます。

セクション 1: Creating a new sequence

セクション1では、Reactor Sequenceを新しく作成するOperatorについて学習します。

  • justOrEmptyjustOrEmpty Operatorを使用して、Reactor Sequenceに1つの値または空の(Empty)Sequenceを生成する方法を学びます。

  • fromIterable: Java のCollection に含まれるデータから Sequence を生成する方法を学習します。

  • fromStream : fromStream Operator を使用して Java Stream から Sequence を生成する方法を学習します。

  • range : range Operator を使って定められた範囲内の整数 Sequence を生成する方法を学習します。

  • defer defer Operatorを介してSubscriberが購読するまでデータの emit を遅らせる方法を理解します。

  • using using Operatorを使用してリソースを取得および解放するプロセスを含むSequenceを生成する方法を学びます。

  • generate、create generate create Operatorを使用してプログラムでデータを生成する方法を学びます。

セクション 2: Filtering a sequence

セクション2では、Reactor SequenceでデータをフィルタリングするOperatorを学習します。

  • filter filter Operatorを使用してReactor Sequenceでデータをフィルタリングする方法を学びます。

  • skip : skip Operator を使用してシーケンスからデータをスキップする方法を学習します。

  • skip 拡張 Operator : skipLast , skipUntil , skipUntilOther ,
    skipWhileを使用してさまざまな方法でデータをスキップする方法を学びます。

  • take : take Operator を使用して、Sequence で emit されたデータの中から必要なデータのみを取得する方法を学習します。

  • take 拡張 Operator : takeLast , takeUntil , takeUntilOther ,
    takeWhileを使用して、さまざまな方法で emitted データの中から必要なデータのみをインポートする方法について学習します。

  • next : emitされたデータのうち、最初のデータだけを取得する方法を見てください。


セクション 3: Transforming an existing sequence

セクション3では、Reactor Sequenceからデータを変換するOperatorについて学習します。

  • map : map Operator を使用して Sequence のデータを変換する方法を学習します。

  • flatMap : flatMap Operator を使用して emit されるデータを変換する方法と平坦化の意味について理解する時間があります。

  • flatMap 拡張 Operator : FlatMapIterable , FlatMapMany , FlatMapSequentialを使用したさまざまな方法の平坦化方法を学習します。

  • concat concat Operatorを使用して複数のSequenceを接続する方法を学びます。

  • merge merge Operatorを使用して複数のSeque nceをマージする方法を理解します。

  • zip zip Operatorを使用して複数のSequenceのソースデータを結合する方法を学びます。

  • and, when : and , when Operator で条件に応じて Reactor Sequence の終了を確認できる方法について学習します。

  • then :タスクを順次実行するためのthen Operatorを学習します。

  • collectList, collectMap : どのデータを List または Map に入れて、一度に Downstream に emit するかを学習します。


セクション 4: Peeking into a sequence

セクション4では、Reactor Sequenceの内部を覗くことができるOperatorについて学びます。

  • doOnXXXX doOnSubscribe doOnRequest doOnNext doOnCompleteなどを使用してSequenceの内部を覗きながら、Sequenceのライフサイクルを理解します。

セクション 5: Working with time

セクション 5 では、Reactor Sequence が提供する Operator のうち、時間に関連する Operator を学習します。

  • delayElements : 一定時間間隔でデータを emit させるdelayElementsについて学習します。

  • delaySubscription vs delaySequence : delaySubscription と delaySequence の動作方法とそれぞれの違いを理解します。

  • timeout : 指定された時間内にデータが emit されない場合にエラーを発生させるtimeout Operator について学習します。

セクション 6: Handling errors

セクション6では、Reactor Sequenceで発生するエラーを処理するために使用されるOperatorを学習します。

  • error error Operatorを使用してReactor Sequenceでエラーを明示的にスローする方法を学びます。

  • onErrorReturn, onErrorResume : onErrorReturnonErrorResume Operator を利用してエラーが発生したときに代替値を emit したり、または代替 Sequence 開始する方法について学習します。

  • onErrorContinue : onErrorContinue Operator を使用してエラーが発生しても Sequence が引き続き動作するようにする方法について学習します。

  • onErrorMap onErrorMap Operatorを使用してSequenceで発生したエラーを新しい例外タイプに変換する方法を学びます。

  • retry : retry Operator を使用してエラーが発生した場合に Sequence が再び動作するように再試行する方法について学習します。


セクション 7: Splitting a Flux

セクション7では、Reactor Sequenceで emitされるデータを分割するOperatorを学習します。

  • window : window Operator を利用して emit されるデータを一定数の window に分けて emit する方法について学習します。

  • buffer, bufferTimeout : bufferおよびbufferTimeout Operator を利用して emit されるデータをバッファに入れて emit する方法について学習します。

  • groupBy : groupBy Operator を利用して emit されるデータを特定の基準に合わせてグループ化する方法について学習します。


セクション 8: Multicasting a Flux to several Subscribers

セクション8では、1つのFluxで複数のSubscriberにデータをマルチキャストするOperatorを学習します。

  • publish : publish Operator を使って Sequence 上のデータをマルチキャストする方法について学習します。

  • autoConnect autoConnect Operatorを使用して購読が発生したときにUpstreamソースに自動的に接続する方法を学びます。

  • refCount refCount Operatorを使用して購読が発生したときにUpstreamソースに自動的に接続し、購読がキャンセルされたときにUpstreamソースから自動的に接続が解除される方法について学習します。

  • replay : replay Operator を使用して新しいサブスクリプションが発生したときに Sequence 上のデータを再 emit する方法について学習します。


受講前の注意

KevinのわかりやすいSpring Reactive Web Applicationsのフルレクチャーの構成

  • パート1は、リアクティブプログラミングの概念とSpring Reactive Web Applicationの重要な役割を果たすProject Reactorについて説明します。

  • パート2は、パート1で扱っていなかったProject ReactorのOperatorについてのみ扱います。 OperatorはReactorのいくつかの部品の中で最も重要な役割を果たしています。また、リアクティブプログラミングにある程度慣れている方が、Operatorの部分だけを別々に学習できるように、個別の講義で構成されています。

  • パート3は、Spring WebFluxがどのように動作するかを理解した後に、アクティブなWebアプリケーションを作成するためのサンプルプロジェクト中心に構成されます。 (2024年度中にオープン予定です。)

学習資料

  • 授業ごとに講義で使用されるPPT講義資料をダウンロードして確認できます。 PPT講義資料は、授業中に授業別にダウンロードできますが、授業別に分かれており、見にくい方は下記のGithub Repositoryでセクション別に統合されている講義資料を活用してください。

  • クラスで説明したサンプルコードはすべてgithubにあり、以下のアドレスからダウンロードできます。

  • すべてのクラスは5分から20分の間のビデオで構成されています。

  • 第1部講義制作段階に記録された映像が一定部分含まれており、一部の授業映像ではパッケージ構造が元のサンプルソースコードと異なって見える場合がありますので参考にお願いします。

選手の知識と注意事項

  • Javaプレーヤーの知識は必須です。

  • Reactorの学習経験がある方は、第1部講義を必ず受講する必要はありません。

  • Reactorの学習経験がない人や、リアクティブプログラミングの概念に初めて触れる方は、第1部講義を学習することをお勧めします。

  • サンプルコードをブログなどで使用する場合は、出所を残してください。

  • 講義で使用されたマーベルダイアグラム画像(Reactor公式サイト画像を除く)は著作権がありますので、ブログなど他サイトではご使用いただけません。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • リアクティブ プログラミングを学びたいジュニア開発者

  • Project Reactor の基本を学びたい開発者

  • Project Reactor の Operator の学習方法に迷っている方

  • Project Reactor の Operator の活用について知りたい方

  • Spring ベースのリアクティブ Web アプリケーションを開発したい人

前提知識、
必要でしょうか?

  • Java

  • Project Reactor の基本知識

こんにちは
です。

6,267

受講生

230

受講レビュー

107

回答

4.8

講座評価

6

講座

- 주력 언어 또는 기술 : 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)로 편하게 얘기해주세요.

 

カリキュラム

全体

36件 ∙ (6時間 10分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

8件

4.9

8件の受講レビュー

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

    受講レビュー 47

    平均評価 5.0

    5

    100% 受講後に作成

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

    • Kevin
      知識共有者

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

  • Matthew님의 프로필 이미지
    Matthew

    受講レビュー 9

    平均評価 4.4

    5

    72% 受講後に作成

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

    • sjm767님의 프로필 이미지
      sjm767

      受講レビュー 7

      平均評価 5.0

      5

      100% 受講後に作成

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

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

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

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

          受講レビュー 1

          平均評価 4.0

          4

          100% 受講後に作成

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

          ¥7,842

          kevinの他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!