2004年12月13日月曜日

2004年12月10日金曜日

Money

P of EAAで紹介されているTable ModuleパターンをC#で実装……する前段階(というか、遊び)として、Moneyパターンを実装してみる。

遊びなので、試しに構造体としてMoneyを実装してみる。ポリモーフィズムが使えないので、すべての通貨で同一実装を利用することになる。

いろいろ試した後にそれなりのものができたが、10進法を前提にしたコードになってしまっていた。10進法以外を利用する通貨では計算が合わなくなる。ウウウ。

ところで、現在流通している通貨で10進法以外を採用しているものって、どんなものがあるでしょうね?



2004年12月1日水曜日

ASP.NETとPOHP

はてなダイアリー - 23時50分より引用


ASP.Netはデザイナさんの絡まない社内イントラなんかではツールと一体で最強だと思うけど、商用サイトでのデザイナーさんとの分業には向かないと思います。


まったくだ。依頼側がデザイナさんにVS.NETを買ってあげるところから始まり(デザイナさんがVS.NETを持っているとは考えにくい)、道具としてのVS.NETに馴染んでもらって(DreamWeaverの方が便利、という声を無視しなければならない)、ASP.NET Webサーバーコントロールなどという正体不明の部品も我慢して使ってもらい(もちろん、各コントロールのプロパティについてもある程度理解してもらわなければならない)、VS.NETが理解できないタグや属性は使わないでもらい(VS.NETに勝手に消されることがある)……ありえない。実にありえない。というわけで、デザイナさんに作ってもらったHTMLを元ネタにして開発者が作業するという順番にならざるを得ない。

Plain Old HTML Pageっていいよね。.NETでTapestry

Nirvanaのようなモノを作るとどんな姿になるだろうか……というようなネタを同僚と話してみた。



2004年11月14日日曜日

拡張ストアドプロシージャからCCWを使ってマネージコードを呼び出せない

ってことなのかな、このサポート情報の言わんとするところは。

惜しいな、これができたらSQL Server 2000のトリガでマネージコードを呼べたかもしれないのに…
(マネージコードでなければ呼び出せるのだろうが、VC++でコードを書きたくない)

2004年11月5日金曜日

深夜のカラオケボックス

で撮った写真。暗かったので明るさを調整した。
泉
ええと、僕らいつもこんな感じです。

2004年11月2日火曜日

10/31 ハロウィーン

家族でTDLへ。
楽しかったのだが、岩下と飲みに行けず。
連絡しなくてごめんよう。TDLが先約だったんだけど、曜日が確定したのが金曜だったんだよう。

それはそれとして、TDLだ。
ハロウィンだったので、仮装している人が多い。
ディズニーキャラに仮装してくるとちょっとした特典があったらしい。

でもね。
ゴスロリなアリスご一行(アリスとか兎とか狂った帽子屋とかの衣装が黒い)とか
キングダムハーツのコスプレとか
そういうのは、何か違うと思うんだな……

2004年10月22日金曜日

2004年10月5日火曜日

ドイツ記

ドイツ旅行で心に残ったうまいものを書くよ。

(1) ギャートルズ肉
ドイツはバイエルン地方の伝統料理、シュヴァイネハクセ(schweinehaxe)
豚すね肉のローストなのだが、とにかくデカイ。そして骨付き。
味は癖がなく、やわらかく、うまい。(うまかった。)

(2) 黒い森のサクランボトルテ
ドイツの有名な針葉樹林地帯、それがシュヴァルツヴァルト (Schwarzwaeld) 。「黒い森」という意味。
この地域の伝統菓子が、シュヴァルツヴァルター・キルシュトルテ (Schwarzwaelder Kirschtorte) 。「黒い森のサクランボトルテ」という意味。
上品な味で、これもうまい。

(3) ビール祭
この次期、ミュンヘンでは年に一度のオクトーバーフェスト (OktoberFest) が行われる。
会場には巨大テントが10数個立ち並び、そのすべてがビアホールなのである。
その中で"Ochsenbraterei"に入る。
1リットルジョッキになみなみと注がれたビールを片手に「乾杯!」
ビールも美味かったが、食事も最高だった!
ファインステ・バイエリシュ・オクセンレンデ(Feinste Bayerische Ochsenlende)。上サーロインのバイエルン風。
すっげーやらかくて、そしてソースもうまい!

(4) 白ソーセージ
ビール祭の開催地であるミュンヘンの名物は、ミュンヒェナー・ヴァイスヴルスト (Muenchener Weisswurst)。白いソーセージ。
茹でて、皮をむいて食べる。上手にむくのはなかなか難しかったぞ。
わりにあっさり味。

(5) 秋の料理
この時期は収穫を祝う時期。ということでこの時期にしか食べない料理をいただく。
ツヴィーベル・クーヒェン (Zwiebelkuchen)
玉ねぎケーキという意味だけどお菓子ではなくてキッシュみたいな感じ。
これに、フェーダー・ヴァイサー (Federweisser)という、今年仕込んだ醗酵途中のワインを合わせていただく。
ワインは「羽毛の白」という名の通り、白く濁っていた。

(6) カレーソーセージ
名前もそのまま、カリーヴルスト(currywurst)
ソーセージを焼いてケチャップとカレー粉をかけたもの。
単純だがうまい。街中でよく売っているもののひとつ。
カリーブルストは、パンもしくはポム・フリと一緒に食べる。
ポム・フリは、正確にはポム・ドゥ・テール・フリ (pommes de terres frites) というのだが、縮めてポム・フリと読んでいるらしい。ポム・ドゥ・テールはフランス語で「地面の林檎」すなわち「じゃがいも」のことらしい。フリはフランス語でフライのこと。そう、結局はフライドポテトのことです。
しかし、なぜフランス語?そういえば英語でもフレンチ・フライと言うよな。

(7) 鶏の丸焼き
これも街中でよく売っているもののひとつ。
ヘーンヒェン(haehnchen)というのは若鶏のことを指すのだが、
ドイツでは鶏の丸焼きの代名詞となっている。
こんがりローストした後、1/2羽をいただく。
皮はパリパリ、中はジューシー!

2004年9月21日火曜日

姉の結婚式

ICUの大学礼拝堂にて。いつも思うことだけれど、やたら広くてやたら緑の多い敷地だ。

前回来たときは友人の記念会(いわゆる「一周忌」だが、友人はクリスチャンなのであった)でシーベリー記念礼拝堂【写真】を使ったのだが、今回はもっと大きな大学礼拝堂【写真】で挙式。ちょっとだけ故人を偲んだ後、気持ちをお祝いモードに切り替える。
立派な礼拝堂で、立派な式だった。女性牧師さんの礼拝説教も分かりやすくて良かった。親父が姉貴のドレスの裾を踏まなければ完璧だった……いやむしろ笑い的には踏んだ方が完璧か。

披露パーティは、ICUのアラムナイハウス(学士会館)【写真】にて。パーティーは手作りでアットホームな宴だった。
スライドショーが結構長めだったが、その途中でパリ在住の友人とビデオチャット!なんていうイベントも飛び出した。後で聞くとFOMAによるインターネット接続を2系統使った結構な離れ業だったようだ。すごいよ!イシカワさん!
主役の二人も準備に追われて大変だったことでしょう。おめでとうございます&お疲れさま。安心して新婚旅行に行ってきてください。

二次会は吉祥寺のライブハウスにて。親族および故郷の友人はパーティー後に帰っていったため、事実上ICUの同窓会。おれは隅っこで大人しく飲んでいた。相手してくれたみなさまありがとうございました。
会場には、おれがWebサイトをよく読んでいるあの人やあの人やあの人やあの人なんかもいらっしゃっておりヒデキ感激。挨拶できた人もいればできなかった人もいるのだけれど。

2004年9月15日水曜日

VS.NET2003とDataSetの不可解なBug

クラスライブラリのプロジェクトで型付きデータセットを定義します。
で、別のプロジェクト(たとえばWindowsアプリケーション)でそのプロジェクトを参照します。


Formのデザイナ画面に、ツールボックスのDataSetをドラッグ&ドロップすると
こんなダイアログが出ます。


こんな感じで、よそのプロジェクトに含まれるデータセットを利用できるのですが、
なぜか、クラスライブラリのアセンブリ名が~Systemで終わっている場合は、含まれているはずのデータセットが表示されません
コードエディタのIntelliSenseでは参照できます。この「データセットの追加」ウィザードだけの問題です。


これ、既知の問題なのでしょうか。
#そもそも「データセットの追加」なんてするなよ、というツッコミは却下。

2004年9月9日木曜日

Tech Ed 2004

Tech Ed行ってきました。
基調講演の途中には寸劇が挟まっていました。その中で女優が「マツケンサンバ」という単語を口にしたのを私は聞き逃さなかった。


2日目終了後のパーティ会場でメグウェイじゃなかったセグウェイに乗ってきました。すごく並んだけど、その価値はあったデスヨ。セグウェイを動かすにはキーが必要なのですが、キーは3種類あって、それぞれ最高速度が違っているとのこと。今回は屋内だし素人だしということでスピードが出ないような設定になっていたようです。パチスロで言うなら設定1って感じですね。バーを倒すだけでは進まなくて、体重移動が必要でした。バックもできますが、見えないので危険です。左右カーブは左手のグリップをひねることで制御します。止まっていてもグリップをひねればその場で回転します。グリップを力いっぱいひねったらかなりの角速度で回転しました。たーのしーい。

2004年8月27日金曜日

Office 2003をWiki Clientに Part 2

明確にページを意識できるものとなると、ExcelかPowerPointだろう。

Excelならシート、PowerPointはスライドが使えそうだ。

行数の自由度を考えてExcelをWikiクライアントにしようと思った。


しかし、落とし穴があった。Excelだとハイパーリンクはセルの属性なのだ。

1つのセルをWikiの1行に対応させるとなると、1行に複数のリンクを設定するのが難しい。

しばらく悩んで、ハイパーリンクによる実装をあきらめる。


そのかわりにカスタムメニューを追加しよう。

ユーザがメニューを選択したらアクティブなセルに含まれるリンクを全部抜き出してドロップダウンリストを表示し、

そこからユーザに選んでもらうというインターフェースはどうだろうか。


いずれにせよ、VBA、そしてExcelのオブジェクトモデルに関する知識が必要だ……



2004年8月12日木曜日

COMLisp

COMLispという、Lisp処理系のCLR実装。

Lispを「実装してみよう」という行動に、いちプログラマとして感心することしきり。


.NET Framework上のLispには他にも:

DotLisp
http://sourceforge.net/projects/dotlisp/
Visual Studio .NET 2003の、Lispコンパイラ・サンプル
C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\Samples\clisp\clisp.htm

などがある。


プログラマが手すさびに実装してみたくなるものにはWikiもあると思うのだけれども、

「Wikiを実装してみました」より「Lispを実装してみました」の方が強そうだな…



2004年8月7日土曜日

2004年8月1日日曜日

iPod mini

本日届きました。思ったより早かったな。



興奮のあまり、iPodが上下逆です。

色はブルーにしました。


さーて、充電、充電…



2004年7月31日土曜日

Office 2003をWiki Clientに Part 1

WebMatrix Hostingを借りて、自作のWikiを設置しました。

http://inomata.japan.webmatrixhosting.net/


このWikiは、XML Webサービスに対応しているのがポイントです。

インタフェースは、JSPWikiのWiki RPC Interface 2を勝手にSOAP化したものです。

http://www.hyuki.com/yukiwiki/wiki.cgi?WikiRPC



2004年7月21日水曜日

Visual Studio Tools For Officeのトラブルシュート

Office 2003およびVisual Studio Tools For Officeをインストール。

VS.NET 2003を起動して新規プロジェクトを追加しようとすると、「Microsoft Office System Projects」が増えている。よしよし、順調だ。

Visual C# プロジェクトの「Excel ワークブック」を選択。するとウィザードが起動してプロジェクトを作成する。

作成されたプロジェクトにはThisWorkbook.csというソースコードが自動生成されている。ThisWorkbook.csではOfficeCodeBehindという名前のクラスが定義されている。

それはいいのだが、なぜかプロジェクトにMicrosoft.Office.Coreへの参照だけが追加されていない。ここでハマった、

Webでいろいろ探していると、Office 2003を修復すると治るとの情報が。さっそく試す。おお、たしかに治った。



2004年6月19日土曜日

We Will Rock You

http://www.queenonline.com/wewillrockyou/

ロンドンで観てきましたよ!Queenのミュージカル!
ストーリーははっきり言って単純だが、ひたすらQueenの曲を歌う!歌う!
いやーもー最高!

脚本を書きおこしたものを発見。著作権的にはアウトかもしれないが、正直、半分ぐらいしか聞き取れなかったのでこういうのは助かる。

開幕時のテロップ
一行ずつスクリーンに投影されたテロップを和訳。

BGMは超低音の持続音

1956
Elvis Presleyが「Heartbreak Hotel」をリリースした

1964
The Beatlesがアメリカを征服した

1969
ウッドストック

1975
Queenが「Bohemian Rhapsody」をリリースした(*1)

1977
Sex PistolsがBBCで放送禁止になった

1981
Bucks Fizzがユーロビジョン・ソング・コンテスト(*2)で優勝した



このへんから内容がイギリス内輪受けになってくる

1990
Jive Bunnyが1枚のレコードで12曲を台無しにした(*3)

1993
Mr. Blobby(*4)がチャート1位になった

2001
Hear'say(*5)が製造された

2002
Hear'sayが崩壊した



BGMはいつのまにか"Innuendo"になっている

2007
デジタルのサイバースターが初めてチャート1位になった

2009
ブサイクがチャートから禁止された

2021
コンピュータ以外が作った曲が「BBC Radio 1」で最後に放送された

2030
子供が自分のエレキギターを持つのに免許が必要になった

2046
全ての楽器が禁止された



登場人物紹介

POP(ポップ)
ヒッピー。図書館司書。「音楽が死んだ日」について調べていて、プラネットモールのどこかに眠る伝説の「楽器」がロック復活の鍵であることを知る。グローバルソフト社の私設警察に捕まり、洗脳施設「Seven Seas Of Rhye」に送られてしまう。

Khashoggi(カショーギ)
グローバルソフト社私設警察の司令。プラネットモールからロックを消し去るというキラー・クイーンの命令によって行動する。ボヘミアンたちを捕まえ、洗脳施設「Seven Seas Of Rhye」に送り飛ばす。

Galileo Figaro(ガリレオ・フィガロ)
バーチャルハイスクールの卒業生。名前は自称。周りの男の子(boyzone)から変わり者扱いされている。なぜか、頭の中で音楽が聞こえ言葉があふれ出す。いつか自分だけの本物の音楽を作るのが夢。ボヘミアンの恐れありとしてグローバルソフト社の私設警察に捕まり、スカラムーシュと出会う。

Scaramouche(スカラムーシュ)
バーチャルハイスクールの卒業生。名前はガリレオが名づけた。彼女自身のファッションポリシー(パンク)があり、周りの女の子(GaGaガール)とは一緒にされたくない。

Killer Queen(キラー・クイーン)
グローバルソフト社CEO。世界を思うままに操る。ロックを憎んでおり、伝説の楽器を探し出し破壊するためにはストーンヘンジでさえも爆破する。

Meat(ミート)
ボヘミアンの一員。アメコミのHeavy Metalみたいな格好をしている。頑固者。ブリットと付き合っている。ブリットが使命優先なので少しさびしい。ガリレオのことを「聖句」を盗み見たスパイだと思った。(追記)コマ劇の日本版だとOz(オズ)。

Brit(ブリット)
ボヘミアンの一員。ミートと付き合っている。音楽の復活を信じ、楽器を作るために木材を拾い集めている。ガリレオの頭の中に音楽があふれてくると聞き、待ち望んだ救世主「ドリーマー」が現れたと信じ、アジト「ハートブレイク・ホテル」に彼らを連れて行く。



We Will Rock You"で使われたQueenの曲とその意味合い

Radio Ga Ga
ヴァーチャルハイスクールの生徒たち。グローバルソフト賛歌 (歌詞は変えてある)。このミュージカルでは、"Ga Ga"という言葉に「グローバルソフトによるヴァーチャル世界」とか「グローバルソフトによるコントロール」といった意味を持たせてある。

I Want To Break Free
最初にガリレオ、次にスカラムーシュ。ヴァーチャル世界に我慢できないという叫び。ガリレオの登場時、およびスカラムーシュの登場時に歌う。

Somebody To Love
スカラムーシュ。私を愛してくれる人がどこかにいるはず、という思い。

Killer Queen
キラークイーン&取り巻き。恐怖政治を敷く独裁者として。

Play The Game
キラークイーン。グローバルソフトのCEOとして思うままにふるまう。(追記)コマ劇の日本版だと"Now I'm Here"。

Under Pressure
ガリレオ&スカラムーシュ。周りは異分子を恐れているので彼らを目の敵にする。

Kind Of Magic
カショーギ&キラークインーン。完全な支配を夢見て。

I Want It All
ブリットとミート。救世主となる「ドリーマー」を見つけることができれば、望む全てを得られる。

Headlong
ガリレオ&スカラムーシュ&ブリット&ミート。「ハートブレイクホテル」を目指して。

No One But You
ミート&ボヘミアン。(フレディを含む)ポップ・アイドルたちを偲んで。

Crazy Little Thing Called Love
ミート&ブリット&ガリレオ&スカラムーシュ&ボヘミアン。ロックとは何かわからないというガリレオに、愛のために歌うものだと教える。

One Vision
メインは没個性に疑問を持たない「消費者」たち。サブはガリレオ&スカラムーシュ&ボヘミアン。

Live Forever
ガリレオ&スカラムーシュ。2人が後戻りできない道で愛を確かめ合う。

Seven Seas Of Rhye
カショーギ。捕らえたボヘミアンたちを洗脳しながら。

Fat Bottomed Girl
キラークイーン。登場時。

Don't Stop Me Now
キラークイーン。ボヘミアンたちを捕らえたという報告を受けて大喜びして。しかし報告途中だったカショーギに歌を止められてしまう。

Another One Bites The Dust
キラークイーン。失望させるとどうなるかわかっているんだろうな、とカショーギを脅す。

Hammer To Fall
ガリレオとスカラムーシュ。口論しながら。

These Are The Days Of Our Lives
ポップ&ボヘミアン。日々は過ぎ去リ、希望だけが残っている。

We Will Rock You
ガリレオ。ウェンブリースタジアム跡地で、伝説の楽器をよみがえらせるために。

We Are The Champions
ガリレオ&全員。世界にロックが復活したことを祝って。

Bohemian Rhapsody
全員。We Are The Championsを歌い終わり、このミュージカルも終わりかな…と思ったときに、スクリーンに"Do you want Bohemian Rhapsody?"という字幕が出た。客席は大ウケ。

(追記)I Was Born To Love You
全員。コマ劇の日本版だけ。



反逆者「ボヘミアン」たちの元ネタ
ボヘミアンたちは全員、ポップ・アイドルにちなんだ名前を名乗っている。

Aretha
アレサ・フランクリン

Sir Paul (Big Macca)
ポール・マッカートニー

Cliff
クリフ・リチャード

Madonna
マドンナ

Jackson 5
ジャクソン・ファイヴ

Prince
プリンス

Beyonce
ビヨンセ

Bob
詩人ボブ、反逆者ボブ、預言者ボブ、建築家ボブ (ボブ・ディランかボブ・マーリィのどちらかなんだろうが…)(追記)Bob The Builder。建築家ボブではなかった。冗談だったのね。コマ劇の日本版では「ボブ・サップ」になってたな。

Meat
ミート・ローフ(追記)コマ劇の日本版だとOz(オジー・オズボーン)。

Brit
最大最強最悪で最もロックンロールなブリトニー・スピアーズ (オリジナルのセリフは "I'm the biggest, baddest, meanest, nastiest, ugliest, most raging, rapping, rock'n'roll, sick, punk, heavy metal psycho bastard that ever got get-down funky. They call me - Britney Spears.")



2004年5月27日木曜日

国立にて

駅北口、徒歩5分。
こぢんまりした定食屋。

旨いものは総じて…
体にわるいどんぶり

2004年5月21日金曜日

patterns & practices Summit 2004

http://www.pnpsummit.com/

Europe 2004に参加します。


(追記:今日は6/14。Microsoft UKに来てます。証拠写真を撮ってきました。)

Microsoft UK


Europe 2004の場所は…レディング!あのレディング・フェスティバルの開催地じゃないですか!


(追記)

スケジュール

発表者

TSS.NETの1日目レポ

TSS.NETの3日目レポ

3日目は、エンタープライズ開発の参照アーキテクチャ「Shadowfax」が目玉でした。



2004年5月19日水曜日

X Internet

@ITにスマートクライアント関連の記事を書きました。「スマート・クライアントの傾向と対策」です。
その記事が掲載される少し前に掲載された、安藤さんによる連載コラム「安藤幸央のランダウン」は、「リッチクライアント時代の到来」という見出しでした。
その記事で紹介されていたNexawebを見て、X Internetを思い出しました。


X Internetはアメリカの調査会社であるForrester社が言い出したキーワードで、これからのインターネットは「eXecutable」を経て「eXtended」にたどり着くという考えを表すものです。詳細は、“My View: X Internet”や、“The X Internet”をお読みください。


Forresterは「eXecutable Internet」の例として、CurlNexawebを始め、DropletsAltioLuxor XULXWTZapletといったリッチクライアント技術を紹介していました。
2002年ごろにいくつかの製品についてデモを試してみたことがあります。Java AppletやActiveXコンポーネントを使った、最近だとリッチ・インターネット・アプリケーションと言われるようなモノが多かったと記憶しています。


“X Internet: Rich Client Development - A collection of links, opinions, etc.”というページにもリンク集がありますから、興味がわいた人は辿ってみてください。

2004年5月15日土曜日

セガは昔ジュークボックスを作っていた。

最近、旅行先の旅館で実機を見た。もちろんちゃんとレコードを演奏できる。一風堂のすみれ September LoveとABBAのDancing Queenを聴かせてもらった。ノイズも無くきれい。


2004年5月14日金曜日

.NET アーキテクチャ センター日本語版

どっとねっとふぁん blogで知ったのですが、.NET アーキテクチャ センター日本語版がリニューアルされました。

以前のバージョンは日本版独自の構成で、左サイドバーは


アプリケーション アーキテクチャ



  • 概念的ビュー

  • アプリケーション 開発



テクノロジ アーキテクチャ



  • プレビュー: 概念的ビュー

  • データ センタの設定と運用




みたいな感じだったのですが、リニューアルされて英語版とほぼ同様の構成(概要、エンタープライズアーキテクチャ、アプリケーションアーキテクチャ、システムアーキテクチャ、パターン)になっています。



2004年4月21日水曜日

Martin Fowler in Tokyo

月刊ソリューションIT主催「アーキテクトセミナー」と、MS主催「.NETアーキテクトセミナー」の両方に参加。


(4/23追記)プレゼン資料発見。


Martin Fowler氏の話は、両者ともほぼ同じ(ドメイン層におけるTransaction Script, Domain Model, Table Moduleについて)でしたが、MS主催の方は講演時間が20分ほど長かったためO/R Mappingのパターン(Table Data Gateway, Row Data Gateway, Active Record, Data Mapper)と分散システムのパターン(Remote Façade, Data Transfer Object)の話もできました(というか、ソリューションIT主催の方は、同通が丁寧に訳しすぎてそれがボトルネックになっていたような気がする。それぐらいなら、MS主催の方みたいに豪快な同通がいい)。そうそう、NEOの話も出ました。


質疑応答の時間もMS主催の方にだけありました。紙に記入した質疑を回収してMS萩原さんがピックアップして質問する、というスタイルでした。

簡単にメモ。不正確だとおもいますがご容赦ください。bliki_jaも参照のこと。

Domain Modelはパフォーマンスが悪いのでは?
インスタンス化にかかるコストやオブジェクト間のメッセージ送受信にかかるコストなんてのは問題にならない。一番問題になるのはデータベースへのアクセス。クエリの組み立て方によってはパフォーマンスが悪くなることもある。パフォーマンスについて語るときにはきちんと測定しなくてはいけない。それから、マルチユーザのシステムであれば、ロックによるパフォーマンス悪化もありえる。繰り返すが、インスタンス化にかかるコストやオブジェクト間のメッセージ送受信にかかるコストなんてのは問題にならない。
SOAについてはどう考えるか。関連して、アプリケーションでプロセス内の呼び出しとプロセス間通信の両方を混在させることは問題になるのか。
SOAについては皆違うことを言う。基本的な立場として分散システムは避けた方がいいと考えている。Webサービスは良い道具だと思うが、Webサービスを使うときには非同期呼び出しがよい。疎結合になる。Entarprise Integration Patterns本(amazon.com)がお勧め。ただアプリケーションのレイヤ間通信にWebサービスを使うのは愚かしい失敗だ。Java Swingでクライアントを作って、サーバとWebサービスで通信するようにしたんだけど、XMLを組み立ててまた分解して、というのでパフォーマンスが悪かった。
パターンやリファクタリングを技術者に根付かせるには?
両者は関連している。パターンとは構造を設計すること、そしてリファクタリングは構造を変えることだといえる。そしてイテレーションの中でそれらを実施するんだ。Joshua KerievskyがRefactoring To Patternsという本を執筆中だ。ぐぐってみて。
テスティングフレームワークについて。Domain Modelはテストしやすいけれど、Transaction ScriptやTable Moduleはテストしにくいのでは。
3つともテスト可能にできる。テストについてルールは2つ。(1)データベースのスタブを作れ。(2)UIから可能な限りロジックを排除しろ。UIをテストするには画面を操作する必要があるから。今はリッチクライアントをテストしやすくすることについて考えている。
JavaではAOPやDependency Injectionというキーワードが流行っているが、.NETでも有効か?
JavaではEJBが嫌われていて、代替案としてオープンソースのプロジェクトが生まれてきたという背景がある。Pico ContainerやSpringといったライトウェイトコンテナだ。それらの考え方は.NETでも応用可能だと考えている。ロンドンのプロジェクトはC#の開発なんだけど、IoCの人たちが参加していた。ま、.NETはEJBの問題点を避けているように思えるけどね。

猪股の質問(AOPとかDependency Injectionは.NETでも有効と考えるか?)も選ばれました。


小ネタ1。Fowlerたんはイギリス式発音でした(イギリス出身だから当然か)。


小ネタ2。ユニシス尾島は自分のノートPCにFowlerたんのサインをお願いして断られた。曰く「僕の本にしかサインしないよ。」ということで猪股がP of EAAを尾島に渡し、無事サインしてもらいました。

ちょっと見難いですが、"Martin Tokyo 4/04″と書いてあります。



2004年4月8日木曜日

TestRunner for NUnit

TestRunner


TestRunner seamlessly integrates NUnit testing and debugging into a compact Visual Studio .NET 2003 add-in.


とのこと。nUnit Addinとどっちがいいのかな。



2004年3月26日金曜日

TypeKeyとSingle Sign On

Movable Typeの開発元でTypePadというBlogサービスをやっているSix Apart社が認証&プロファイル管理サーバを立ち上げるという話。(NDO::Weblog「TypeKey Overview」を参照のこと)


オンラインビジネス向け認証サービスといえば…の、.NET Passportは、あまり盛り上がっていない様子。

(CNET Japan「マイクロソフトのPassportはどこへいく?」を参照のこと)


この違いは何なんだろう。公開を前提としている情報で機密性が低いから、サービスの信頼性が問題にならない?うーむ、利便性と信頼性とのトレードオフの話で終わってしまってはつまらない。もう少し考えてみたい。


そうだ、Liberty Allianceはどうなっている?

私が興味を持ったのは、インテルの加盟、それから日本での事例としてNTTコミュニケーションズのCoDen順次適用というニュース、総務省のe-LearningシステムEduMartの実証実験(リンク先はpdf)、こんなところかな。



2004年3月11日木曜日

Martin Fowler氏、4月に来日

Martin Fowler’s Bliki in Japaneseを読むと、MSのイベントで来日するとのこと。

そういえば、MSからアーキテクチャ関係イベントのお誘いが来ていたけど、あれかなあ。だとしたら万難を排して参加しなければ…

その時はPatterns of Enterprise Application Architectureにサインしてもらおう。


追記(まとめて書き直し):

まず、私がMSからお誘いを受けたイベントは、Fowlerたんとは無関係でした。

次に、4/20開催のリックテレコムのセミナーに出席するのは確定。ユニシス尾島も出席するので、ついていこう。ただし、Fowlerたんは午前中しかいない。午後は別の仕事が入っていることを確認(ソースは出せません。すみません)。

そして、4/21日にはMS主催のイベントに参加。



2004年3月10日水曜日

FlashでBlog

blog.30k2.comというサイトはBlogのフロントエンドにFlashを使っている。

どこかのサイトに「FlashなBlogってないですか?」みたいな問いかけがあったように思ったのだが、問いかけを見ているときにはblog.30k2.comを思い出せず、blog.30k2.comを思い出したときには問いかけのあったサイトのことを忘れている始末。



2004年3月5日金曜日

Keeping Passwords in a Database Secure

dotnetjunkiesより。


自分のために、現時点での理解をまとめ。



パスワードをクリアテキストで保存

データベースにアクセスできる人が他人のパスワードを容易に取得できる。

パスワードを暗号化して保存

暗号化鍵の管理が大変。そして、暗号化パスワードであっても時間をかければクラック(復号化)可能であることを忘れてはいけない。

パスワードのMD5ハッシュを保存

ハッシュからパスワードに戻すことができないので安全…ではない。データベースにアクセスできる悪意のユーザーは、事前に文字列「password」のMD5ハッシュを生成しておいて、データベースに保存されている値と比べるだろう。MD5ハッシュが一致したユーザがいたら、そいつのパスワードは「password」だ。

パスワード+αのMD5ハッシュを保存

パスワードに、ユーザごとに異なる文字列αを追加して、そのハッシュをとる。となると、悪意のユーザは、誰かのパスワードが「password」なのかどうかを知るためには、文字列αを追加してMD5ハッシュをとる作業を各ユーザごとに行わなければならない。このようなユーザごとに異なる文字列αのことを「ソルト(塩)」と呼ぶ。


こんなところか。



Cassini

カッシーニ、ジョヴァンニ(Giovanni Domenico Cassini, 1625.6.8-1712.9.14).


ジェノア共和国(現在はイタリア領)、ペリナルドに生まれ、フランス、パリに死す。


ジェノアのイエズス会学院で学ぶ。パンツァノ天文台で観測(1648-1669)、1650年にボローニャ大学天文学教授。 彗星の観測(1652-3と1664-5)の詳細の記録を出版。水力学や工学にも興味。特にポー川の治水については貢献。都市の要塞化の監督とか、河川管理に関して教皇に雇われていた。


1669年、ルイ16世によりパリに招聘。1671年からパリ天文台長。土星の4つの衛星の観測(1671, 1672, 1684, 1684)、土星の輪の構造、特に隙間を見つけた(1675年、カッシーニの間隙)。木星の大赤点の発見(1665).


カッシーニの卵形線は、太陽と地球の相対運動の研究の一環として考察したもの。また、地球の経線の長さを測るのでは、長く見積もりすぎて、地球の形を縦長の卵形とみなして失敗(1712年)。24年後、モーペルテュイがニュートンの予言に従い、値を修正した。 [解IV.3], [パ24]


TOSM三重 人名索引


土星の輪の隙間のことをカッシーニ間隙というので、探査機「カッシーニ」の名前の由来になっていることは分かりやすい。でも、なぜ.NET Framework上で動作して、ASP.NETをホストするWebサーバのコードネームが「カッシーニ」なのかは、私には分からない。


ちなみに、Cassini Web ServerはJavaでいうところのTomcatみたいなものだ、と考えると分かりやすい人もいるだろう。ただしCassiniはリファレンス実装という位置づけではないし、当然ライセンス形態も違うのだけれど。



2004年2月29日日曜日

WhidbeyのモデリングツールWhitehorse

C|NET Japanに「Whitehorse」は、Windowsソフトウェア開発に革命を起こすか?という記事が載っています。


MSの製品なので「使える」ものになるとは思います。

開発スタイルが変わるかどうか、注目しています。



2004年2月25日水曜日

Web Matrix Japanese Edition

いろんなところで話題に上っていますが、ついに出ましたね。



ASP.NET Web Matrix Project 日本語版


雑誌記事を書いたり、サンプルを載せたりする場合はこれを意識すべきでしょう。



2004年2月23日月曜日

SQL Server Web 管理ツール (マイクロソフト)

河端善博さんのブログ経由


マイクロソフトがSQL Server Web Data Administratorを公開した。
phpMyAdminのSQL Server版、みたいな感じか。


とりあえず、ASP.Net Enterprise Managerとはまた違うようだ。
ライセンス形態がどうなっているか、機能面での特徴は、などを調べてみたい。


SQL ServerのEnterprise Managerを使える人にとっては不要なのかもしれないが、レンタルWebスペースなどでSQL Serverを触っている人にとっては重宝するツールだろう。


(2004.11.15追記)
「コンピュータ系blog」のエントリが参考になる。
そうか、DbaMgrか。なかなかいいな。

2004年2月21日土曜日

Web+DB Press 見本誌届く

Web+DB PressのVol.19に記事を書きました。

正規表現に関する特集記事の、.NETのところを担当しました。

「.NETのところ」と書いたのは、その他にPerl, Java, PHPがあるからで、そこはすべて小山浩之さんが書いています。しかも.NETまで含めた比較表まで。さすがです。


それ以外でも今号は面白かった。



2004年2月18日水曜日

ReSharper

(追記)上記↑タイトル横の「resharper」カテゴリをクリックすると関連記事が表示されます。


ReSharperは、JetBrains社のC#開発環境です。
JetBrains社は、IntelliJ IDEA(以下、IDEA)というJavaの開発環境を販売している会社。
その会社が作った、IDEAのC#版と目される開発環境がReSharperなわけです。
現在はEAP版が公開されています。
IntelliJ Technology Networkのフォーラムに投稿がありました。
投稿についた返信にある通り、EAP用サイトに指定されたアカウント(eapuser/eapuser)でログインしましょう。


これから、少しテストしてみて感想を載せたいと思います。


……と思ったんですが、TheServerSide.netにエントリがあるのを発見。


(追記)ReSharperの使用レポートを日本語に訳しています。

Longhorn情報(日本語)

MSDN JapanにLonghorn Developer Centerが開設されました。



2004年2月17日火曜日

.NETとJava

Visual C# .NETプログラミング入門の著者、Artonさん曰く:


その他に、Javaと比較した場合の1番の長所は、まったく高踏的じゃない点というか、これっぽっちもアカデミズム臭を感じさせない点で、逆にJ2EEな人(ノットイコール プログラマ)にはそれが気持ち悪く見えるのではないかとか、その間隙を補うために、ASP.NETはMVCですよのようなホワイトペーパーを用意したりとか、実にいろいろなことをやっているのが興味深いです。(「日々の破片」より)


確かにアカデミズム臭はありませんね。.NETって、VBみたいにD&D開発で楽ちんとか言ってるし、お手軽開発に役立つものをいろいろ取り入れていて節操が無いし、Windowsべったりだし、オブジェクト指向的でなかったりする(DataSetとか)し、プロプラエタリだし。

テクニカルライターと呼ばれる立場にはダブルバインド、そうなんですけど、とりあえず私は「ホワイトペーパー群」寄りのネタに反応していきたいです。しばらくの間は。


私Javaも.NETも好きですよ。脳内妄想的には、LAW(Java)に対するCHAOS(.NET)みたいな感じ。

……って、こういう分類をするとその他処理系を無視しているみたいですけど、そんなつもりはないですよ。あくまでこの2つを見て、ってことで……



2004年2月16日月曜日

Application Architecture for .NET

.NET のアプリケーション アーキテクチャ : アプリケーションとサービスの設計


やっと公式翻訳が出ました。

@ITの連載が完結した矢先でした。

たくさんの人が読むことを期待します。



沖縄旅行三日目

久高島最高。
昨年完成した「ゆいレール」に乗る。
泡盛を飲んで、三日間の旅行はおしまい。
ゆいレール
南島酒房 黒うさぎ

2004年2月15日日曜日

沖縄旅行二日目

空も海もきれい。
「きしもと食堂」で沖縄そばを食べる。
そして、沖縄のファミリーマートは三線を売っていた。
海
きしもと食堂
三線

2004年2月14日土曜日

沖縄旅行一日目

天気もよくて暖かい。
そして「ちんすこうショコラ」って。
国際通り
ちんすこうショコラ

2004年2月11日水曜日

DOAとUMLを“いいとこ取り”

IT Pro ITレポート(動向/解説)より


UMLは設計手法ではないと思うけど、それはそれとして。

.NETではO-RマッピングよりDataSetを使ったDOA的な設計の方が相性がいいと思っている。

今回はJavaだけど、他の人たちの同じようなアイディアも知っておかないと。



2004年2月7日土曜日

J2EEのコードをC#に変換

Microsoft Java Language Conversion Assistant 3.0 beta


不勉強でよく知らなかったのだが、Javaライブラリの呼び出しも.NET共通ライブラリの呼び出しに変換されるそうだ。それはすごい。てっきりJ#.NET専用ライブラリを呼び出すだけだと思っていた。

そして、JLCA3.0では、J2EE 1.3とJDK 1.3に対応し、EJBやJAASやJCEやJMSやJNDIやRMIに対応しているらしい。

さすがにJAXはまだか。

もしJDBC周りがDataReaderあたりにマップされて動作するのであればすごいなあ。そのへんどうなんだろ?



about me:公開されている署名記事とかインタビューとか

2004年2月1日日曜日

first post:開設しました

エキサイトブログから移転してみました。

いろいろテストします。

文字コードはEUCなので、トラックバックが文字化けしないか心配です。

トラックバックのテストをしてみます。

(追記)やっぱりEUCで送信されるようです。これはたぶんまずい。

(追記)charsetをUTF-8に変更してみました。どうかな?

黒糖キャラメル

積さん!
感想を書いてくださいよ~
黒糖キャラメル

2004年1月7日水曜日

新年

今年はMaster of puppetsとして頑張りたいと思います。

マスター!
マスター!
生茶パンダ

Internet Explorer ではなく適切な Office プログラムで Office ドキュメント が開かれるように構成する方法

http://support.microsoft.com/default.aspx?scid=kb;ja;162059

Googleの検索結果がpptだったりdocだったりすることがある。そんなリンクをクリックすると、IEとかIEコンポーネント利用ブラウザとかの画面内にwordやexcelのファイルが開かれてしまう。操作感覚が変わってしまい非常にうっとうしいのでブラウザ上に表示させたくない。Acrobat Readerもそうだったんだけど、そっちの設定画面には「PDFをブラウザに表示」というチェックボックスがあるので、それをオフにすればよかった。でもOfficeにはそんな設定項目は無い。ActiveXを切る設定にするのは、Windows Updateとかが使えなくて嫌だし。

…とこのようにわざとだらだら書いたのは、同様の悩みを解決しようとしてサーチエンジンで検索する人のため。(なにより、未来の自分ならきっとまた検索するだろう。)検索用の適切なキーワードが思いつかなかったので、あえて冗長に書いています。