C-media CMI9880LのドライバをWinXPにインストールしたらキーボードがおかしい。Ctrl+Pが効かない。Linuxではちゃんと認識されるから割り込み信号レベルでは問題ないのだろうけど、カーネルの中か?
PS/2からUSBに接続を変えても駄目だし。IRQもIOの番地も普通のやり方では変更の余地がないらしいし。そもそもこれらを変えて解決するのかも不明……。ほかのキーはともかく、Ctrl+Pだけは何とかしないとEmacsが使いづらくて仕方がない。Ctrl+@で代用というのも試したけれど、変な癖がついて今度は会社のマシンが使いづらかった。
仕方がないので窓使いの憂鬱でCtrl+Pを上向きカーソルキーにマップして解決した。Emacsもbashもこれでいける。
ついでに、UNIX使いには定番のCapsLock => Ctrlのマッピングをしてみた。それから、いい位置に余っている「変換」キーをEnterにマップして、「無変換」をTabにしてみた。
Solaris10によるサーバー管理の研究と言うことで、会社から一台、余ったマシンを借りてきた。これにインストールして試してみる予定。
最近どうも調子を崩していて、この状態で「がんばって」しまってよいものか判断が付かないので昨日は会社を休んでしまった。スケジュールがまた遅れる……。規模が小さいから仕方がないといえば仕方がないのだけど、各所各所で会社の能力=特定個人の能力、プロジェクトの進捗=特定個人の進捗となっている部分があるのは"Corporation"としてはやっぱり問題があると思う。現プロジェクトの枝葉部分の割り振りだけは完了していて、そっちは進めて貰えているであろうことだけが救いでしょうか。
今日塚田先生に相談してみた限りでは、やっぱり、こういう状況であったとしても「ここで一踏ん張り」してしまうのは良くないとのこと。今無理をすると数年間何もできないような重度の鬱を生じる虞があるとか。スケジュールが遅れてしまうのは会社に対して本当に申し訳なくて申し訳なくてそれがまた気分を沈ませる。だけれども、この病状でそんなことを考えていても悪循環になって余計迷惑をかけるばかりなのでここは一つ開き直ってみる。「どうせ自社開発だし、競合する相手はいまのところ少なそうだし、相手も現状に満足してる感じなのでアドバンテージはこちらにあるし、そもそも私をこのくらいの時給で雇えるっていうのは安定的に労働力を提供できないという『瑕疵』があるからこそなのだよ。うんうん」。あぁ、敢えて偉そう傲慢にに書いてみたけれど、結局自己嫌悪だわ。どうにもならない。もう何も考えないに限る。
塚田先生に言われた「とにかく自然に、疲れたら休むこと」「いろいろな気持ちを感じることを大切にすること」。
今度こそばっちり、各パーティションの開始・終了セクタ番号とMBRとPBRをバックアップしたぞー。これが役に立つ日が来ないことを祈ります。
WinXPの「ディスクの管理」がパーティションテーブルを破壊してくれた。セクタ番号をメモしておく前だったので、勘でデータパーティションのあったあたりに再度作成してテーブルを上書きしたら、うまいことそこだけはマウントできた。
とにかくデータは救出して、再インストール。データといっても、まだセットアップ直後だったので、メールログと2chのログくらいしかないけれど。
もしかしてLinuxDriveのインストール後ディスク管理まわりが不安定だったのがよくなかったのかもしれないけれど、とにかくもう二度とWindowsにパーティションは操作させまいと誓った。
どうも今日は物が安く買える日だったらしい。帰りに会社近くのPCショップに何となく寄ってみたら、LinuxDrive for Windowsが1449円だった。秋葉原で探し回っても最安値が7000円台だったのに。あのとき買わなくてよかった。ほくほく。
そのままほくほくしながら帰ってゆくと、今度は服のアウトレットセールに行き当たり、目を付けていた服を安く買えた。夏物カーデも迷ったけれど、まあ今日はこんなところで。
そういえば、基本情報技術者受かりました。今まであれだけ受験者に偉そうに講釈してて落ちたら恥ずかしいので、受かって良かった。
次は秋のソフトウェア開発技術者ですな。これは一応真面目に受験勉強しておかないと。
前のマシンの調子がどうもおかしくて、先日とうとうウィルススキャン中に暴走したあげくWindowsシステムファイルの一部が破損した。Windowsの修復セットアップで一応動くようになったものの、今のWEB開発の仕事にはスペック的にきついことだし、よい機会と思って九十九電機のTS-jade 915Gを買ってきた。
HibernateによるO/Rマッピング構築をしようと思うと、3つアプローチがあるらしい。
各方式の検討は忘れる前にメモろう Hibernate @ blog.keitap.comが結構わかり易いと思った。新規開発の場合、middle-outが楽かな、というのがいろいろ試した結果の結論。
保守段階で新規にhibernateを導入しようと思うと当然bottom-upになるんだけど。新規開発の場合、DDLはどうせ、あとで物理設計的に修正しなくちゃいけないわけだし、DDLとマッピングファイルのどちらが書きやすいかといえばマッピングファイルだやな。
マッピングファイルを書くのとXDocletマークアップするのは手間は大して変わらないのだけど、問題は新規開発の場合、top-downでやろうとするとマークアップすべきPOJO、それも値オブジェクトみたいな単調なコーディングをひたすらやらなくてはならないってことだ。その点、middle-outなら値オブジェクトやら、複合キークラスやらは全部Antタスクが作ってくれる。DDLもとりあえずテストするには問題ないレベルのものが生成される。後工程でデータベース設計をもう一度見直して適当にViewとか作ればよろしい。
世間ではPOJOに対するXDocletマークアップの紹介が何かと目に付くし、EJB3.0も似た路線でいくとか聞くけれど、でもこれってあんまりいい方法じゃない気がする。2つほど小さなプロジェクトでXDoclet方式を使ってみての感想。
既存のPOJOに後から永続化機能を追加するならマッピングファイルを直接書けばいい。元のソースに触らない分いろいろ柔軟だ。既存のデータベース処理をHiberante化するならmiddlegenを使う。新規開発ならmiddle-outだ。XDocletの利点がよくわからない。生成されるPOJOが単純な値クラスじゃ困る場合でもgenerated-classメタタグを使ったり、HibernateSynchronizerを使ったりしてgeneration-gapすればよい話だし。あえて言うなら、後付けで永続化機能を追加する場合で且つマッピング方法の変更可能性が低い場合、XDocletならデータ構造についての情報が分散しないってことぐらいか。