ポートフォリオをリニューアルしました

2016年5月にポートフォリオをリニューアルしましたので, 利用している技術などを簡単に紹介します. ソースコードは MIT ライセンスで GitHub 上で公開しています.

“ポートフォリオをリニューアルしました” の続きを読む

socket.io-client で HTTP ヘッダーを設定する

Socket.IO を利用する際に, HTTP ヘッダーに認証トークンや Cookie を設定したいというケースがあります. 従来 HTTP ヘッダーを Socket.IO で設定することは難しいとされていましたが, socket.io-client 1.4 以降では extraHeaders を用いて設定できるようになっています.

“socket.io-client で HTTP ヘッダーを設定する” の続きを読む

ECMAScript 6 でジェネレータを作ったり、遅延評価してみる

Ruby の Enumerator でジェネレータを作ったり、遅延評価してみる」や「Python でジェネレータを作ったり、遅延評価してみる」の記事を ECMAScript 6 のジェネレータを使って記述するとどのようになるのか, 実際に試してみました.

“ECMAScript 6 でジェネレータを作ったり、遅延評価してみる” の続きを読む

Application Developer Festival 2015 バグフィックスチャレンジ フロントエンド問題 解答・解説

この記事は Application Developer Festival 2015 内で行われたバグフィックスチャレンジのフロントエンド問題の解答・解説記事です. この問題は私が作成し, 採点を行ったものです.
“Application Developer Festival 2015 バグフィックスチャレンジ フロントエンド問題 解答・解説” の続きを読む

JavaScriptのArray.sortは安定であるとは限らない

Chromeでのデバッグ中に気づいたことですが, JavaScriptのArray.sortは安定ソートであるとは限らないようです.

Array.sort – JavaScript | MDNによると

一部の JavaScript の実装では、a と b が等しい場合にそれらの添字の部分的な順序を変えない安定ソートが実装されています。もしソートする前の時点で a の添字が b のより小さいなら、ソートによって a と b がどう移動しようとも、ソートした後もそのままになるのです。

SpiderMonkey と Gecko 1.9 以降のすべての Mozilla ベースのブラウザでは、ソートは安定ソートになっています (バグ 224128 を参照)。

となっているので, Firefox 3.0以上なら安定ソートとなっているようです.