小飼です。 今夏弊社では、クライアントサイドでの状態遷移・保持にReactiveProgrammingの考え方を用いたアプリケーションを制作していました。 その過程で見つけた、いくつかの実際的なストリーム作りのパターンをまとめておきます。 ReactiveProgrammingの(考え方を含めた)入門記事や、パラダイムの骨子を詳細に解説した記事は沢山あると思うのですが、実際のアプリケーションでどう […]
概要 プロジェクトでRxJSを使う機会があった。だいぶ前に入門しようとして挫折したが、改めてやってみて感じたことを書こうと思う。 Observable Stream? RxJSでは、監視可能なイベントをObservable Streamとよんでいる。これはNode.jsのStreamのようなもので、データを一気に処理するのではなく、細切れの単位で読み取ることのできるもの、と理解している。そのため、 […]
小飼です。LINEのプログラミング言語マスコットスタンプを濫用しています。 以前このブログでも触れましたが、現在弊社ではRxJSを本格的に活用してクライアントサイドアプリケーションを作成しています。 RxJSのクライアントサイドにおける有用性は、UIイベントの世界でコードを構築する側としては比較的すんなりと理解しやすいですが、 サーバーサイドやマネジメントレイヤーのメンバーなど、チーム内の別のポジ […]
小飼です。 『The Next Great Burger』にハマっています。 RxJS、使っていますか? 弊社では現在開発しているアプリケーションから、本格的にRxJSを導入して使い込んでいっています。 イベントを配列のように操作できるという高度な抽象化の恩恵で、非常にリーダブルかつ簡潔に機能実装が出来るところが非常に良いですね。 学び始めた当初はReactive Programming的な考え方 […]
概要 現在、NativeScriptでハイブリッドアプリの開発をしている。 以前にも書いたが、NativeScriptが他のハイブリッドアプリフレームワークと異なる点は、WebViewを使わずにネイティブのAPIを使えるところにある。初物というのもあるが、NativeScript自体が絶賛開発中なので、いろいろとハマる時は多い。そんなときにどのような対応をしているかをまとめてみる。 使用している技 […]
高いところがダメな小飼です。再来週飛行機に乗ります。 さて、先日Angular1.x系のSPAにユニットテストを導入した話で、作成中のコンポーネントだけをブラウザに描画して、TDDっぽく開発を進めていく手法について触れました。 今回はその具体的な手法について触れたいと思います。 (あまり類似の記事を見たことがないのですが、もしかしたら記事にするまでもないことだったりして...) ヘッドレスなテスト […]
概要 ハイブリッドアプリで採用するフレームワーク・アーキテクチャの選定をするため、調べたことをまとめます。 ハイブリッドアプリとは? ハイブリッドアプリとは、ネイティブコード以外を使って作られたアプリです。今回は、JavaScriptを使用したハイブリッドアプリを想定しています。 ハイブリッドアプリは、基本的にWebViewというネイティブコンポーネントを使って、Webの技術をネイティブに組み込む […]
ハウス・オブ・カードで寝不足の小飼です。 どうなるんですか、あのアレは... さて、最近個人的にGolangでアプリケーションを作ったり、Haskellを勉強したりしています。 いずれも静的型付けにより、実行前に型エラーを検出可能な言語です。 私は普段、動的型付け言語であるJavaScriptを主に書いていますので、初めこそビルド時のエラーにヤキモキしたりしましたが、慣れてくると非常に快適に感じる […]
最近Haskellに入信した小飼です。全然わからなくて最高です。 さて、先日弊社公式サイトのアクセスログを見ていた所、angularjs 請負という検索ワードでの流入がありました。 弊社では、この一年ですっかり主流となった観のある仮想DOMライブラリによるアプリケーション構築の他に、AngularJS/Vue.jsなどのMV*フレームワークによるアプリケーション構築も手掛けています。 ※その際に得 […]
概要 筆者はフロントエンドエンジニアとして3月に入社し、現在は主にJavaScriptを書いている。今回は、反省と、今後やりたいことなど、2015年の振り返りをメモしようと思う。 技術的なこと やったこと AngularJS、React、Webpack、Gulp、ES2015、Vue.js、Protractor、Karma、Jasmine、Mocha、API Gateway+Lambda、Ioni […]