hirax.net::inside out::2007年12月27日

最新記事(inside out)へ  |   年と月を指定して記事を読む(クリック!)

2007年11月 を読む << 2007年12月 を読む >> 2008年1月 を読む

2007-12-27[n年前へ]

年表形式のinside out::timeline 

 inside out コンテンツを年表形式で眺めることができるページを公開しました。マウスで年表を左へ右へ動かせば、タイムマシンのように過去と未来の間を行き来することができます。こういった「年表」は個人日記用途がもっとも相応しい、のかもしれません。

 SimpleのTimelineで、スクロールイベントに追加したリスナーがサーバからJSONを読み込んで、スクロールに合わせて記事を逐次追加していくという具合になっています。

timeline






「ファミリーレストランで待たされないコツ」と「高速計算プログラミングのコツ」 

 雑学本を読んでいると、「ファミリーレストランでは焼き物・揚げもの・ゆで物といった種別ごとに調理担当者が決まっていて、一つの種類に注文が集中すると一度に何人分も処理できなくて、できあがりが順次遅れていくことになる。だから、ファミレスで早く同時に料理ができあがって欲しい時には、バラバラな種類をオーダーするのがコツだ」というようなことが書かれていた。

 これを読んで、思い出したのは「コンピュータで処理速度を速くしたいときのプログラミングの基本」である。たとえば、計算機の中で、処理がどのように行われるかを考えて、できるだけ効率的に並列化されるようにプログラミングをする。特定のユニットの処理が全体のボトルネックにならないように考える、といった話だ。 ファミレスの厨房の中で働く人たちに流れてくる注文や、計算機の中の色々なユニットに流れてくるさまざまなジョブを、それぞれの役割・機能に応じた処理を行っていく。 どこか一つに仕事が集中すれば、そこの速さで全ての処理速度が決まってしまう。 だから、上手く並列化・分散化するようにJOBを流すように工夫することで、早く料理を食べたり、計算結果を早く得たりする。

 しかし、振り返って考えてみれば、こういった「ファミリーレストランで待たされないコツ」と「高速計算プログラミングのコツ」といったことは、結局どんなことに対しても当てはまるのだろう。 どんなものも、どう中身が動いているかを考えて、上手く動かせば効率化できるに違いない。 もちろん、効率だけを考えるのも、それはそれで少しつまらないかもしれない。 どんなに調理に時間がかかっても、食べたいものは食べたい、と思うこともある。 人気ラーメン屋の前で、何時間も行列に並ぶ人たちがいるように。