BPStudy #39のメモ

11/30の BPStudy #39 に参加した際のメモ。

Node.js入門 - Yohei Sasaki([twitter:@yssk22])さん
exports.hello = function(){
    console.log('hello, world');
}
  • サーバサイドでJavascript
    • IEに縛られない!!
    • クライアント側で問題がある場合ロジックをサーバに移動できる
  • なぜJavascriptか?
    • みんな使ってる
    • ネットワークプログラムを書くのに適している
    • シングルスレッドなのでロックとか気にしなくていい
    • Javascriptそのものがシングルスレッド
    • シングルスレッド!=並行処理できない
      • IOを工夫すればできる
  • Evented I/O
    • 非同期が基本
    • Event Model
var stdin = process.openSTdin();
stdin.on('data',function(chunk){
});
stdin.on('end',function(){
});
  • ライブラリ
    • php
      • Node.jsにはsprintfとかが無い
var php = require('php');
php.sprintf(...);
  • パフォーマンス
    • 同時接続数が増えてもパフォーマンスは落ちない
      • nginx とかと同じような特性
    • リソースを食いつぶすとダメ
  • 質疑応答
    • 100%近くまでCPUを使える
    • 無限ループすると止る
    • npm install jquery, require ('jquery');で使える
    • IO はすべて非同期
    • callbackが呼ばれるのは来た順
    • dataでバッファにためてend イベントで返す
    • メモリ使用量に注意
    • Callbackの入れ子が気になる場合は JsDeffered とか使えばいい
Yappo([twitter:@Yappo])さんの発表
  • YAPC::ASIA 2010 のときの JSTAPd の話と Fukuoka Perl Workshop の時の Ficia の話
    • 両方とも以前に会場および ust で聴いたので特にメモなし
    • Wifiがつながらなくて Ficia のデモ無し
    • Perl Monger は少数で若干アウェーな感じ
    • JavaScriptリグレッションテストは難しいよね