Node.js でパラレルダウンロードする時

Node.jsならパラレルダウンロードですよね!※ 先日の NDS25 で LT用に何かと思ったんですけど、何も思いつかなかったんで、今頃ネタ出し。 ※ 今回の NDS25 では初見の方も多かったので、その方たち向けの自己紹介エントリーを兼用してます。 さて、 http.req…

直列setInterval 直列setTimeout の試み

実際には、関数の呼び出しが多すぎるので、精度悪い。使えないという前提で。 タイマー(setInterval か setTimeout)に仕込んだコールバック関数がクリアされた時点で、次のコールバック関数を開始する。 とかそういうの。無理やり関数っぽくしてみた。time…

引数(Arguments)を内部で使われている関数に引き継ぐ、ようなことを考えてる

関数Aの内部で 関数Bを使うようなときに、関数Aの引数をまるごと関数Bの引数に使いたい場合 function funcA () { var res = funcB(arguments); // some codes ... } はできないので function funcA () { var res = sendArgs(funcB, arguments)(); // some co…

num = num + 1 の代わりに

1月2月は除雪でおわりました。(生存報告) - こういうのなんて呼ぶんだろう function myNumber (num) { return function (accessToNum) { if (accessToNum) num = accessToNum(num); return num; }; } 型判断とか端折っちゃったけど、はじめに設定した数…

失敗話

デバッグに window.alert(breakpoint) な手段を使いますが、都度都度アラートが出るのがうざいので、console.log が使える環境では console.log を使いたい。なので function log (str) { if (window.console && console.log) { console.log(str); } else { …

Niigata.pm 忘年会と皆既月食。

昨日は忘年会でした。(プレNiigata.pm 忘年会 2011 : ATND http://atnd.org/events/22272)※ この忘年会がらみのエントリーはこちらに追記していきます。 プレNiigata.pm 2011 忘年会レポート - Nekogata->new->hatenablog() @neko_gata_s さん プレNiigata…

EventEmitter でイベント駆動オブジェクト on Node.js

あんまりいい例を思いつかなかったけど、タイマーを作ってみた。 new Timer でタイマーオブジェクトを作る Timer の プロトタイプオブジェクトにEventEmitterのインスタンスを利用することで、new Timer したオブジェクトはイベント駆動のオブジェクトになる…

配列の畳み込みを利用して合成関数(?)を表現する

手軽に関数型言語を学ぶには js はいいかもしれない。【追記】ここで定義している map と filter だけど、ECMAScript 262 5th editon の アルゴリズムに沿ってないっていう指摘がありました。ECMAの Array#map と Array#filter のアルゴリズム(というか定義…

Array.prototype.slice についての考察(というか妄想)のはなし

関数の引数は、配列っぽいけど配列じゃないため扱いにくいから、配列に直す場合があって function sortedArrayFromArgs () { var slice = Array.prototype.slice; // (1) var args = slice.apply(arguments); // (2) args.sort(function (a, b) { return (a …