yo_waka's blog

418 I'm a teapot

nodejs

Nginx1.3でWebsocketをリバースプロキシするメモ

Nginx1.3(2013/04/10時点では開発版)からWebsocketのリバースプロキシを通せるようになったということで、Socket.IOへリバースプロキシさせようとしたけどけどなかなか上手くいかなくて、ようやく上手く動いたのでメモっておく。 Nginxのバージョンは1.3.1…

bowlというNode.jsのcluster管理モジュールを作った

cluster周りのコードを書いていて、ワーカー周りの死活監視やエラー処理などいつも同じようなこと書いてるのでモジュール化してみました。 bowl GitHubにソースコードもあげてあります。 安心のテストコード付き! waka/node-bowl できること コマンドライン…

Node.jsアプリで結果が非同期になる箇所はコールバックを渡せるようにした方がいい

既存のNodeアプリのテストを書いていて思ったことをメモ。 書いてるうちに別にNode.jsに限った話じゃなくて、JavaScript全般に言える話じゃんと思ったけどまいっか。 Node.jsで書くアプリは中の処理で非同期API使われてると、テストを書くのがとても難しいと…

Node.jsのcluster.disconnectの挙動とGracefulリスタート

clusterモジュールを使ってサーバアプリ管理ツールを作ってるのだけど、cluster.disconnectのコールバックが実行されてもワーカープロセスが死なないことがある。 Chromeでサーバにアクセスすると、cluster.disconnectしてもワーカーの'exit'イベントが発火…

オレオレCoffeeScriptを作ろう

若干遅いですが、あけましておめでとうございます。 今年もこっそり! 昨年からcoffee-scriptが流行り出しましたね! coffee-scriptってもう現場でも使われ始めてるのかな? Railsな人たちは使ってるんだろうけど、JavaScriptでアプリ書いちゃうようなゴリゴ…

Node塾その2(connectソースコードリーディング)に行ってきた

昨日開催されたNode塾その2でconnectのソースコードリーディングをしてきました。connectの中身を見るのは初めてだったのですが、id:scalar さん(@hakobera さん)の説明がとても丁寧で理解も進み、後半はひたすらミドルウェアのソースを読んでました。※バー…

最近のJavaScriptモジュールの書き方

サーバサイド(特にNode.js)とクライアントサイド両方で動かしたいものは最近はこんな感じで書いている。 CommonJSのwiki見ててそこに紹介されてるソースコードで(どれだったか忘れたけど。。)やってたのを見ていいなーと思って真似っこした。 (function(…