2013-01-01から1年間の記事一覧

引数にオブジェクト(ハッシュ)を想定していて、想定していない型の値を渡してもエラーが投げられないこともある。

function F (opt) { this.a = opt.a } function test (opt) { try { console.log(new F(opt)) } catch (err) { return console.error(err) } } test() // [TypeError: Cannot read property 'a' of undefined] test(null) // [TypeError: Cannot read proper…

filed使うとスタティックファイルを送るサーバが簡単に準備できるのでいいですね

※ 追記しました (2013.09.01)WebWorker とか HTML5のFile API のテストをしたいときに使いますhttps://github.com/ishiduca/node-static-server $ npm install https://github.com/ishiduca/node-static-server/tarball/master -gすると `static-server` コ…

new (stream.Transform) してみた

夏コミが終わったので、node.js のバージョンを v0.10.15 にした。 ので、Stream2 を使えるようになりました。 なので、早速(というか今更)Stream2 を触り始めてる stream.Transform stream.Readable と stream.Writable は Stream1 からあるので(API変わ…

console.logの出力結果のテストってどうやってるんだろう?

実際にはテストしやすいように出力する部分と出力する内容を分離すればいいんだけど、直接出力する場合ってどうやってるんだろうか? var QUnit = require('path/to/qunit-helper').QUnit; var response = {}; response.log = function log () { console.log…

FizzBuzz問題をstreamで解く

動機的なもの 別に Stream である必要はないんだけど、Nodejs でデータを扱うなら Stream を通したいですよね! pipe 使いたいですよね!! (countStream).pipe(fizzBuzzStream).pipe(process.stdout); コード的には上記のように書きたいので、とりあえず機…

ReadableStreamのpipeの挙動をテストする

先日の TDDBC1.0 の写経お題「FizzBuzz」でしたが、JSer(というか NodeJSer)なら Stream 実装するのも1つのやり方だと思います。readableなStreamで「1, 2, Fizz, ...」というデータを流して、writableなStream(例えば、process.stdout)で表示させる、…

TDD Boot Camp 長岡 1.0 に行ってきました #tddbc

関連リンク TDD Boot Camp 長岡 1.0 TDD Boot Camp(TDDBC) - TDDBC長岡1.0/演習 step by step: TDD Boot Camp 長岡 1.0に参加してきました! #tddbc 主催者の @masaru_b_clさん。講師 @t_wada さん。ならびに TA、参加者、スタッフの皆さんお疲れ様でした。…

クライアント・サーバーでバリデーションの仕組みを共有したい

https://github.com/ishiduca/js-valid サーバーとクライアントの両方で同じバリデータとスキーマを使いたい 型チェックは既存のライブラリ(お好みの)に任せたほうが楽(な気がする) 例えば、undersocore.js のようなサーバーからもクライアントからも同…

オブジェクトのキー(プロパティ名)に関数

知らなかったんだけど、常識なんですか? var dbl = function (n) { return n * n; }; var o = {}; o[dbl] = 2; console.log(dbl(o[dbl])); // 4 追記 @ishiduca それって関数(に限った話じゃなくオブジェクト全般もそうですが)、単にstringifyされてるだけ…

Niigata.LL で JSでTDDをどう実践しているのか をトークしました

Niigata.LL ATND NiigataLL by dictav ポータルサイト ポータルサイトの方を見てもらうとわかりますが、VBAとかPowerShellとかもあって面白かったし、飛び入りで来てトークしてくれた方もいて面白かったし、PHPを話す人が居なかったのはなにか陰謀があったん…

モジュール側(呼び出し先)から実行スクリプト(呼び出し元)のディレクトリのパスを獲得する

こういうのを ./app.js var path = require('path'); var waf = require('w-a-f'); var wf = waf(); wf.use(require( __dirname + '/middleware/warn' )()) .use(require( __dirname + '/middleware/nyan' )()) .use(require( __dirname + '/middleware/guu'…