
288
12 章 データの配信
d3.select('div#data pre')
.html(JSON.stringify(data, null, 4));
});
};
次の関数呼び出しはオーストラリアの受賞者全員を選択し、図
12-6
を作成します。■
loadCountryWinnersJSON('Australia');
■
国別の受賞者を選択することができればデータ量を抑えることができますが、年別や男女別の受
賞者が必要だったらどうなるでしょうか。次元(カテゴリや時間など)ごとに分割するにはそれぞ
れ独自にサブディレクトリが必要になり、ファイルが散乱し、それに伴う管理作業が発生します。
データをきめ細かく要求したいときはどうするのでしょうか(例えば、
2000
年以降の米国の受賞
者全員を選択したいときなど)。この時点で、通常はユーザインタラクションによるこのような要
求に動的に応答できるデータサーバが必要です。次の節では、
Flask
でこのようなサーバを構築す
る方法を示します。
12.3
Flask
での動的データ
静的なデータ配信は前述の理由からそれなりの存在意義があり、小規模なデモやプロトタイプに
最適です。しかし、柔軟性がないので、必要となるすべてのデータ変形を事前に行いファイルを作
成します。データへのユーザアクセスを制御する認証とセッション管理も、静的ファイルでは面
倒です。ある人に対するあるデータを制限したければ、
API
呼び出しを使った方が便利でしょう。
データのサイズやスコープが変わったら、