タグ

Rxに関するikosinのブックマーク (21)

  • Swiftを使ったRx入門の話をしてきた - damelog

    先日、技術顧問先の企業様にてRx入門の話をしてきました。 その時の資料をせっかくなので公開しておきます。 サンプルコード: https://gist.github.com/dameleon/9fc3178aaba1f695455234af40730a03 ページ数, 文字数共におおく、中々資料だけでは内容を理解しきれないとは思いますが、Rxに関するベーシックな概念は一通り触れているので、何かの参考にして頂ければと思います。 需要があればこの内容についていつでも講演します。 あ、あとツッコミがあれば随時ツッコんでいただけるとすぐに修正します。 制作秘話とか Rx入門関連の資料として、実践的に入るのか、概念から体系的に入るのかを悩んでいたんですが、自分がRxに入門〜実践できるまではひたすらコードを書いていて、後々考えたときにやはり概念から入った方が良かったなという気持ちがあったので、わりと後者

    Swiftを使ったRx入門の話をしてきた - damelog
    ikosin
    ikosin 2017/08/16
  • Angular/RxJS When should I unsubscribe from `Subscription`

    When should I store the Subscription instances and invoke unsubscribe() during the ngOnDestroy life cycle and when can I simply ignore them? Saving all subscriptions introduces a lot of mess into component code. HTTP Client Guide ignore subscriptions like this: getHeroes() { this.heroService.getHeroes() .subscribe( heroes => this.heroes = heroes, error => this.errorMessage = <any>error); } In the

    Angular/RxJS When should I unsubscribe from `Subscription`
  • Model View Whatever + Rx のアンチパターン - Re.Ra.Ku tech blog

    GUIアーキテクチャパターンとしてModel View Whateverを採用した際に、Rxのストリームをプレゼンテーション層からモデル層まで一気通貫でつなげてしまうのはアンチパターンである、という話をします。 前提 GUIアーキテクチャパターンにおける Model View Whatever パターン、とくにMVVMに近いパターンを前提とします。いわゆるサーバサイドの「web系MVC」は前提としません。 Model View WhateverパターンとPDS そもそもGUIアプリケーションでModel View Whateverというアーキテクチャパターンを採用する理由として、PDSの実現があります。このあたりの話は詳しくは実況中継シリーズ Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離 - Re.Ra.Ku アドベントカレンダー day 13 - Re.Ra.K

    Model View Whatever + Rx のアンチパターン - Re.Ra.Ku tech blog
    ikosin
    ikosin 2017/02/21
  • RxJS(5.x)で行うテストファーストな機能開発|デロイト トーマツ ウェブサービス株式会社(DWS)公式ブログ

    小飼です。 『The Next Great Burger』にハマっています。 RxJS、使っていますか? 弊社では現在開発しているアプリケーションから、格的にRxJSを導入して使い込んでいっています。 イベントを配列のように操作できるという高度な抽象化の恩恵で、非常にリーダブルかつ簡潔に機能実装が出来るところが非常に良いですね。 学び始めた当初はReactive Programming的な考え方で実装を発想するということができず、非常に難解なイメージを持っていましたが、 半年くらい置いて改めて使ってみたところ、非常に使いやすいライブラリであるというイメージにガラッと変わりました。 これはRPっぽい発想の転換ができたことと併せて、TypeScriptでRxJSを用いることで、静的型解析の恩恵を受ける事ができた事も大きいと思っています。 (少なくともAPIの多さは問題にならなくなりました)

  • RxJS 4 から 5 での変更点 - Qiita

    この記事は bouzuya's RxJS Advent Calendar 2015 24 日目かつ RxJS Advent Calendar 2015 の 24 日目です。 はじめに 今日は RxJS 4 から 5 への移行 のドキュメントから抜粋して書きます。 RxJS 5 ここまで RxJS 4 (v4.0.7) を対象に書いてきました。 RxJS 4 は Reactive-Extensions/RxJS でしたが、 RxJS 5 は ReactiveX/RxJS で開発が進められています。2015-12-24 時点では 5.0.0-beta.0 です。 JavaScript から TypeScript へ RxJS 4 が独自の module (concat) を使った JavaScript で書かれていたのに対して、RxJS 5 は ES6 module style の TypeS

    RxJS 4 から 5 での変更点 - Qiita
    ikosin
    ikosin 2017/01/23
  • rxjs/MIGRATION.md at master · ReactiveX/rxjs · GitHub

    Dismiss Join GitHub today GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together. Sign up

    rxjs/MIGRATION.md at master · ReactiveX/rxjs · GitHub
    ikosin
    ikosin 2017/01/23
  • RxMarbles: Interactive diagrams of Rx Observables

    Learn, build, and test Rx functions on Observables

  • Hot vs Cold Observables

    TL;DR: You want a HOT observable when you don’t want to create your producer over and over again. COLD is when your observable creates the producer// COLD var cold = new Observable((observer) => { var producer = new Producer(); // have observer listen to producer here });HOT is when your observable closes over the producer// HOT var producer = new Producer(); var hot = new Observable((observer) =>

    ikosin
    ikosin 2017/01/23
  • [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
    ikosin
    ikosin 2017/01/23
  • Reactive programming, HTTP and Angular 2

  • Angular Observable Data Services - Angular 17 | 16

    This article has been updated to the latest version Angular 17 and tested with Angular 16. The content is likely still applicable for all Angular 2 + versions. Angular brings many new concepts that can can improve our JavaScript applications. The first new concept to Angular is the use of Observables. Observables are a proposed feature coming to the JavaScript specification. I wont go in depth int

    Angular Observable Data Services - Angular 17 | 16
  • 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
    ikosin
    ikosin 2017/01/13
  • [Rx入門] Subject詳解 / Hotな、ColdなObservableのこと - Qiita

    この記事は、既にRxをゴリゴリ動かしてリアクティブな世界を堪能してる人あたりを対象にしています。 Subject!!!! RxにはSubjectというものがあります。今回はこのSubjectを中心にRxのことを適当に話します。 Subjectってなに Subjectは既に色んな場所で解説されているとおり、IObservable<T>インターフェースとIObserver<T>インターフェースを両方実装したクラスです。といっても全然分からないので、さっさと動かしてみましょう。 public static void Main() { // subjectをつくる var subject = new Subject<int>(); // subjectを購読する var disposable = subject.Subscribe( x => WriteLine($"OnNext: { x }")

    [Rx入門] Subject詳解 / Hotな、ColdなObservableのこと - Qiita
    ikosin
    ikosin 2017/01/13
  • Rx逆引き

    RxのObservableに関するオペレータやその他もろもろに関する逆引きです。 基的にRxJS+αなので、各実装でどういう名前になっているかはドキュメントを参照してください メモ: メッセージ=ストリームから飛んでくる値のこと。イベント=メッセージが飛んでくる+onComplete/onError。ストリーム=Observable。RxJSはPromiseもそのままストリームとして扱えることが多い。 Observableのオペレータ 生成 したいことオペレータ名備考

  • Overview

    Introduction RxJS is a library for composing asynchronous and event-based programs by using observable sequences. It provides one core type, the Observable, satellite types (Observer, Schedulers, Subjects) and operators inspired by Array#extras (map, filter, reduce, every, etc) to allow handling asynchronous events as collections. Think of RxJS as Lodash for events. ReactiveX combines the Observer

  • 「リアクティブプログラミングが読み難い」というのは本当なのか? - Qiita

    追記(2017/05/2) redux-sagaでの非同期バージョンの紹介とリンクを追記。 追記(2017/2/23修正) 元記事の追記3にて言及を頂いたように、以下の「見易い版」コードは元コードが実現していた機能が抜けおちているという誤りがあります。遅くなりましたが、お詫びの上修正させていただきます。 修正内容は以下の「refreshボタン押下ですべての候補を消去」の項目に追記しました。 上記追記の趣旨として、リアクティブプログラミングはそれほど判り難いのだ、というご指摘になっていますが、返す言葉もございません。 はじめに 先日「リアクティブプログラミングとは何だったか」という記事を目にしまして、内容はたいへん興味深かったのですが、以下の記述がありました。 『宣言的』といえそうなのはわかりますし、パラダイムとして従来のコードとは一線を画すものであることは確かですが、どう贔屓目にみてもひた

    「リアクティブプログラミングが読み難い」というのは本当なのか? - Qiita
  • RxJavaに3日で入門し、Androidアプリのリスト操作、非同期処理、変更通知の課題を解決した話 - Qiita

    なんでこの記事書いたのか 今開発中のプロダクトにおいて、RxJavaの導入をやってみたので、実際に使った箇所とその例、調べないとわからなかったことを載せておきました。 そう(retrolambdaのためにjdk8を投入)までして導入したかったメリットを話してくれ、サンプルコードがないとわからん、といった声を頂いているので、実際に何が解決されたのか、どんなコードで解決したのかということと、そのために勉強しなくてはならなかった点について書いています。 (追記)警告:差分作ってコード上では解決したんですが、この差分まだ「リリース」したわけじゃないので、その点だけご注意くださいmm 続報あり次第追記します。 追記:リリースして安定運用しています!最近まで監視に難がありましたがそれも修正しました。この記事の監視スニペットも更新済みです! なぜRxJavaを導入したのか 次の課題をまとめて解決できるの

    RxJavaに3日で入門し、Androidアプリのリスト操作、非同期処理、変更通知の課題を解決した話 - Qiita
  • Reactive Programming in JavaScript

    - + 最近の小学校では、「お父さん・お母さんの名前をグーグルで検索してみましょう」という、世にも恐ろしい授業があるらしい。・・・。 — 丹 洋介 (@yosuke_tan) January 25, 2015

  • 7つのサンプルプログラムで学ぶRxJavaの挙動 - クックパッド開発者ブログ

    会員事業部の山下(@tomorrowkey)です。 RxJavaが流行ってますね。最近AndroidクックパッドでもRxJavaが導入されました。この記事は私がRxJavaを使うにあたって検証用のテストコードを書いたものをベースに、RxJavaの挙動をみなさんに紹介したいと思います。 目次 リスト操作でおさらいする基的なRxJavaの使い方 Observable Operator Observer / Subscribe 実行順序を確認するサンプルプログラム 7つのサンプルプログラム リスト操作でおさらいする基的なRxJavaの使い方 RxJavaAPIアクセスやイベントトリガーやリスト処理などを多岐にわたる処理に使うことができます。このエントリでは初学者に一番分かりやすいリストの処理を例に解説します。 これは1から10までの値を渡し、偶数だけにフィルタリングしたうえ、値を10倍に

    7つのサンプルプログラムで学ぶRxJavaの挙動 - クックパッド開発者ブログ
  • ReactiveX と「普通のやつらの上を行け」の意外な関係 - Okapies' Archive

    これは「関数型プログラマのための Rx 入門」の補足記事です(タイトル変えた)。 前編、後編とお送りしてきたこの記事だが、特に後編について「何を言ってるのか分からん」というコメントを何人かの方から頂いた。…なんというか、ごめんなさい。 繰り返しになるが、Rx を使う上で関数型プログラミングの知識は必ずしも必要ではないし、むしろ(関数型のコンセプトが基礎にあるのに関わらず)知らなくても使えるようになっている。ライブラリの作者たちは「過度な抽象化は害になる」ということを弁えているのだろう。 しかし、Rx と関数型プログラミングの関係を把握しておくと、非同期データストリームのビルディング・ブロックの作り方について大いに視野が広がるだろう。もし、貴方がこの記事の前提となる「関数型」のパラダイムに興味をお持ちなら、まずは「関数プログラミング実践入門」をお勧めしたい。 関数プログラミング実践入門 ──

    ReactiveX と「普通のやつらの上を行け」の意外な関係 - Okapies' Archive