<< 6月 2007 | Home | 8月 2007 >>
PR: 転職    ドメイン    電子機器    インプラント    転職サイト    ダイエット 食事    転職    コンタクトレンズ    流行キーワード    英会話   

アノテーションはインターフェース

アノテーションの実態は、java.lang.annotation.Annotaionの継承インターフェースだから、アノテーションを実装したクラスなんてのも造ることができる。

public class Test implements Override {
    public Class annotationType() {
        return Override.class;
    }
}

こんなのは、ただのお遊びだと思っていたんだけど、Guiceをみて目から鱗。ユーザーズガイドのAnnotations With Attributesが興味深い。普通にアノテーションとして静的にソースに埋め込む以外に、動的にアノテーションを指定したい場合には有用なわけだ。なるほどね。

WFP 3007つないでいるとオーバークロックできない。

うちのGA-965P-DS4 rev 1.0+ELSAの7600GSは、なぜかWFP 3007つないでいるとオーバークロックできない。というか全くオーバークロックせずに、単にクロック設定をautoからmanualに変えて、定格のPCI-E:100MHz、FSB:266MHzにしただけで立ち上がらなくなる。BIOSのバグなんだろうか。

Google下がってるね〜

普段だったら仕込むところだけど、今は為替がおっかな過ぎて、手が出せない。

Tomcatでアクセス記録をとってみた。

ピアノ発表会の曲は、割と昼間にダウンロードされているので、日本からがほとんどかなと思ったら、半分以上は海外からだった。.pyなんて初めて見たけど、パラグアイか。そんな遠くから、わざわざ聴きにきてくれているというのは、なんだかうれしい。

桃だ〜

きらいな夏という季節の、唯一の救い。

IDE

もう生産完了ですか。企業向けはSCSIだから、割とあっさり切れるんだろうな。PC使った業務用端末とかは特需か?

とりあえず家のIDE-RAIDは、まだまだ使いたいし。何台かまとめ買いしておくか。

Struts2のDI

知らないうちにGuiceに移行していた。Springからは距離を置きつつあるようだ。しかしこれジュースと読むとは...

なんかGuiceのUser's GuideにもStruts2の話が出てくるし。何で仲がいいの?

月光 完成

ベートーベン ピアノソナタ 第14番「月光」 作品27-2 第三楽章

しかしまぁ、すごい迫力。怒りと絶望の嵐が吹き荒れる。
究極のソナタ形式。

猫ページ更新

猫ページ更新完了。

Project Zeroのリードエンジニアと会食。

やっぱりこの手の人達は、面白い。実は.NET大好きだったりとか。

良くあるオープンソースプロジェクトだと思っていると、全く違うものなので見誤るね。とはいえ元々のJ2EEのコンセプトもWARとかEARでコンポーネント化して、それで儲けましょうという話だったわけだけど、そっちの方向としては全然うまくいかなかったわけで、果たして今回の試みは、どうなるのか。

ただ何でもかんでもできるように重厚長大という方向性ではなく、うまく適用対象を割り切って考えている点は、評価に値するかな。うちの会社では、そういうのってほとんど無かったし。

ソースファイルのエンコーディング。

XMLみたいに、ソースファイルの先頭で宣言できるように、できないもんかなぁ。宣言がなかったら、その環境のデフォルトエンコーディングってことで。WindowsとLinuxを行き来しているとメンドイ。

encoding UTF-8;
package foo.bar;

import ...

自分の古いブログを見てしんみりしたり。

まだ消されずに残っていた。3年近く前の話だ。

「いつか、自分でMIDIシーケンサでも書いて、ベートーベンのソナタを全曲演奏させてみたいと思いつつ、そのままになっている」

当時、こんなこと書いているってことは、まだコードは始めていなかったわけだから、実は意外と早く動くものができたんだなと思う。感覚的には3-4年かかった気がしていたんだけど... GCの懸念も、完全に杞憂に過ぎなかった。最近はすっかり慣れてしまって、なんとも思わないけど、Javaって生産性高いな。dangling pointerとかで悩むこと無いしメモリーリークも、まず起きない。C++じゃ5年かかっても無理だったよ、きっと。その間にSwingも高速化して、ほとんどチューニング無しで、使えるものが出来た。

Ivoryのおかげで、電子ピアノよりも、いい音が出せるようになったし、コンピュータだけがあればピアノ曲を演奏できるようになった。しかも30inchが破格値になって、入力もとっても楽になって、全くいい時代になったものだ。

Google Analyticsでパラメータ付きページの集計

できないと思っていたのは勘違いのようだ。ようやく集計が上がってきた。なんか1週間とかどころじゃなくて、1か月くらい遅れる感じだ。それも揃って遅れるんじゃなくて、遅れ具合もバラバラなので、そのつもりで見ないとダメだ。

月光 第二楽章

月光 第二楽章

入力していたら、シーケンサのバグを2つ発見。まだまだバグが出てくるな。ついでにEclipse 3.3のバグも発見。JUnitのビューで特定のテストメソッドを右クリックしてdebugを選ぶと、そのメソッドだけデバッグテストできたと思うんだけど、常に全メソッドが実行されてしまうようだ。

Eclipse-3.3

Class cls = xxx;みたいなのは、みんなジェネリクスの警告が出るようになった。ちとめんどいけど、仕方ないか。

裏でエディタでソースをいじった時に、いちいちRefreshしなくても、すぐに反映されるようになった気がする。けど気のせいかもしれない。

Google Browser Sync

定期的にパスワードを聞いてくる。「セキュリティ向上のため」という触れ込みなんだけど、本当に有効なんだろうか。あの入力ダイヤログが、本当にGoogle Browser Syncによって表示されているかどうかなんて、確かめようが無いように思うんだけど。あれを悪用したマルウェアとかが出てこないか、ちょっと不安。

ソナタOp27-2 「月光」

ベートーベン ソナタ14番 Op27-2「月光」[ダウンロード]

第一楽章。3連符の上に付点が重なる部分があって、自分で弾く場合は、ここのリズムが難しいのだ。コンピュータに弾かせることで、本来楽譜通りに弾いたら、どういうリズムになるのかが正確に分かる。

悲愴ソナタ

第三楽章入力完了。

本日見た壮絶なコード

// 100で割って切り上げ
BigDecimal bd = new BigDecimal(String.valueOf(new Double(new Integer(i).doubleValue() / 100)));
i = bd.setScale(0, BigDecimal.ROUND_CEILING).intValue();

猫とトマト

なんかリファラ見てると「トマト猫」とか「猫 トマト」とかで検索してきているようなんだけど、皆さん、何を探してるの?

Buildr

marsさんとこで発見。

Antは制御構造が書けないに等しいので、ちょっと複雑なことをしようとすると、自分でタスクを自作しないといけなくなるのが辛い。と気付いたのはrakeを使うようになったからなんだけどね。元々makeから育っていると、こういう宣言的記述が当然と思っていたんで、使いにくさ自体に気付かなかった。どうも自分は、宣言的記述を求められる処理系が嫌いのようだ。SQLもヤだし。

とはいえRubyの機能をバリバリ使ったビルドルールというのは、marsさんが書いている通り、保守困難になりそうなのだよね。相当のセンス(というかバランス感覚)が求められる。Rubyは言語仕様が強力過ぎる。チーム内にバランス感覚に乏しい自称天才がいると、保守困難なコードを作り上げてしまいそうで怖い。でもまぁ、そういうヤツの方が伸びるから、ある程度は許容しないといかんのだろうけど。

猫ページ

猫ページ更新完了。

実家へ。

実家のPCのCドライブの空きが無くなったということなので、実家へ。

再インストールはデータ移行が面倒なんで、KNOPPIXをCD-RWに焼いて持って行った。しかしCD-ROMドライブが年代物で読み込めず。

仕方無いので持って行ったThinkPadでCD-Rに焼こうかと思ったら「これってDVD読めないの?」という話になり、近所のPCデポでDVD-Rドライブを買い出し。PlextorのPX-800Aというのを購入。

で、ケーブルが古くて、ATA 33とかBIOSに表示されるのを見て愕然としたりしつつ、なんとか取り付け。ハードディスクの移行は、クリーンアップ、デフラグ後にKNOPPIXで立ち上げて、ddでコピーしてから、QTPartedでパーティションサイズ変更。NTFSも対応しているのはありがたい。

で、プレクのドライブに付いているドライバソフトを導入しようとして、付属のCD入れても全然読み込めず。仕方が無いのでThinkPadで読み込んでから、USBメモリ経由で持っていく。ここでもUSBが2.0に対応しておらず、ものすごく時間がかかる。

で、ようやくドライバソフトを入れようとしたら、死ぬほど重いんですけど。インストールにたっぷり40分以上かかる。その間CPUは100%にはりついたまま。そりゃDuron 700MHzだから3世代くらい古いわけだけど、それにしても遅すぎないか、これ。SSEとかに対応していないCPUだと劇遅だったりするんだろうか。

で、ドライバソフトが入ってから、あらためて付属のCD(と思ったら、DVD-ROMだった)を読んでみようかと思ったら、やっぱり読めない。DVDビデオとか、他のDVD-ROMは読めたので、どうやら付属のDVDメディアが相性で読めないということらしい。いや付属ソフトなのに、読めないってどういうことよ。とはいえ昔のように1台4万近くしていた時代じゃないから、無理もないんだろうか。しかし安かろう悪かろうになってしまったら、わざわざ日本製を買うことも無くなるよ...

さすがにDuron 700MHzだと苦しくなってきた。そろそろアップグレードかな。

LinRailes

LinRails

InstantRailsのLinux版みたいなもの?

Google Analytics

Google Analyticsを入れてみたんだけど、どうやらリクエストパラメータ付きのページは集計してくれない模様。やっぱり自分でリファラを記録するようにしないとダメか。

悲愴 第二楽章。

悲愴ソナタ 第二楽章

ベートーベンのピアノソナタの中で最も美しい曲の1つ。

のび〜

からだ、柔らかいね〜。

AX300故障。

またディスクエラーが出るようになってきた。前回は買って1年以内で壊れて修理に出したけど、それから2年。基本的に排熱が悪いような気がする。今回は自分でHDD交換してみた。本当は5200rpmモデルが良かったんだけど、見つからず。Hitachiの320GBにしてみた。基本的に、ここにあった情報でうまくいった。

Knoppixは5.1.1を使用。knoppix_v5.1.1CD_20070104-20070122+IPAFont_AC20070123.isoというのを入手。今のマザーボードはIDEポート1つしかないので、CDブートが使用できないため、USBからブートすることにする。やり方は、ここを参考に。簡単!

Knoppixのブートパラメータは特に何も指定しなくてもDMAがonになった。shellを上げて、suしてからfdisk -u -lでパーティションを確認。

自分のマシンでは/dev/hdeがIDEのマスタ、/dev/hdfがスレーブになっていた。マスタに元ディスクを、スレーブにコピー先をつないで、dd if=/dev/hde of=/dev/hdf conv=noerror。

終わったらシャットダウンして終了。今頃気付いたんだけど、AX300のマニュアルにあるHDD初期化って、そんなに深いところまでやってくれるわけではないみたい。まっさらのHDDをつないでも復旧はできなかった。というわけであらかじめバックアップを取っておいた方が良さそう。

Knoppixでは、自動的にリードオンリでマウントがかかるようなので、一旦umount /mnt/hdf4で解除してからmount -t xfs /dev/hdf4 /mnt/hdf4でマウントしてから、dd if=/dev/hdf of=/mnt/hdf4/ax300sys.img count=1670760して、ax300sys.imgを保管しておく。将来、HDDが壊れて読み出し不可になった時は、dd if=/mnt/hdf4/ax300sys.img of=/dev/hdf4で復旧出来るはず。

しかしKnoppixは楽でいいな。もうこの手の作業のために、DOSを使用する必要は無くなったような気がする。マザーボードメーカがBIOSアップデートでDOS不要にしてくれれば、もう使用する機会も無いんじゃないかな。と同時にフロッピも不要かも。

このサイトの掲載内容は私自身の見解であり、必ずしもIBMの立場、戦略、意見を代表するものではありません。
日本アイ・ビー・エム 花井 志生 Since 1997.6.8