「AWS無料相談会」をオンラインで開催中

TypeScript

RxJSを使って非同期なレスポンスをリクエストした順に結合する話

RxJSは非同期処理を高度に抽象化するので、煩雑な手続きをシンプルに書ける場面が多く、その辺にRxJSのユーザがこのライブラリにのめり込んでいく要因があるように思います。 一方、実地で使っていないとこういったメリットは、説明されてもピンとこないということがあるかも知れません。 そこで本稿では、実際に遭遇した『RxJSを使っていたから楽だった』コードをベースに、RxJSのメリットを紹介したいと思いま […]

TypeScriptで使えるMaybeモナドライブラリの比較

小飼です。 TypeScriptの2系が正式に公開されました。 多数の機能追加・改善がありましたが、中でも目玉の一つはstrictNullChecksではないでしょうか。 今まで曖昧だった、『ある型がnull/undefinedを取り得るか?』ということを、型レベルで厳密に検査・検出することができるようになる機能です。 実行時エラーになるバグの多くが、不用意なundefined/nullへのアクセ […]

RxJSを用いた実装パターンの実例まとめ(後編)

小飼です。 前回に引き続き、RxJSのコード実例を紹介します。 ドラッグストリームの作成 onmousedown・onmouseup・onmousemoveイベントから作ったストリームをより合わせて、 『マウスドラッグ』というストリームを作成します。 こういった『既存のDOMイベントを混ぜ合わせて新しいストリームを作る』ようなことは、Rxの最も得意とする領域だと思います。 const { merg […]

RxJSを用いた実装パターンの実例まとめ(前編)

小飼です。 今夏弊社では、クライアントサイドでの状態遷移・保持にReactiveProgrammingの考え方を用いたアプリケーションを制作していました。 その過程で見つけた、いくつかの実際的なストリーム作りのパターンをまとめておきます。 ReactiveProgrammingの(考え方を含めた)入門記事や、パラダイムの骨子を詳細に解説した記事は沢山あると思うのですが、実際のアプリケーションでどう […]

Flowtypeに入門してJavaScriptコードで静的型付けの恩恵をうけるところまで

ハウス・オブ・カードで寝不足の小飼です。 どうなるんですか、あのアレは... さて、最近個人的にGolangでアプリケーションを作ったり、Haskellを勉強したりしています。 いずれも静的型付けにより、実行前に型エラーを検出可能な言語です。 私は普段、動的型付け言語であるJavaScriptを主に書いていますので、初めこそビルド時のエラーにヤキモキしたりしましたが、慣れてくると非常に快適に感じる […]