リアクティブプログラミング
今回は Backpressure の挙動を指定するための列挙型、BackpressureStrategy について見ていきます BackpressureStrategy とは Flowable は場合によって生成スピードが Subscribe の処理速度以上に速い場合があります。そういった場合は、データは通知される…
実際に RxJava のサンプルコードを書いていく上での環境を構築していきます。今回はエディタとして IntelliJ IDEA を用います。 www.jetbrains.com 動作確認環境 OS: macOS High Sierra 10.13.6 IntelliJ IDEA: 2018.2.1 (Ultimate Edition) Build #IU-182.3…
今回は、生産者(Publisher)は大きく分けて Cold と Hot の2つに分類することができます。それら2つについて説明してきます。 Cold な生産者 Cold な生産者は 1つの消費者とのみ購読関係を結ぶ 1つの消費者と購読関係を結ぶ度にデータを通知するためのタ…
今回は、Publisher から通知されたデータを受け取って処理する際に用いるオペレータを見ていきます。 段階的にデータを整形する RxJava では、Publisher(Flowable / Observable)から Subscriber(Subscriber / Observer)にデータが通知される間に Subscri…
今回は、RxJava における Reactive Streams 対応について見てきます。 RxJava における生産者と購読者 Reactive Streamsの概念では、データを生産し通知する役割を担う生産者と通知されてきたデータを受け取って処理を行う消費者がいます。消費者が生産者を…
Reactive Streamsの仕組みを理解する上で重要なルールを簡単に説明します。 詳しくは、以下の公式リポジトリの README.md を参照してください。 github.com 重要なルールは主に4つです。 購読を開始する通知である onSubscribe は購読につき一度だけ通知する…
今回は、Reactive Streams について見ていきます。 Reactive Streams は、ライブラリやフレームワークに依存せず、データストリームを非同期的に扱うことができる仕組み・インタフェースを提供しています。 github.com The purpose of Reactive Streams is t…
最近、学び始めたリアクティブプログラミングについて備忘録としてまとめていきます。今回は、概要について触れます。 リアクティブプログラミングとは リアクティブプログラミング(Reactive Programming)は、最近注目されているプログラミングパラダイム…