「メルカリアッテ」アプリのリニューアルの一つとして会員登録フローを実装し直しました。Facebook、メルカリ連携など色々な機能が登場し複雑なフローに変更した上で、仕様の調整も頻繁に行われ、柔軟な設計と実装手法が求められていました。 本トークにはその問題を解決するために状態管理技術のステートマシン(オートマトン)を活かし、柔軟性の高い且つテストしやすい実装をどのように実現したかの話を紹介します。 デモ:https://github.com/orakaro/MonadicMealyMachine
※この説明では関数型プログラミングの部分について触れていませんが、Rxへの入門の準備という目的をややこしくしてしまうと思ったので省いています。 (私はObservable Streamを外部状態に依存しない書き方で使うことで安定して綺麗なコードを書ける、みたいな理解の仕方をしています) 実装例 長々と個人的な解釈を書き連ねてきたので、この辺で実際のコードに落とし込んでみたいと思います。 ここではマークダウンエディタを実装している想定で、ユーザーのキーボード入力イベントから、`(逆クォート記号)で囲まれた文字列を spanタグで囲んだhtml文字列に変換するような処理を実装します。 ただし、変換したhtml文字列をその度に描画していると描画コストが掛かり過ぎてしまうという想定で、 500ms毎に最新のhtml文字列を検出したいという仕様があるとしました。 準備 まず、ユーザーのキーボード入力
Slides: https://github.com/mattpodwysocki/jsconfbp-2015 http://jsconfbp.com/#mattpodwysocki What’s does a mouse drag event have in common with an Array of numbers? The answer to this question may surprise you: they are both collections. This key insight holds the key to dramatically simplifying asynchronous programming in JavaScript. In this talk you will learn how you can use the familiar J
歌舞伎座techのRxJSの内部処理を追ったスライドです。Hot/Coldのお話とか。Read less
2. @neuecc - Who, Where, When 2009/04 linq.js – LINQ to Objects for JavaScript https://linqjs.codeplex.com/ この頃からずっとLINQを追いかけてる 2009/09/04 最初のRx記事、以降現在まで70以上は書いてる http://neue.cc/category/programming/rx/ 2011/04~ Microsoft MVP for .NET(C#) 野良C#エヴァンジェリスト(現在も継続中) 3. @Work, @LINQ 2012/10~ 株式会社グラニ 取締役CTO 「神獄のヴァルハラゲート」「モンスターハンターロアオブカード」 サーバー/クライアント共に「最先端 C# 技術を使った」ゲーム開発 C# 5.0 + .NET Framework 4.5 + ASP
更新情報 UTC+9:00, 2015/03/29, 3:30くらいに、サンプルコードとかロジックの説明とかを修正した UTC+9:00, 2015/03/29, 14:30くらいに、gistにした(エラッタの修正履歴を残すため)
RxJS4についての記事だったんですが、古くなってしまったので、RxJS5で始めるRx入門 - Qiitaという記事に書き直しました。今後はそちらをご覧ください。 最近RxJSやRxJavaやり始めたばかりの入門者です。間違ってる事書いてたりしてたら是非とも突っ込みを入れてください。あと、RxJSとは何かがわかりにくかったりイメージがつかみにくければ、お気軽にコメントください。 今北産業 非同期処理やイベント処理を簡単に書ける エラー及び終了をうまくハンドリングできる 関数型のコレクションライブラリみたいなもの RxJSの在処 https://github.com/Reactive-Extensions/RxJS https://raw.githubusercontent.com/Reactive-Extensions/RxJS/master/dist/rx.all.js Rxとは何? R
UniRxについての記事のまとめはこちら RxのIObservable<T>にはHot/Coldという大きな2つの特徴があります。 これら性質を理解しないままストリームを設計すると、意図した動作をしてくれない場合があります。 今回はこのHot/Coldの性質について簡単にまとめたいと思います。 概要 一言で言うと? Cold : ストリームの前後をつなぐだけのパイプ。単体では意味が無い。だいたいのオペレータはこっち。 Hot : ストリームから値を発行し続ける蛇口。常に垂れ流し。後ろにパイプがたくさん接続できる。 細かく説明すると Cold Observable 自発的に何もしない受動的なObservable Observerが登録されて(Subscribeされて)初めて仕事を始める ストリームの前後をただつなぐだけ。ストリームを枝分かれさせる機能は無い。 Hot Observable 自
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く