Rx Ja Night Vol.2 (https://connpass.com/event/57150/)
ReactiveExtenstionの根本的な概念としてObservableとOperatorがあります。前回はRxJavaをより深く理解するためにObservableの生成メソッドをまとめてみました。 今回は前回に続いて、Observableから流れてきた値をフィルタするFiltering Operatorの使い方をサンプルを作りながら確認してみます。 Filtering Operator一覧 Debounce Distinct DistinctUntilChanged ElementAt ElementAtOrDefault Filter ofType First IgnoreElements Last Sample throttleLast throttleFirst Skip SkipLast Take TakeLast TakeLastBuffer Filtering Opera
RxJava AdventCalendarの初日は、liftについて、紹介します。 初学者なので間違った理解があるかもしれませんが、その際はコメントなどでご指摘頂けると幸いです。 また、一部説明の端折る部分があると思いますが、簡略化のためなのでご了承下さい liftとはなにか Rxjavaはメソッドチェーンで処理を繋げて書くのが一般的ですが、このメソッドチェーンを実現しているのがliftです。 普段の開発でliftを見かけることは少ないと思いますが、mapやfilterなど殆どのオペレーターの中身はliftとOperator<R, T> の組み合わせで作られています。liftを理解すると、自分でカスタムオペレーターも作ることも出来ます。 Implementing Your Own Operators liftのjavadocによる説明は以下のようです。javadoc Lifts a fun
なぜRxJava? RxJavaは様々な特性を併せ持ったライブラリですが、簡単にまとめると以下のような機能に分類されます。 List処理の抽象化・ストリーム化 Optional Future/Promise Data Binding Event Bus Android開発でRxJavaをチームに導入した話 Java 8ではStream APIやOptionalが導入されていますが、Androidや業務要件などそのAPIを使えない環境も存在します。 また、非同期や並列などそもそもJavaで扱いにくい処理を、統一されたインターフェイスで簡潔に記述できるなどのメリットも多く、その基本的な機能を試してみたので紹介します。 なお、ここに記載する内容はRxJavaの使い方が中心で、RxJava自体の概念やFRPなどについては、他にも多くの方々紹介してくださっていますので、そちらをご覧いただければと思い
TL;DR reduceはcompleteするまで値が返らない scanはnextで次々に値が返っていく 値を逐次利用したい場合はscan使いましょう 他言語でのreduce # in Ruby # reduceはinjectのalias (0..10).inject { |sum, n| sum + n } // in JavaScript (ECMAScript 2015) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10].reduce((sum, n) -> sum + n) Reduce operator apply a function to each item emitted by an Observable, sequentially, and emit the final value ReactiveX - Reduce operator emit th
RxJava は ReactiveX (Reactive Extensions) の JVM 実装で、平たく言うと非同期のイベント処理を簡素に書ける、単なるライブラリです。 "Rx = Observables + LINQ + Schedulers" などと表現されます。なんですかこれ?大げさな抽象概念を掲げすぎて意味不明になる現象(モナド現象)になっていませんか? Observable とは Observable は発生順に並んだイベントのストリームです。 Java8 では、何らかの型Tの並びを Stream として表現し、この並びに対して関数的な操作を適用する API が用意されています。例えば Stream.map() は関数 Function を引数に取り、関数で変換された新しい Stream を返します。戻り値として Stream が得られるので、同じように操作を連結して定義して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く