Hapi.jsのREST APIが一通り動くようになったので次はHapi.jsにSocket.IOサーバーを作成してみます。Using hapi.js with Socket.ioにとても良いSocket.IOの解説があります。著者のMatt Harrison氏はManningでHapi.js in ActionをMEAPで執筆中です。ブログが非常にわかりやすいので著書も期待できます。
Hapi.jsでHappy Coding - Part3: プラグインをつくる
MongoDBへのCRUD操作とSwagger UIからAPIをテストするプロジェクトをHapi.jsで作成しました。app.jsのRouteの処理が長くなったので、別ファイルに移動しようと思います。Hapi.jsではPluginsの仕組みで機能拡張ができます。Swaggerのインタフェースを提供するhapi-swaggerはnpmからパッケージをインストールしましたが、プラグインはアプリ内にも簡単に作ることができるのでRoute処理をプラグインにリファクタリングします。
Hapi.jsでHappy Coding - Part2: MongoDBとSwaggerのCRUD
前回に続いてBuild RESTful API Using Node and Hapiのチュートリアルを読みながらMongoDBを使ったCRUDの実装を勉強していきます。リポジトリはこちらにpushしています。
Hapi.jsでHappy Coding - Part1: ルーティングとSwaggerプラグイン
Node.jsでREST APIを作成するフレームワークを調べていますがHapi.jsが良い感じです。いくつかチュートリアルで基本的な操作を勉強していきます。プラグインで機能を拡張することができるためベースはとても小さくできています。Swaggerのプラグインがあったので使ってみます。ただしLoopBackと違いメタデータを自分で定義する必要があります。
Elixir on Dockerで関数型言語をはじめよう - Part2: 関数の実行
前回はiExのインタラクティブシェルに実行しました。はじめてRubyでコードを書いたときのような楽しさがあります。次はファイルに書いたモジュールをコンパイルして実行してみます。またEmacsのelixir-modeをインストールして開発環境を整備していきます。
Node.js LoopBack on Docker - Part3: MongoDB connector
去年MBaaSのバックエンドの調査で少しLoopBackを使ってからしばらく触ってませんでした。今回は一般的なREST APIを公開するプロダクション環境用のフレームワークとして調査しています。alternativesにはExpress、restify、 Hapi.js、Koa、actionhero.jsといったフレームワークがあります。LoopBackの良い点はモデルを定義するだけでREST APIを公開できる手軽さにあります。他と比べて圧倒的に書くコード数が少ないです。Hapi.jsなどの軽量フレームワークより依存するライブラリが多くサイズも大きくなりますが、メリットは大きいです。
Cloud9をIDCFクラウドで使う - Part1: Docker Composeでインストール
Introducing Nitrous ProにあるようにすでにNitrous.IO Proに移行しています。暫定的に旧環境もLiteとして使えていますが、2015-07-01には終了します。Nitours Proのアカウントも作成しましたがfreeアカウントだと1日2時間しか使えません。そろそろ移行先を考えないといけません。
Elixir on Dockerで関数型言語をはじめよう - Part1: iExと文字列
先月ManningからElixir in Actionが出版されました。MEAPから積ん読だったのでそろそろ読み始めようと思います。最近はPhoenixというWebフレームワークも人気が出ています。Erlangがすっと入ってこなかったところと、Rubyで嫌いなところが、Elixirならメインの開発言語として使えるのか楽しみです。Elixirはドキュメントサイトが充実していて読みやすいです。まずはGetting StartedからIntroductionが動く環境を用意します。
Node.jsのagendaでジョブをスケジュールする - Part1: ジョブのCRUD
前回リストしたNode.jsのJobqueueとSccheduleツールからスケジュール型ジョブ管理ツールのagendaを使ってみます。別途REST APIを用意してインタフェースする予定なのでジョブの基本的なCRUDを試してみます。agendaはジョブ管理のバックエンドにMongoDBを使います。
Node.jsで使うJobQueueとcron型Scheduleのリソース
Railsの本番環境でここ数年止まることなく安定してResqueとRakeのワーカーが動いているので満足しています。今はNode.jsで書きたいのでいわゆるJobQueueとかcronタイプのschedulerとか調べています。バックエンドにRedisは便利なのですがMongoDBの方が良いのかなと思います。MongoDBも小さく使う分には雑に扱っても安定している印象です。