読書会(RxJavaリアクティブプログラミング)第3回議事録
[ 戻る ]
=====================================================================================
Java読書会BOF 「RxJavaリアクティブプログラミング」を読む会 第3回
=====================================================================================
.. csv-table:: 開催概要
"日時","2017年6月17日(土) 10:00 - 17:00"
"場所","川崎市教育文化会館 第3会議室"
"出席者(敬称略)","長谷川、伊藤、井上、青山、岩室、平山、吉本、遠藤、高橋(智)、高橋(徹)、今井(書記)"
chapter4 FlowableとObservableのオペレータ
==================================================
02 通知するデータを変換するオペレータ
--------------------------------------------------
- ここで出てくるFunction型は、io.reactivex.functions.Function<T,R> で、java.util.function.Function<T,R>ではない。
- 同じ名前でややこしい。
- 以前のバージョンでは、Function1, Function2のような名前だった。
- java.util.function.Functionと同じように使うことを考えたのでは?
- でも、reactivexのapply()はthrows Exceptionだが、java.utilのはthrows無いので、同じようには使えない。
- p.189 リスト6
- これは機能の説明のためのコードで、同じことを行いたいのであればfilter + mapの方が自然。
- p.197 表1のtillTheEndに関して
- なぜ、EagerではないconcatMapDelayError()にはtillTheEndが無い?
→ Eager無しでは生成されたFlowableが並列には動かないので、他のFlowableのデータ通知を待つということがないので。
- p.203 リスト1
- 表3によると、bundaryIndicatorSupplierはSupplier型ではなくCallable型のはずで、get()でなくcall()のはず。
- p.211 keySelectorやvalueSelectorの名前は、なぜ〜Selectorにしたのだろう?
- 生成だから〜Generatorなどの方がしっくりくる。
- もとはデータの一部分からkeyやvalueを作る使われ方をしていて、それがそのままメソッド名になったのではないか。
- p.209 Map.Entryを返す(key, valueを一緒に返すことができる)メソッドを指定できる、toMap()があったら使いやすいのに。
- p.201 図2
- △は、([〇,◇]などのことではなく)生成されたFlowable/Observableの通知を表している。
- p.202 「主なメソッド」は、buffer(int count)を除いて、下に書かれているメソッド程できることに自由度があがる。
- p.204 リスト3の下、間違い
- 1000ミリ秒ごとに → 100ミリ秒ごとに
- p.212 本文1行目行頭、間違い
- toMapメソッドは → toMultimapメソッドは
- p.213 表1 なぜ、mapオブジェクトを生成するメソッドの引数名は〜Selectorで、Collectionオブジェクトを生成するメソッドの引数名は〜Factoryなのだろう?
→ mapSupplierは引数が無いが、collectioFactoryはキー値を受け取るから。
→ key毎にValueのCollection実装型を変えることができる。
- p.215 リスト5下 間違い
- 2. ... 1000ミリ秒ごとに → 500ミリ秒ごとに
03 通知するデータを制限するオペレータ
--------------------------------------------------
- p.223 distinctUntilChanged()の引数comparerの型は、BiPredicateではなくComparableでいいのではないか? comparer.test()の二つの引数の型が異なることはないだろう。
- p.226 l.3末尾間違い
- Flowable/Observer → Flowable/Observable
- p.228 (p.227)リスト2下 間違い
- 1. ... 1000ミリ秒ごとに → 300ミリ秒ごとに
- p.228 リスト3下 間違い
- 1. ... 1000ミリ秒ごとに → 300ミリ秒ごとに
- p.231 (p.230)リスト2下 間違い
- 1. ... 1000ミリ秒ごとに → 300ミリ秒ごとに
- p.232 表1 countの型は、longではなくてint ?
→ 他のcountはlongだが、このcountはintのようだ。理由は不明。
- p.236 図1下、間違い (1行目と2行目の二か所)
- Flowable/Observer → Flowable/Observable
- p.237 実行結果 なぜ、ThreadPool-2が使われている?
→ Flowable.interval()とskipUntil()のタイマーで0,1を使っているからだろう。
- p.239 リスト2下 間違い
- 1. ... 1000ミリ秒ごとに → 300ミリ秒ごとに
- p.240 skipLastは最後{count個,tim時間}をスキップするというより、{count個,time時間}遅らせて通知するという感じ。
- p.243 (p.242)リスト1下 間違い
- 1. ... 1000ミリ秒ごとに → 300ミリ秒ごとに
- p.245 リスト1下 間違い
- 1. ... 1000ミリ秒ごとに → 300ミリ秒ごとに
- p.246 実行結果後の本文2行が、リスト2前の本文末尾と重複している。
- p.247 l.4中程 間違い (他の箇所は「期間内」と書かれている)
- 指定した時間内であっても → 指定した期間内であっても
- p.250 リスト3後の本文2行は、リスト3前の本文末尾と重複している。
04 Flowable/Observableを結合するオペレータ
--------------------------------------------------
- p.254 図3 見出し 間違い
- mergeWithDelay → mergeDelayError
- p.256 表4 「結果データ」の行が左へ1カラムずれている。
.. note::
p.260まで終了。次回はp.261から。
[ 戻る ]