ぶれすとつーる

だいたいjavascript

Node

requireの仕組み

こんばんは この記事は Node.js Advent Calender 2014の23日目の記事です。 Node.js Advent Calendar 2014 - Qiita Node.js Advent Calendar 2014 - Qiita 普段node書くとき、何気なく使ってるrequireだけど、どんな風にモジュールが読み込まれてるのかコア…

サーバ側でd3を使って作ったsvgを画像に変換して返す

おはようございます、この記事はd3.js Advent Calendar 2014の21日目の記事です。 d3.js Advent Calendar 2014 - Qiita d3.js Advent Calendar 2014 - Qiita つい先日からd3を使い始めました。 d3のpackage.json読んでたらnode側から使う場合はjsdomを使って…

connect-expiresかいた

response headersにexpires付与してくれるconnect middlewareさがしたらすごく大きなものばっかりでてきてそんなに機能必要じゃなかったのでちょろっとかいた。 connect-expires var expires = require('connect-expires') ; // ...adding some connect midd…

Nodeでホストごとに起動するアプリケーションを分ける

だいたいnodejs-jpのレスに書いたことと同じだけどメモ代わりに。 ピュアな感じで書く とりあえずNodeのピュアなAPIだけでやる まずはサーバをたてる server.js var http = require('http'); http.createServer(function(req, res) { }).listen(3000); ホス…

Nodeのテストを簡単にするCuckooモジュール

untestableなコードを簡単にテスト可能にするモジュール Cuckoo を作りました。以前書いたNodeでプライベートな(exportsされてない)メソッドのテストをパス周りとかmodule周りとかきちんと細かいところまで作ったものです。npmにインストールされてるのでこ…

timer#unrefで効率よくプロセスkillする

作ったアプリケーションが突然のエラーに見舞われることなんてざらにありますね。で、エラーが起きたときはすみやかに、おだやかにそのワーカーをヌッコロしたいわけですがその終了作業中になんらかの処理がビジーな感じになって強制killしなきゃいけないこ…

X-Powered-By:Express

Expressで作ったサイトを動かすとレスポンスヘッダに X-Powered-By:Express こんなのつきます。俺のサイトはNodeだぜ フフンみたいな人はいいんですがいつか脆弱性がみつかったときにしめしめって思われるのもなんだか怖いので消すようにしました。Express3系な…

Nodeのファイルスコープ

NodeのファイルスコープについてJSでスコープを有するものは静的なものでfunction, block、動的スコープではcatch, withとそこそこありますが通常の処理系ではファイルスコープなんてものはないです。でもNodeではファイル内でvarと宣言した変数はrequireし…

大きなPubSub、小さなPubSub。

JavaScriptにおいてもそのほかの言語においても疎結合というのは結構大きなテーマの一つだと思います。そんな疎結合を促す実装としてPubSubがにわかに脚光をあびてますね。 にわかというより定期的に盛り上がってる気がしますが。僕はあまりデザインパターン…

Nodeでプライベートな(exportsされてない)メソッドのテスト

だいたいこの記事のまんまですが大雑把な訳記事だと思ってください。こんなファイル(app.js)があったとする。 //app.js exports.testableMethod = function () { complicatedMethod(untestableMethod); }; var untestableMethod = function (a, b) { return …