2003年09月30日
川俣晶の縁側ソフトウェアMagSite1開発日誌total 1400 count

それまでの流れから飛躍したアイデアを着想して設計が覆る瞬間

Written By: 川俣 晶連絡先

 MagSite1の開発を延々と作業をしていますが。

 今日は書くことが2つあります。

 1つは、テスト駆動開発について。

 テスト駆動開発入門という本の感想は、http://mag.autumn.org/content.aspx?id=20030925164420に書いていますが、これを参考に少しやり方を変えたところ、効果は絶大です。

 レッド・グリーン・リファクタリングのサイクルを、なるべくグリーンを維持しつつ15~30分という短いサイクルでまわす、ということをやっています。その結果、ともかく精神的な負担がとても軽くなりました。いろいろなことを思う余裕も出てきました。

 その余裕の結果がもう1つの話題と言えます。頭が煮詰まっていたら思いつかないかもしれないアイデアです。余裕があればこそできたものでしょう。

 まず、最初に、画像の表示が遅い、という問題が起きていました。画像を含むコンテンツの添付ファイルは、ASP.NETのページを経由して提供されていました。その理由は、安全性確保つまり内部ファイルを隠すため、データを記録するディレクトリをIISの公開ディレクトリから完全に分離することにあります。全くIISと関係ないディレクトリにあるデータを、ASP.NETページを通して、提供していました。しかし、これでは、高度なキャッシュ機構が動作せず、速いわけがありません。明示的にキャッシュをコントロールしてなんとか、などと難しいことを考えてしまいました。この状態から、もっと簡単な解決を思いつくことは、かなりの飛躍を要します。簡単なアイデアではありますが、思考の筋道からずれているとなかなか気づけません。実際、煮詰まっているときは、それを気づくことができませんでした。しかし、テスト駆動開発を始めた今は、少し余裕があるのか、それがパッと思い浮かびました。

 添付ファイルだけIISのディレクトリの下に置けばいいじゃないか。

 問題はリサイズされた画像です。サムネール表示や、ユーザーが指定したサイズで画像を見る場合に使うものです。これは、これまでリクエストを受けてから(まだ未作成なら)作成する構造でした。しかし、アップロード時点で作成するようにして問題は解決。

 着想してから作り始めるまでは、当初の筋道から大きく外れる構造が本当に動くのかどうか自信が無く、悶々としました。しかし、悩むぐらいなら、とりあえず作ってみるべき、と気付いて作ってみたわけです。ダメなら捨てる、というのも、テスト駆動開発の本に書いてあったやり方です。

 実際に作ってみると、問題なく進行します。途中で、ちょっとシステムトラブルで悩まされましたが、それはアイデアの妥当性とは関係ありませんでした。

 というわけで、上手くできたと思って開発マシンをリモートからシャットダウンしましたが……。最後に重要なことに気付きました。

 せっかく用意したファイルを参照するように変更する最後の作業をやっていなかった……。常にグリーンを維持するやり方だと、全部作業が終わっていなくてもグリーンなので、終わるタイミングを間違うと、終わっていないのに終わってしまうこともあり得ますね。本当はしっかりTodoリストで管理すべき部分です。

 というわけで、最後の手順がすっぽり抜け落ちたというオチが付きましたが、感触は悪くないですね。作業は順調だと思います。

Facebook

キーワード【 川俣晶の縁側ソフトウェアMagSite1開発日誌
【MagSite1開発日誌】の次のコンテンツ
2003年
10月
01日
なめらかな使い勝手を実現するわずかな差とは何か
3days 0 count
total 1436 count
【MagSite1開発日誌】の前のコンテンツ
2003年
09月
23日
画像のリサイズ機能まで完成したけれど、前途はまだ長い?
3days 0 count
total 1607 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20030930010349
サイトの表紙【MagSite1開発日誌】の表紙【MagSite1開発日誌】のコンテンツ全リスト 【MagSite1開発日誌】の入手全リスト 【MagSite1開発日誌】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.34 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.