コポォで繋ぐみんなの輪 〜 あるいはnode.jsによるWebサービス開発について
近年で最も頭の悪いサービスを作ってみました。
もとは夏の自由研究発表会というイベントで発表するために作ったのですが、せっかく公開したのでこのままサービス自体は上記のURLでしばらく公開し続けます。
さて、発表会では散々ふざけたのでこのブログでは真面目な話だけします。 馬鹿なサービスではありますが、そこそこ新しい技術を使っていてしかもコード量的にもそれほど大きな規模ではないので実装を解説することは教材として有益な情報ではないかと思います。
このサービスではざっとこんな感じのものを使用しています。
express(Webフレームワーク)
サーバーサイドのコードは全てNode.jsで書いてます。いつもならClojureを使って書くところなんですが、目的が自由研究ということもあったので、使ったことのないNode.jsをサーバーサイドに採用しました。 Webフレームワークにはexpressを使用していて、今回のWebサーバはexpress上で動いています。
jade(HTMLテンプレートエンジン)
これといって特に理由はありませんが、テンプレートエンジンにはjadeを採用しました。ネットで調べてたら使ってる人が多そうだったので。
MongoDB
データベースにはMongoDBを採用しました。ナウいですね。
mongoose
node.js用のmongodbライブラリ
ntwitter(Twitter API ライブラリ)
node.js用のtwitter APIライブラリ
OAuth
everyauthとか使うと楽そうだったけど、直接実装してみました。
デプロイについて少し
supervisor
supervisorを使うとデプロイが楽になります。どんなことをやってくれるかというと
- 常にファイルを監視し続けてて、ファイルが変更されたら自動で再ロード
- プロセスが落ちたら自動で再起動
今回は生JSで書きましたが、coffeeを自動でjsに変換してロードしてくれる機能とかもあるようです。
生きとし生けるものにコポォあらんことを。