gist

2012年1月8日日曜日

Mac(Lion) にNodeをインストールする

Nodeは、JavaScriptでネットワークアプリケーションを構築できるプラットフォームです。一番の売りは、大量のアクセスにも高速、少量のメモリで応答できることだと思います。

これはNodeがノンブロッキングI/Oモデルを採用しているためです。ネットワークのI/O処理は基本的に同期処理(ブロッキング)になりますが、ノンブロッキング処理では裏でI/O処理を進みます。I/O処理の完了を待たずに次の処理に進み、I/O処理が完了した時点でイベントで知らせてくれます。プラットフォーム自体も十分高速ですが、Nodeの仕組みを理解することで、見かけ上の処理も早く感じさせることも可能となります。

またHTML5のWebSocket APIと連携すると、リアルタイムなサービスを構築することも可能です。例えば、何百人もがアクセスしてる資料を同時に編集したり、誰かがカメラで撮影した瞬間にウェブサイトに写真が表示されたり、といった処理をほんの数十行で実装できます。

mongodbなどのNoSQLとも相性がよく、クラスタ化も可能です。Nodeは、DB層も含めサーバサイドのアーキテクチャに一石を投じています。今後ウェブ開発者にとって欠かせない技術になると思います。

このエントリーでは、MacBookAir(Lion)にNode0.6.7(2012/1/8現在)をインストールしてみます。

1. Nodeをダウンロードする

http://nodejs.org/にアクセスして、node-v0.6.7.pkgをダウンロードします。

2. Nodeをインストールする

3.ターミナルでバージョンを確認する

$ node -v
0.6.7

4. HelloWorldウェブアプリを作成する

hello.js

var http = require('http');
http.createServer(function(req, res){
    res.writeHead(200, {'Content-Type':'text/plain'});
    res.end('Hello world!');
}).listen(1337,'127.0.0.1');
console.log('Server running at http://127.0.0.1:1337');

5. サーバを実行する

$ node hello.js
Server running at http://127.0.0.1:1337

6. ブラウザでアクセスして動作を確認する

SafariやChromeなどで http://127.0.0.1:1337/ にアクセスします。

サーバを停止するには、ターミナルでキーボードのControl+Cを押します。

Nodeの日本ユーザ会にはチュートリアルなどのドキュメントが豊富に揃っています。

0 件のコメント: