静岡Developers勉強会 Node.js ハンズオン 資料

2012 年 6 月 30 日(土) の 静岡Developers勉強会 node.js ハンズオン( http://atnd.org/events/28937 )のための資料です。

動かない、といった連絡やコメント等ありましたら、なんらかの方法できしもとまで、あるいは googlegroups の shizu-dev のほうにお願いします。

Windows のかたは、ishisaka さんのこちらの記事 http://opcdiary.net/?p=6236 を参考に、node.js をインストールしてください。PATH 環境変数の反映を確実にするために Windows を再起動したほうがいいかもしれません。

また、PATH 環境変数で設定されたパスの最後に \ が付いているとまずいことがあるようです( http://opcdiary.net/?p=6796 を参照。なお、私の Windows XP では確認できませんでした)もしおかしいようでしたらそちらの修正をしてみてください。

配布ファイル

解説

配布しているプログラム内では、アクセス制限等を行っていませんので、常時走らせたりしないようお願いします。

zip ファイルを展開すると、以下の 2 個のディレクトリ(フォルダ)が作られます。

ディレクトリ preparation

ディレクトリ preparation の中が、当日までに予習として確認をお願いしたい内容になっています。cd コマンドで cd preparation のようにしてカレントディレクトリを移動して、コマンドラインから node server.js のように実行してサーバを起動してから、同じマシンのウェブブラウザから http://localhost:38286/hello.html にアクセスして hello, world とページ内に表示されれば、正常に動作しています。

http サーバとしては Jxck さんによる、 https://github.com/Jxck/node-blog-sample にあるものを参考に実装したものを server.js 内に直接書いてあります。WebSocket ライブラリとしては Einar Otto Stangvik さんの ws ( https://github.com/einaros/ws )を使用しており、npm でディレクトリ node_modules 以下にインストールしてあります。

もし動作しない等の場合、動作確認には node_modules/ws/bin/wscat にある( node_modules/.bin/wscat というシンボリックリンクもあります)、wscat というコマンドが便利かもしれません。

違う WebSocket ライブラリを使いたい等の場合には、適宜書き換えて、動作するか確認しておいてください。

ディレクトリ demo

ディレクトリ demo の中が、当日解説する予定のデモプログラムです。同様にサーバ・クライアントという構成になっています。

あまり色々な環境では動作確認しておらず、少々不安なので、できればこちらも動作確認だけはお願いしたいと思います。

preparation と同じように node server.js でサーバを起動してください。ブラウザでアクセスする URL は http://localhost:38286/demo.html になります。

http://metanest.jp/demo/demo.html にあるデモと同じようなものが見えるはずです。ウェブに現在置いてあるものは、タイマーで勝手に動きますが、こちらの WebSocket のデモのほうはウインドウ内でマウスドラッグの操作をすると、ぐりぐり動くという、よくある操作で操作できるようになっています。

(当日解説予定の内容ですが、実は片方は SVG で片方は Canvas で、など、だいぶ中身は別物になっています。また、借りているサーバがさくらの従来サービスのレンタルサーバで、他のユーザと共用のサーバのため、WebSocket を利用した公開サービスはできないのですが、実験的には Haskell で書いたサーバの動作確認もしています)