小さなサービスを作ったメモ

気がつけば一月ぶりの更新。ちゃんと生きております。

ところで先日MA4の授賞式に行って来てノミネート作品から大いに刺激を受けて来た次第。
その勢いでじゃらんWebサービスを使ってひとつマッシュアップサイトを作った。

厳選された源泉掛け流しの温泉宿

  • 温泉あり
  • 源泉掛け流し
  • 口コミ評価4.0以上

といった条件の宿を温泉別、都道府県別、地域別に検索できるというだけのもの。

「温泉宿で評判のいいところを手っ取り早く探したい。あ、もちろん源泉掛け流しで」

と言う人向けなのでこのブログを読んでる人にはあんまりマッチする人がいないかもしれない。
かくいう自分も普段はキャンプか日帰りで宿に泊まらないのでマッチしない。
ただ温泉旅行の幹事を押しつけられた7月くらいには欲しかった。

MA4触発されたという割に機能的に面白いところは全くなく手習いのようなサイトで申し訳。
まあこれくらいのものでも正味16時間くらいで出来たというのは手の遅い自分にしては上出来と思っている。
ちなみにRails2.1初使用。

以下は今回の開発に関するとりとめのないメモ。
未来の自分のための参考程度に。

設計

まずはいつものごとくペーパープロトタイプを書いた。
一行のコードも書かずに自分のアイデアを形に出来るというのはすばらしいことだ。

あとは作りながら気がつくことも多いので、そういうことに関しても随時メモを追加していく。
ただしその時に余計なことを考えすぎて初期コンセプトとのズレが発生しやすい問題を感じた。
それでもっとよいコンセプトになるのならばいいのだけれど、だいたいはみりんで薄めた酒とか調味料を適当に足した料理みたいな羽目になる。

これを防ぐには誰がどんな使い方をするのかといった簡単な仕様書くらいは書いた方がいいかもしれないと思った。
作ってるうち気がついたことがあればまず仕様書をアップデートする。それで多分だいぶブレなくなる。はずだ。

そういう仕様書のやさしい書き方はジョエルさんが教えてくれる。
Joel on Software』は何年経ってもいい本。

デザイン

実際のHTMLとCSSと画像による見栄えのデザイン。
最近はヘボなりに楽しくやっている作業のひとつだったりする。

背景とアイコンを作るために以下のサイトのお世話になった。

グレート。

それと技術者のためのデザインバイブルと言ってもいいのではないかと思っている本も随時読み返す。

感性ではなく理屈で分かるところがいい。

キャッシュとURI設計

まずAPIからのレスポンスを一定時間キャッシュするテーブルを作った。
でも後でページキャッシュを採用したのでAPIレスポンスのキャッシュは正直意味がなくなってしまった。

URLは最初は/searchの後ろにクエリストリングが続く動的なURLでいいやと思っていたものの、それだと検索条件ごとにページキャッシュがうまくできなくて結局はある程度ルーティングした。
そこまでやったらついでなので静的ファイルっぽくした。

ただこれによってちょっとしたバグが出てきたりして対応に手間を取られた。
開発時間の3分の1くらいはこいつらと格闘していた時間だ。

キャッシュ設計とURI設計は後付よりなるべく最初にやっておいた方がよいね。