モロモロ工事中です

node.jsとMySQLで割と普通のデータベースウェブアプリを作ってみるチュートリアル

未分類 — さくら @ 2011/01/17 0:52

2011年はサーバサイド JavaScript の年!
サーバサイド JavaScript の本命は node.js!

node.js

ということで割と普通のウェブアプリケーションを node.js で作るためのチュートリアルを書いてみました。WebSocket とか新しめの話題は結構見ますが、PHP とかで普通のウェブアプリ作ってる人向けのチュートリアルとかあんま見ないような気がしたので、って感じです。

チュートリアルの内容ですが、コード量が少なめで機能的にも分かりやすそうなモノということで、短縮 URL ウェブアプリケーションを作ってみることにしました。bit.ly とか t.co とか nico.ms みたいなアレです。短縮 URL のデータは MySQL に保存します。

結構長文になっちゃったので、先に目次置いときます。

  1. node.js のインストール
  2. npm (Node Package Manager) のインストール
  3. express フレームワークの簡単な使い方
  4. ejs テンプレートエンジンを express フレームワークで使う方法
  5. node.js 用 MySQL モジュールの使用例
  6. 自作モジュールの作成例

チュートリアルを一通り試せば簡単なウェブアプリなら作れるようになるかもしんないので、お暇な方はどうぞ。

あとチュートリアルで作ったソースを固めた ZIP も置いときますので、ソース見た方がはえーって人は ZIP からどうぞ。

nodejs-urlshortener.zip

(2011/1/18 21:20)ちろっと正規表現が変だったようで一ヶ所直して ZIP をうpり直しました。
× /^\/([0-9A-Z]{5,}$)$/
○ /^\/([0-9A-Z]{5,})$/
修正前の正規表現でもちゃんと動いてるので機能的にバグってる訳ではないようですが、Typo ですし $)$ は変な感じです(*´・ω・)(・ω・`*)ネー

node.js のインストール

とりあえず node.js が無ければ話が始まらないのでとっととインスコしていきます。

node.js のアーカイブは公式サイトダウンロードから配布されています。2011年1月10日時点では安定版としてバージョン 0.2.6、開発版としてバージョン 0.3.4 のアーカイブが配布されています。

今んところ開発中の機能が使いたい訳でも無いので安定版をインストールすることにしました。開発版を使う場合はアーカイブのソースを使うよりも、github の node.js のリポジトリからソースを持ってきた方が良いと思います。

node.js が動く環境ですが公式サイトによると Linux、Macintosh、Solaris でテストされているということです。また Windows/Cygwin、FreeBSD、OpenBSD でもだいたい動くとのことです。

さくらの VPS の CentOS と MacBook にインスコしてみたのですが、どちらもインストール作業自体はあっさり簡単に終わりました。インストールする前に必要になるライブラリとかが若干違いますので OS 別にインストール方法を説明します。

CentOS の場合

CentOS の場合、node.js をインストールする前に OpenSSL と Python が必要になります。Python を yum 以外の方法でインストールする場合はバージョン 2.4 以降をインストールしてください。

$ yum install openssl-devel
$ yum install python

OpenSSL と Python がインストールできたら ビルド方法の説明 に従って node.js をインストールします。make install は root で実行してください。

$ tar xvzf node-v0.2.6.tar.gz
$ cd node-v0.2.6
$ ./configure
$ make
$ sudo make install

ビルド/インストールはすぐ終わると思います。

インストールが完了すると /usr/local/bin/node に node.js のバイナリがインストールされます。インストール先を変更したい場合は configure 実行時に –prefix=DIR オプションを指定してください。その他のビルド/インストールオプションについては、configure –help で参照してください。

Mac OS X の場合

Mac OS X の場合、コンパイルするのに GNU C コンパイラ (GCC) が必要になります。GCC は Xcode からインスト