10月 142012
 

express-resourceを使って効率よくREST APIを実装できるようにするためのexprestというnodeパッケージをNPMで公開してみた。と言っても、リリースしたのは2ヶ月も前の話。使い方などはREADME.mdに英語で書いておいたが、英語が苦手な人のために日本語の対訳を書いておこう。

Continue reading »

6月 172012
 

MVCアプリケーションを作る際、コントローラ(C)とビュー(V)は前回紹介したexpress-resourceが面倒を見てくれる。REST APIの場合はビューと呼ぶほどのものではないが、APIの出力形式をXML、JSONと複数対応するにはコンテントネゴシエーションが強力なビュー機能を提供してくれると言える。

さて、今回はモデル(M)に相当する部分を作る際に欠かせないSequelizeを紹介しよう。 Sequelizeを使うと、DBのスキーマやデータを、node.jsアプリケーション内でJavaScriptオブジェクトとして扱えるようになる。いわゆるO/Rマッパーを実現してくれる。MySQL、SQLite、 PostgreSQLと主なオープンソースのRDBMSはサポートされており、RDBMS毎に微妙に異なるSQLの方言などを吸収してくれるので、仮に開発過程でRDBMSを乗り換えることがあったとしても、アプリ側のコードに大掛かりな修正が生じなくて済む。

Continue reading »

6月 102012
 

「node.jsを使って簡単にWebアプリが作れる!」みたいな記事で紹介されているサンプルコードは、だいたいそのまま使いものにならないことが多い。実際のアプリ開発では、いろいろなモジュールをNPMでインストールして、ソースコードツリーの階層なんかにも気を配ったりするものだ。DBへのアクセスも一元化して、O/Rマッパーも使えるようにしたい。国際化対応も考えなければならない。デバッガも必要だ。アプリを作りながら後付していくのもいいが、最初の段階である程度は固めておきたいと思う人も多いだろう。

すべてを一気に紹介すると相当長くなりそうなので、今回はREST APIを作る上で欠かせないexpressとexpress-resourceに焦点を当てる。node.jsとNPMをまだインストールしていなかったらnvmでインストールしておこう。

Continue reading »

1月 052012
 

node.jsはソースコードに加えて、Windows版、Mac版のインストーラが用意されているが、なにせnode.jsは今のなお開発進行形で頻繁にバージョンアップがされており、その都度アンインストール/再インストールするのは非常に面倒だ。node.jsはRubyの影響を強く受けているのか、RVM(Ruby Version Manager)と同じようなNVM(Node Version Manager)というバージョン管理システムが用意されている。開発環境としてはNVMを利用してnode.jsを自動インストールする方が便利だ。

Continue reading »