タグ

reactiveに関するYudoufuのブックマーク (3)

  • [RxSwift] shareReplayをちゃんと書いてお行儀良くストリームを購読しよう - Qiita

    RxSwiftのサンプルコードを見てみると、頻繁にshareReplayというオペレーターが登場することに気づくと思います。しかし、このshareReplayを書かなくともコードは動くし、ホントにこれ必要なの?てか、コイツは何をしてるの?という疑問が湧いたので詳しく調べてみました。 shareReplayがないとき まずは、shareReplayがなぜ必要なのか考えるためにRxSwiftのExampleを多少シンプルにした下記の様な画面の実装について考えてみます。 ↓のような感じで3つのIBOutletで接続していて、 @IBOutlet weak var usernameOutlet: UITextField! // ユーザー名を入力するTextView @IBOutlet weak var usernameValidOutlet: UILabel! // 赤い文字で警告を表示するUIL

    [RxSwift] shareReplayをちゃんと書いてお行儀良くストリームを購読しよう - Qiita
  • RxのHotとColdについて - Qiita

    UniRxについての記事のまとめはこちら RxのIObservable<T>にはHot/Coldという大きな2つの特徴があります。 これら性質を理解しないままストリームを設計すると、意図した動作をしてくれない場合があります。 今回はこのHot/Coldの性質について簡単にまとめたいと思います。 概要 一言で言うと? Cold : ストリームの前後をつなぐだけのパイプ。単体では意味が無い。だいたいのオペレータはこっち。 Hot : ストリームから値を発行し続ける蛇口。常に垂れ流し。後ろにパイプがたくさん接続できる。 細かく説明すると Cold Observable 自発的に何もしない受動的なObservable Observerが登録されて(Subscribeされて)初めて仕事を始める ストリームの前後をただつなぐだけ。ストリームを枝分かれさせる機能は無い。 Hot Observable 自

    RxのHotとColdについて - Qiita
  • 2010-12-26

    リアクティブプログラミングは、「時間とともに変化する値」=「振る舞い」同士の関係性を記述することでプログラミングを行うパラダイムです。 GUIなどのようにインタラクティブなシステムや、シミュレーションやアニメーションのようにダイナミックに状態が変化するようなシステムを宣言的に記述することができます。 これらの「変化する状態」や「外部とのやりとり」が支配的なシステムは、純粋関数型言語が、その強みを発揮しにくい部分でもあります。 稿では、リアクティブプログラミングが副作用を含む系を宣言的に記述することを可能にし、状態の管理という厄介な問題からプログラマを開放する可能性があることを示したいと思います。 (割と独自研究に基づく解釈ばかりなのでその点ご了承ください。あと例としてでてくるコードは、Pythonベースの擬似コードで具体的なライブラリに基づくものではありません。) Why Reactiv

    2010-12-26
  • 1