« October 2004 | メイン | December 2004 »
November 30, 2004
Mozilla Firefox ~ 良いソフトウェアとは
■ Mozilla Firefox
最近は、Mozilla Firefox を使ってみている。
IE 等と比較して、ほぼ問題なく使えている。
そして、使い込む程に、徐々にではあるが楽しくなってきた。
Web ブラウザとして、多くの面で進化している。
Firefox は、機能や見た目をカスタマイズできるようになっている。
柔軟なコア部分を拡張部分が取り巻いている。
そして、更にこれから進化していくであろう、という期待を抱かせる。
こういう新しいものに接することは、「良いソフトウェアとは、例えばどういうものか?」ということを考える良い機会になる。
■ 良い道具とは
様々なユーザーがいる。様々な要望がある。
年年歳歳、環境は変化していく。新たな要望が、生まれていく。
一人一人のユーザーもまた、使い始めの時期があり、次第に使い慣れ、そしてその内、自己流の使い方を見つけていく。
徐々に使い方を変化させていくのだ。
使い始めの頃の「判りやすさ」・「使いやすさ」と使い慣れてからの「判りやすさ」・「使いやすさ」は違う。
使い始めの頃に便利だった機能が、使い慣れてからは邪魔な機能になることもある。
要らない機能は使わなければ良い、ではない。寧ろ、要らない機能は存在すべきでない。
道具に体を合わすのではない。道具が体に馴染んでいって一体感を感じさせるべきなのだ。そして、自分に合った道具を使う、という喜びを感じさせることができれば素晴らしいことだ。
■ ソフトウェアは良い道具になれるか
ソフトウェアにしてもハードウェアにしても IT 周りの道具は、今ひとつ使い勝手が宜しくない、とよく言われる。特にソフトウェアの使い勝手の悪さは、他の道具と比較されて指摘されることが多いようだ。
なにしろ、道具としての複雑さの違いがあるし、勿論、ユーザー側の歴史が違う。
なにより、道具としてのソフトウェア自身、まだまだこなれていないのだとは思う。
しかし、ソフトウェアは、可能性としては、すごいものを持っている筈だ。
普通の道具というのは、大概、作られた時点で機能や見た目が決まってしまう。
後付けの機能というのはそんなに期待できないし、後から見た目を変えることも余りできない。
つまり、こういう道具の機能や見た目は、静的バインディングであり、事前バインディングだ。
「良い道具の例」によくあげられる一眼レフは、あれは、Strategy パターンだ。
動的バインディングになっている。
インタフェースさえ合うものなら、使うときに機能を取り替えられる。
それに対してコンピュータという道具は、これは更に遅延バインディングなのだ。
後付けの機能に対応する。
コンピュータがユーザーに与える利便性の多くは、後から「インストール」される。
Firefox のようなソフトウェアだって、先に見た通り、遅延バインディングだ。
作り方によっては、後付けの機能や後付けの見た目に対応することができる。
使われ方が変化したり、どんどん進化したり、ユーザーの個々の希望に合わせたり。
そういうのはソフトウェアの得意技の筈なのだ。
ソフトウェアは、作り方により、とても良い道具になる可能性を持っていると思う。
■ 良いソフトウェアとは
「やりたいことが一応できる」ことが、品質ではない。
万人の平均を満たすソフトウェアが良いソフトウェアではない。
人々の欲する機能を一挙に搭載したソフトウェアが良いソフトウェアではない。
良いソフトウェアは、「変化を抱擁」する。
投稿者 Fujiwo : 10:00 AM | コメント (9) | トラックバック
November 28, 2004
A3 ホワイトボード
を読んで、取り敢えず A3 のホワイトボードを買ってきた。
千円くらい。
また、
を参考にクリップボードも買ってきた。
明日から少し試してみるつもり。
ちなみに、これまでは、二人の時は A4 コピー用紙、それ以上の時は普通の大きなホワイトボードを使うことが多かった。
A4 コピー用紙だと、三人以上で覗き込むには狭い。
A3 のコピー用紙だと、ペンを多少太いものにしないと視認性が悪い。
してみると、A3 ホワイトボードというのはいいかも知れない。
ただ実物を手にして思ったが、A3 というのは二人で机の上で使うには、少しでかくてごつい気がする。
さて実際にはどんなものだろう。楽しみだ。
# こうなると、ボードマーカーとイレーサーの良いのも欲しい。
投稿者 Fujiwo : 04:48 PM | コメント (0) | トラックバック
November 27, 2004
もんじゃ焼き
今夜はもんじゃ焼き。
初めてもんじゃを食べたのは、成人してから。
関東の友人に連れられて、駄菓子屋で初めて食べたそれは、具がキャベツくらいしか入っていないシンプルなものだった。
それから大分経って、今度は家族旅行で浅草の「ひょうたん」へ行った。それ以来、我が家の定番メニューの一つになった。
一応、月島風でなくて、浅草風のつもり。
久し振りでおいしい。
投稿者 Fujiwo : 11:59 PM | コメント (4) | トラックバック
OOPが理解できません
今日、C# で MVC なフレームワークを試作していて、ふと、「そう言えば 中西 さん (*1) のところではどんな風に Observer や Singleton を書いていたっけ」と、
を見に行った。
すると、ページの下の方に「OOPが理解できません」との文字が。
「?」
リンクになっているようなのでクリックしてみる。
リンク切れ。
仕方がないので、元のページに戻る。だが十秒後に妙な違和感。
もう一度先の「OOPが理解できません」をクリックして
「NUnit」とか書いてあるし。笑った。
(*1) 中西 さん は、「.NET でアジャイラー」(謎) 仲間。
投稿者 Fujiwo : 07:34 AM | コメント (7) | トラックバック
November 22, 2004
遠山式超立体写真
「遠山式超立体写真集 Touch it!」という本を購入した。
随分前のことだが、ランダムドット ステレオグラムというのが流行ったことがある。
ステレオグラムという絵を平行法や交差法などの裸眼立体視で見ると、立体的に見えるのだ。
これは結構気持ち良い感覚で、暫く立体視に凝ったことがある。
で、今回買ったのは、赤と青のセロハンの眼鏡を通して見ると飛び出して見える、というやつだ。
いわゆる赤青眼鏡方式のステレオグラム。昔の立体映画などでよく使われていたものだ。
但し今回のは、かのナムコが特許を取っている「遠山式」というもので、従来のやつと見え方が違う。
- 従来の赤青眼鏡による立体視との比較
- 実物大の絵を、実際の距離・角度と同じくらいの位置から見るので、遠近感がリアル。
- 色も或る程度表現されている。
- 裸眼立体視との比較
- 平行法や交差法が出来ない人でも立体視が可能。
- 立体的に見えてくるまで時間が掛からず、見た瞬間から立体的に見える。
- やや色あせて見える。
写真の上に実物を置いて、立体視すると更にリアルに見える。
楽しい。
「遠山式」については、この辺に記事が有る。
今回買ったのは「Touch it!」という本で、お札やら食べ物やらの写真が飛び出して見えるのだが、他にも遠山式の写真集は出ている。
- 遠山式立体表示法 絶叫3Dポスターブック R.C.T. (根本はるみ率いるスーパーセクシーアイドルユニット「R.C.T.(R指定)」の写真集)
こちらの方が、もっと楽しそう。
投稿者 Fujiwo : 06:05 PM | コメント (2) | トラックバック
November 21, 2004
福井県立恐竜博物館
家族で勝山の福井県立恐竜博物館へ。
国内では最大の恐竜博物館である。
今日は観覧料が無料の日。
家から車で30分位。
息子が恐竜が好きなのでよく来る。もう五回以上来ている。
娘は恐竜より、自分の誕生石 (ルビー) に見入っていた。
今日は一日雨だった。でも見事な虹を五回も見ることができたので気分は悪くない。
投稿者 Fujiwo : 04:59 PM | コメント (5) | トラックバック
November 20, 2004
濃霧
濃霧発生中。
投稿者 Fujiwo : 04:11 PM | コメント (3) | トラックバック
November 19, 2004
.NET開発にアジャイルを適用するには
・.NET開発にアジャイルを適用するには アジャイル開発を導入できていない.NET開発者たちへ
福井さん、小井土さんによる@IT の記事だ。
アジャイルに不慣れな .NET 開発者への「ローカル・ライトウェイト開発プロセス」の勧め、ということで、TDD (Test Driven Development: テスト駆動開発) 周りのプラクティスの導入を勧めている。
後編もあるということで、期待大だ。
今後、マイクロソフト系の開発で徐々に TDDが「普通の手法の一つ」になっていく、そんな気がしてくる。
ツールやドキュメントによるサポートで、おっくうで保守的な人でも、手が出しやすくなってきた。
「Microsoft .NETでのテスト駆動開発」(原題: Test-Driven Development in Microsoft .NET) という本も出ている。
現状で特に、お勧めなのが、「Test Driven .NET」。
Microsoft Visual Studio のアドインの形でユニットテストをサポートする。
NUnit と一緒に使う。
Visuaul Studio のビルド作業やデバッグ作業とほぼ同じ使い勝手で、自動単体テストを行うことが出来る。
テスト自体のエラーやその他の catch されていない例外が、ビルド エラーと同様のタイミングで同様の場所に表示される。また、テストのデバッグ トレースも可能だ。これはとても強力。
Visual Studio 2005 や Visual Studio 2005 Team System にも対応している。
「ここまでしてくれるんだったらもう TDD でもいいや」って思わせることが出来る。そんな感じ。
※ 後編も出ました (2004/12/22)。
・.NET開発者のための開発プロセス入門 (後編)
.NET開発でアジャイルを導入するための実践テクニック
今回は、.NET での「ローカル・ライトウェイト開発プロセス」の具体的な実践方法です。
以下のような内容です。
- NUnit を使ったテスト ファーストの具体的なやり方
- Mock を使ったテストの例
- 次期 Visual Studio で使えるリファクタリング機能の紹介
- NAnt を使った常時結合
- その他のプラクティス (計画ゲーム、ペアプロ) の紹介
投稿者 Fujiwo : 07:48 PM | コメント (0) | トラックバック
November 18, 2004
フロントガラス
朝、通勤しようと車に乗って、前を見るとフロントガラスに30cmくらいの大きなヒビ (ロング・クラック) が。
げげげ。
さては、昨日の異音は石がフロントガラスに命中した音だったのか。
これはフロントガラス全取っ替え 10万円コースでは。
応急処置ならもっと安くできるだろうが、このヒビを応急処置するのは危険かも。
でも10万円ってあんた。
そんな金どこから引っ張ってくれば…
これは、恒例の冬の家族旅行、今年は取り止めか。
ちょっと青くなったが、車屋に聞いてみたところ、全額保険で大丈夫とのこと。
ふう。
# というわけで、生まれて初めて車の保険を使うはめに。
投稿者 Fujiwo : 11:23 PM | コメント (0) | トラックバック
November 17, 2004
Microsoft patterns & practices
近年マイクロソフトが力を入れているらしいパターン関連の頁は、今後益々要チェックのようだ。
日本語の書籍も今月頭に発売になっている。
最近 ASP.NET の社内研修をやっているのだが、見ていると、或る程度 ASP.NET が判ってきて実用的なプログラムを書こうとしたときに、よく戸惑うのが、次のような点らしい。度々質問を受けた。
- 「ページのクラスとデータに関連の強い部分のクラスが入り乱れてしまうのだけど、それぞれどのように作っていったらいいの?」
- 「ページが沢山になったときに共通の処理をどこかに纏めたいのだけど、どうするのが普通?」
- 「ページ遷移が複雑になったときに、ソースが汚くなるのだけれど、何か良い方法はないかしら?」
ASP.NET でアプリケーションを書き進めていくと、上のようなことが解決できず、直ぐにソースがぐちゃぐちゃになってしまう、と言うのだ。
そういう人には、先の Microsoft patterns & practices から、先ず以下を試してみるように言ってみる。
かなり手取り足取り説明してあるので、パターンに不案内な人にも分かりやすい。
また、テストのしやすさについても言及されているのが良いと思う (*1)。
後は追加で「『3 層分散』周辺は読んどいてね」とか、Singleton パターンくらいなら知っているという人には「『C# でのシングルトンの実装』が面白いよ」とか。
とにかく、効果が実感しやすそうなところから紹介していく。
この辺に少しずつ慣れていって、それから少しずつ、ドメイン モデルを作るべきかどうかや、ユーザー インタフェイスのテスト方法などについても考えていったら良いと思う。
そして、色々とパターンを試していく中で、プログラムの複雑さをどこにどんな風に吸収させていけば良いのか、そのコツを帰納的に体得していくのが良い。
パターンは教育ツールとしても強力なのだ。
(*1) これからは、デザイン パターンやアーキテクチャ パターンの記述のテンプレートに「テストのしやすさ」という項も追加するのが良いのではないだろうか。
パターンを適用することでどう設計が良くなるのかを言うのに、「テストがやりやすくなる」というのは判りやすい指標になると思う。
投稿者 Fujiwo : 12:42 PM | コメント (3) | トラックバック
November 16, 2004
開発プロセスの社内イベント
今、社内でソフトウェア開発プロセス改善のための試みをやっている。
できれば、もっとアジャイルに開発を進められるようにしたい、と願っている。
基本的には、
のようなアプローチが良いような気がしている。
で、今年度中に、社内で「大きなイベント (Big Jolt)」を一つやる予定。言うほど大したものじゃないが。
新しいことを取り入れようとするときには、やるべきかやらないべきかを議論し結論が出るのを待つより、実際に少しずつでも参加・体験してみて (してもらって)、そこからフィードバックを受けた方が良い。
つまり、ウォーターフォールでなく、アジャイルに進めるのが良い。
それにしてもこの取り組み、中々先に進まない。
何かが不足している。
解決方法を見出すことにばかり焦って、問題をきちんと分析しないのが原因なのか。
投稿者 Fujiwo : 07:24 AM | コメント (2) | トラックバック
November 08, 2004
B2爆撃機
かのイラク戦争でも使用されたB2爆撃機。
随分とユニークな形状の飛行機である。
これには、垂直尾翼がない。
ステルス機である B2 は、レーダーに映りにくいように、レーダー波を来た方向に反射するような垂直な部位をなるべく無くしてある。
ところで、垂直尾翼というのは、飛行機が安定して飛ぶために欠くべかれざるもの、と聞いたことがある。
垂直尾翼が破損すると、通常の飛行機はダッチロールのような不安定な状態になる。
垂直尾翼があることで、飛行機はまっすぐ飛んでいられるのである。
では何故垂直尾翼のない B2 は安定して飛んでいられるのであろうか。
実は B2 は、CCV (Control Configured Vehicle) の一種で、垂直尾翼がない不安定な状態をコンピュータで制御することで飛んでいる。機体が傾くとコンピュータ制御により機体の傾きが補正されるのである。
つまり、安定して飛んでいるのではなく、こまめにフィードバックと補正を繰り返しているので、安定しているようにみえる、のである。
これってアジャイルだよね。
※ 『【XP】これってアジャイルだよね』というページを作ってみました。
投稿者 Fujiwo : 01:07 PM | コメント (1) | トラックバック
November 07, 2004
養老の滝
大学の頃の友人同士の家族四組で久し振りに集まって遊んだ。
場所は岐阜県養老町。
大人が七人に子供が九人。
何時の間にか子供の方が多くなっている。人間も
行き先は以下の通り。
一日目は遊園地など。
こども中心のメニューのようだが、夜は飲みまくり。夕食が始まる頃には、ビールが終わってワインが二本空いていた。
二日目は養老の滝へ。
養老の滝は二回目。二十年振りに見たが、中々良い滝っぷりだ。
私はアジャイルが好きだが、こうして見ると、ウォーターフォールも捨てたものじゃない。かも知れない。
投稿者 Fujiwo : 05:03 PM | コメント (3) | トラックバック
November 05, 2004
オブジェクト倶楽部 クリスマス企画
オブジェクト倶楽部主催の「オブジェクト指向実践者の集い」第三弾 クリスマス企画があるとのこと。
http://www.objectclub.jp/event/2004christmas/
2004年12月9日(木)
国立オリンピック記念青少年総合センター
テーマは、ソフトウェア開発の「見える化」とのこと。
取り敢えず申し込んだ。
今回もライトニングトークスがあるとのことでこちらも参加希望してしまった。
楽しみ。
投稿者 Fujiwo : 07:09 PM | コメント (3) | トラックバック
November 04, 2004
.NET/C# 研修
今日から、.NET/C# の社内研修を始めた。
ASP.NET 研修は、ずっと前から続行中だが、今度のは、Windows フォーム中心。
C++/C# での Windows 上での CAD の作り方の研修も数回実施。
自分の学習の方が全然進まない。
読みたい本もあるが、それより、もっとプログラミングを試したい気分。
今度、.NET Windows フォーム用のフレームワークと、その上にのる CAD のフレームワークのモデリング&実装をしてみたい。これはいずれにしても一度試す必要がある。
他にも .NET 上で実装を試したいものが幾つかある。開発用のツールとある種の ASP.NET アプリケーション。
投稿者 Fujiwo : 11:31 PM | コメント (0) | トラックバック
November 03, 2004
Microsoft Tech・Ed 2004 Yokohama 「Post Conference DVD」
Microsoft Tech・Ed 2004 Yokohama の 「Post Conference DVD」が送られてきた。
内容は、
-
「Post Conference DVD」 4枚
Learning Day や 基調講演、テクニカル セッション等の 映像 (Windows Media) や資料 (Power Point) - 「Visual Studio 2005 Beta 1 Refresh with Visual Studio 2005 Team System (英語版)」
- 「SQL Server 2005 Beta 2」と「SQL Server 2005 Beta 2 ハンズ オン ラボ DVD」
Visual Studio 2005 Team System は楽しみにしていたもの。
早速個人的にも仕事上も評価して行きたい。
また、参加できなかったセッションについてもこれで内容を把握することができる。
# 「Microsoft Operations Manager 2005 日本語版」も到着 (2004/11/26)。