Nhibernateその後でOODBとか

NHibernateは複数キーの定義の扱いが微妙なのと、
パーシステントクラスのメンテナンスが煩瑣になりそうなので、
ひとまず今回の実装からは外すことにした。
いつもどおりADO.NETでいくことに。

しかし、ただ転ぶのも嫌なので、データバインドを極める感じで行こうと思う。
とりあえずMSDNの関連しそうなところを読む。

こんなことばかりやってるから、「お前のコードは他の人が理解できねぇ」
とか言われたりするが、僕はマニュアルに書いてあることしかやってない。
変なロジックも入れないし、設計やコーディング規約からも外れない。
マニュアル読まない君らが悪いんじゃ(゚A゚)
いいから横へ来て座れ。そして共にコードを書く。それで解決だ。

それはさておき、今回Hibernateを触ってみて思ったのだが、
はたして、O/R Mappingは今後主流になるんだろうか。
過渡的な技術といえばそれまでだが、いい加減OOPLからSQLベースでの
データ操作もめんどい。

そんなわけで、最近はわりとOODBとかODBに手を出しているわけだが、
ObjectStoreやCaché なんかの言語とのバインディングだけで
データ操作できてしまうあの楽さを味わってしまうとなかなかSQLを
書く気にならなかったり。

そういえば、この前のCaché絡みの案件は結局流れてしまったなぁ。
.NETとの言語バインドが出来ていないとか、作る人たちがついてこれないとか、
そんな理由だった気がするが。
確かに集合をベースとして扱うのRDBに対して Caché なんかのOODBは
タイプ(クラス)ベースで物事を扱うので、RDBに慣れているエンジニアは
とっつきづらいのかもしれない。
ちなみに、この辺の考え方の対比のレベルが合っているかは謎。

ODB使いたいなぁ。速くていいDBなんだけどな。
そんな感じで。

NHibernate

格闘中。熱血マッピングランド。

が、レガシーシステムからの移行なので、エンティティのidentifierを取らずに
そのまま移行したテーブルばっかり。
しかも異様に項目数が多い。正規化されてない。スキーマがVSAMから丸写し。

過去幾多のレガシー移行を見てきたが、これはもう定番中の定番パターン。
そして実装者がウボァー。
普通にO/R Mapperが使えない。もうね、設計者いい加減にしろと。
まぁ、設計者自体居なかったりしますが。

今回は規模が小さいからどうにでもなろうが、このパターンで数億の
損失を毎回出してたりするところもあるとか風のうわさで聞いたことがある。
知っているのか雷電。知らんよ。

そんなことはどうでもいいので、とりあえず、meny-to-oneの扱いと
composit-keyをどうするかだけ解決すればどうにかなりそうなので
もう少し足掻いてみることにする。

げ。composit-keyはEquals()とGetHashCode()実装必須ですかそうですか。
パーシステントクラス作り直しじゃん(‘A`)

まぁ、例によって例のごとく僕は事前察知でヤバい所を
全力回避で責任を取りませんしー(・∀・)ウフフ

Bluetoothヘッドセットを買ってみた


BUFFALO BMH-B01S/SV 3,980円。

SkypeとかWILLCOM W310K用途で使えそうな
Bluetoothヘッドセットを探していたのだが、
名古屋駅sofmapでBUFFALOが出していた奴を見つけたので、買ってみた。
他のBluetoothヘッドセットはもっと高いのにこれだけ何故か安かったし。

W310Kにはとりあえず繋がった。線が無いのはいいね。
ちょっと友達に掛けてみたりして遊んでみたが、通話品質は
あんまりよくない。ノイズが乗る。
というか、これは頬のヒゲの音が乗ってるんじゃないだろうか(‘A`)
普通に使う分には十分だと思うので、後でSkypeでも試してみようと思う。

細かい接続方法なんかはめんどくさいので他のサイトを当たってくれっさい。

ということで。

年始スキー

毎年恒例の(以下略)

年明け1回目は鷲ヶ岳スキー場。
奥美濃はこの時期もの凄く混雑するので、早朝スキー。

午前5時頃の模様。天候は雪。フェイスガード持ってこなかったので
顔が大変なことになってました。

スノーブレードなので余計に影響を受けているのかもしれないですが、
圧雪の上に新雪が20cm程積もっている為、非常に滑りづらいです。
板の先端を常に浮かせるようにしていないとすぐに雪に持っていかれます。

夜が明けてもやっぱり雪。

昼前になって、いい加減疲れてきたので帰るかー
と、いうところで事件発生↓

友人のオデッセイが新雪の積った駐車場でスタックしますた(つД`)

悪いことは続くもので、その後キー閉じ込み(‘A`)

結局JAFの救援を呼ぶことに…

とまぁ、そんな感じで割と散々な感じでしたとさ。
しかし、JAFのインキー解除の技術はすごいね。ものの数秒で開けてたし。

年末スキー

毎年恒例(?)の地元の友人と年末スキー。

今回はチャオ御岳スノーリゾート。
京ぽん2で撮ったので、ちょっと写りが悪いです。

天気は曇り気味。気温零下10度。寒い。

雪質はかなり良かった。

山奥にあるスキー場なので、年末の冬休みにしては人が少なく、
待ち時間が皆無だった。

斜面が比較的緩やかなのと、センターハウスが狭いことを除けば、
のんびり滑りに行くには良いスキー場かも。

年末

画像は富士川SAからの富士山。
雪はまだあまり積もっていないようで。

そんなわけで、12/28~1/9まで実家に戻っています。

年末年始は仕事も私事も別角度で忙しいのだが、
今年は更に日割りが悪くて仲間内の予定もなかなか予定が合わない感じ。
なるべくうまく立ち回れる方向で調整したい。

やっと直った

フューエルリッドのバネの交換、SRS警告灯の解除の為のCPUリセット、
交換時期に近づいたEGオイルの交換作業の依頼するためにいつものディーラーへ。

入庫予約だけして帰ろうと思ったのだが、
フロントの中の人が「工場が空いているので、今やってしまいましょう」
とのこと。
別にそんなに急いでいないし、工場の空いている時間が過ぎているしで、
無理しなくてもいいのにー、とか思いながらもお願いすることに。
そんなこんなで、全部含めて作業時間10分掛からず。早すぎ。

そんなわけでフィューエルリッドのバネとSRS警告灯がやっと直りました。
まぁ、放置していただけですが。
ともあれ、これで車も年が越せそうです。

ちなみに、フロントの中の人はこれは知らなかったです。

日本に入ってきたら多分買う。そしてまた仕事場の人々からいろいろ言われる。
まっすぐ走らねぇとか、そんなだから結婚できねえとか。
ヽ(`Д´)ノ関係ネェヨウワーン!!(特に後者)

Key

使っているのが.NETのDataSetな所為もあるのだけれど、
DB側のテーブルにレコードの固有な識別を得るための
ユニークなキーをプライマリキーとして設定してくれないと
コードが書きづらくてしょうがない。
主キーと外部キー兼任のフィールドしかないテーブルってどうよ。

というところの主張がどうも設計の会議で通っていない気がする。
実装側がかなりうんざり風味なのだが。

なんでこのプロジェクトは設計に出てくる人は実装の事情をわかってくれないんだろうか。
単なる勉強不足?

まぁ、僕がその設計側に居るわけですが。
そんなわけで設計会議でクレームつける役で絶賛大人気タダ働き中。
あと、典型的なMEMENTで解決する話を数時間議論するのはやめれ。