2010-10-02(土) [長年日記]
■ Debian lennyでClojure開発環境を作る
Android用アプリの開発をするために『プログラミングClojure』を読み始めたので(←どう考えても不必要に遠い道のり)、実際に動かせる環境を作る。普段持ち歩いているLet's note上のVMwareで、Debian lennyが動いているのでそこへ。
まずはjavaの環境を入れなければいけない。Java環境にはいくつか選択肢があるみたいだけど、non-freeながらオリジナルのSun実装があるのでまずはそれをチョイス。Clojureのビルドにはantも必要らしいので一緒に入れる:
% sudo aptitude install sun-java6-jdk ant
antが一緒にgcjを入れるのが気になるけど、依存関係どうなってんのかなぁ……。まぁ、/usr/bin/javaコマンドは/etc/alternatives/javaを経由して/usr/lib/jvm/java-6-sun/jre/bin/javaを指しているようなので、OKなんでしょう。
Clojureはtestingには1.1のdebがあるみたいだけど、本書のサンプルにも常に最新のclojure.jarが含まれていて、それだけあれば十分らしいので、まずはそっちを持ってこよう:
% cd ~/src % git clone git://github.com/stuarthalloway/programming-clojure.git
対話式にコードを試せるREPLを起動して「Hello world」してみる:
% cd ~/src/programming-clojure % bin/repl.sh Clojure 1.1.0-alpha-SNAPSHOT user=> (println "hello world") hello world nil user=>
OK、動いた。
いちおう公式な処理系もGithubから作っておく(けどたぶんしばらくは使わない):
% mkdir ~/src % git clone git://github.com/richhickey/clojure.git % cd clojure % ant
続きはまた。
2010-09-30(木) [長年日記]
■ パーフェクトソフトウエア(ジェラルド・M・ワインバーグ)
読みながら、なんとも評価しにくい本だなぁと思っていた。
ソフトウェアテストに関して書かれた本である。が、いわゆるノウハウ的なことはほとんど書かれていない(せいぜい「バグの重要度は4段階にせよ」という指針くらい)。じゃあ何が書かれているかというと、テストに関わる人間について、実例を交えつつその「心理」を解き明かしている。
(テストファーストでない限り)開発の最後の工程であるテストには、人間の(きたない)心理がもっともよく現れる。そんなテストを取り巻くさまざまな場面に遭遇したとき、本書のような知恵があれば、きちんとテスト結果を評価し、正しい(もしくは可能な限り良い)判断を下せるようになるだろう。と思う。
けどまぁ、そう簡単にはいかないだろうなぁ。
で、最後まで読んで、訳者あとがきに「本書はテスト技術者にとっての『ピープルウェア』である」的なことが書いてあって、かなり納得した。つまり、技術面でさまざまな進歩が見られるようになってきたテスト技術者にとって「精神的なよりどころ」や「心の理想郷」みたいなものへの道筋をしめした本ってことだ。
そう考えるとけっこういい本かもしんない。もっとも、だとするといささか読みにくいのが難点だけど。一読して意味を取りにくいのは訳文のせいかなぁ。
2010-09-29(水) [長年日記]
■ ドーラ、グスタフの餌を食べたがる
いちおうドーラには1歳未満の子猫用、グスタフには1~10歳の成猫用の餌を与えているのだけど、どうもドーラが自分のよりグスタフが食べてる方が好きらしく、与えてしばらくはちゃんと自分の餌を食べ始めるのだが、油断して目を離すといつの間にかお互いに相手の餌を食べている。
ドーラがグスタフの方に首を突っ込んで、(気の弱い)グスタフが譲ってしまい、しょうがないので空いているドーラの餌を食べるという図式が多いみたいだが(で、写真のようなスタイルになる)、逆のパターンもあるみたい。隣の芝は青いってか。
困るのは、子猫用の餌は成長のために栄養豊富になっているわけで、これからどんどん大きくなって欲しいドーラに必要な栄養が行き渡らず、もうこれ以上大きくなって欲しくないグスタフに過剰な栄養が行ってしまうということだ。多頭飼いで別々の餌を与えないといけない場面って多いと思うんだけど、どうやってこういう問題を解決してるのかなぁ?
◆ Mr.T [物理的にエサ入れの距離をもっと離しちゃうとか。 ウチは3匹いますが、食い意地の張ってるやつは、1Mほど離してますね。]
◆ ただただし [餌を離してみたんですけど、あんまり騙されてくれない感じです。すぐにグスタフを探して駆け寄ってしまう……。]
◆ akumakun [はじめから子猫用の餌をグスタフの皿に、大人用の餌をドーラの皿にいれておけばいいんじゃないかな!]
◆ ただただし [そんな単純な施策をやったことがないとでもお思いか! あいつらけっこう賢いから、そんな手にはひっかかりませんよ。]