2010年08月20日

日記的なもの

再帰的頭字語の用語は、名前を聞いただけでは意味は分からないけど、意志は伝わるものが多いなぁと思った。

GNUはGNU's Not Unix。YAMLはYAML Ain't a Markup Language。この辺は名前だけで意味は伝わってこないけど、どういうものであろうとするのかという意識は分かると思う。

PNGはもっと分かりやすい。PNG is Not GIFの略だ。時勢的にはGIFがライセンス料を請求し始めた時に作られただけに、より分かりやすい。

ちなみに再帰的頭文字の中にも名が体を表しているものはある。PHP: Hypertext Preprocessor。これは名前を聞いただけでそれが何かが分かる珍しい例だと思う。



最近やっている疲労回復法。

風呂とトイレは電気を消して入る。扉を閉めて暗闇を作って目をつぶって、頭を休めることを意識して入る。

これをやると集中力のもちが良いような気がする。人間、作業をしている時はあまり長時間集中せず、こまめに休息をとると良いと言われているけど、トイレや風呂をそれに当てることで、回避不能な生理的な周期によって休息するタイミングを増やせるというわけだ。

また、周囲の明るさによって休息の効果は変わってくる。光がない状態で目を閉じると、条件反射的に脳が休もうとしてくれるような気がする。



知識にはいくつかの要素がある。ただ「知っている」だけの状態と、アルゴリズムまで含めて「深く理解している」状態。それからそのものを「実際に触ったことがある」という経験。

例えばRDBで検索で速度が出なかった際に「インデックス貼れば速くなる」ということを知っていることは大事だ。それすら知らなければ前に進めない。

ただ「速くなる」ということを知っているだけでは、応用が利かない。「検索してるカラムにとりあえず貼る」という行為でたいていの場合はうまくいくが、データ量が増えた際などに性能が急激に劣化するケースもある。速くなることを知っているだけではEXPLAINしても「ちゃんとインデックス使ってるんだけどなぁ」と首をひねるところで終わってしまう。アルゴリズムも含めて理解していればメモリ使用量の設定など、疑うべきところが見えてくる。

さて、アルゴリズムを知っていれば「この辺が怪しいなぁ」ということは分かる。疑った後はそれを実証するためにコマンドを打ったり設定を確認したりしなければいけない。この辺りは知識だけ持っている人間よりも、体験として実際にそのトラブルを解消したことがある人間の方が強い。

特にDBMSの癖を知っていれば、アルゴリズムを知っているだけでは分からない「こいつはたいていここが怪しい」という経験則から来る解決法を取ることができる。

ということで、何事も深く知り、実際に手を動かして使ってみる。この2つをやっておくに越したことはないと思う。



知り合いから「そういえばあんたはクマが好きだったね」と急に言われた。

「なんで?」と聞いたら、「あんたの家にはクマのぬいぐるみが何体もあるじゃない」と言われた。

ふむ。考えてみると確かに4体ある。しかし1体も自分で買ってはいない。1体はなんかの抽選で当たり、1体は昔一緒に住んでいた人と別々の暮らしをすることになった時に餞別にもらった。1体は知り合いの結婚式のプレゼントで、もう1体うちに遊びに来たことがある人が誕生日プレゼントに持ってきた。

というわけで、我が家にはクマが4体いる。

クマは嫌いではない。たまにクマと一緒に暮らしている白昼夢を見る。

目が覚めるとクマがいる。クマは当然のようにそこにいて、直立して空を眺めている。

私は仕事へ行くために朝食の準備を始める。卵を焼いていると、たまにクマがちらっとこちらを見る。それで私は冷蔵庫から鮭の切り身を出してフライパンで軽く火を通して皿に載せ、クマに差し出す。

クマが熱そうにしながら鮭を食べるのを横目に私は朝食をかきこんでさっさと出かける。出勤の途中、クマに鮭をあげる時は焼いた方がいいのか生のままの方がいいのかで悩む。

そんな夢。

というわけで、我が家にはクマが4体いる。またいつか増えるだろうか。増えるといいな。