2011-01-24
第一次Pettal開発(2009年10月〜2010年1月)
開発ツールができれば、いよいよPettalの開発です。着手したのは2009年10月。Pettal_0というプロジェクト名で、コーディングをスタートしました。
まずサーバー側は、Gaucheで以下のものを作り込んでいきました。
- ページリロード時のHTML構造の生成。
- RDBMSにデータを格納するセッション管理機能。
- Ajaxリクエストに対するリクエスト機能。
- ログイン/ログアウトの機能。
- マルチユーザーを前提にしたアクセス制御機能。
- MySQLに対するデータアクセス機能。
クライアント側は、Javascript+jQueryで、ユーザーインターフェースを実装していきました。サーバーとのやり取りは基本的にAjaxです。サーバーからのレスポンスが来る前でも次のリクエストを安全に送れるように、キューイングの仕組みも作り込みました。
Javascriptでの開発で一番悩んだのは、どのようにデバッグするかでした。最初はIE6で動作テストをしていたのですが、ちょっとしたコーディングミス(例えば“}”が足りないとか)で、うんともすんとも言わなくなります。いろいろやってみて最終的に、以下の方法でデバッグすることに決めました。
- まずFireBugsを導入したFirefoxで動作確認する。ここで基本的なバグを洗い出し、問題を修正する。
- 次にIE6で動作確認する。Firefoxで動いても、IE6で動かないケースが少なくないので。
- Operaで動作確認する。Firefoxで動けば、ほとんど間違いなくOperaでも動くのですが。
- Chromeで動作確認する。これもFirefoxで動けば(以下略)。
- Safariで動作確認する。Chromeで動けば問題ないことが多い。
まあ、とりあえずはこの5種類のブラウザで動けば問題ないでしょう。たいていのバグは、(1)と(2)の段階で洗い出せます。重要なのは、1ヶ所修正したら、すぐに(1)と(2)をやること。たくさん修正してから(2)で動かないとなると、コード全部をコメントアウトしてから、少しずつコメントアウトを外して問題箇所を見つけ出すといった、ものすごく泥臭い作業が必要です。
基本的な機能ができあがったのは2010年1月。開発に区切りをつけるため、1月21日に知り合いのIT企業の人にデモを行いました。
その後、Pettalの開発はしばらく休止することになります。ひとつは本業(IT業界のコピーライター業です)が忙しくなったので、とりあえずは目先の現金を確保しようと考えたから。そしてもうひとつの理由は、どうも今年あたり(2010年のこと)に、データベースの世界に大きな変化がありそうだと感じたからです。
- 23 http://practical-scheme.net/wiliki/rssmix.cgi
- 5 http://practical-scheme.net/chaton/gauche/a/2011/01/24
- 3 http://reader.livedoor.com/reader/
- 2 http://www.google.co.jp/search?q=Pettal
- 1 http://blog.search.goo.ne.jp/search_goo/result/?MT=コピーライター&tg=all&da=all&st=time&dc=10&ts=all&rss=2&fs=all&rm=1
- 1 http://d.hatena.ne.jp/
- 1 http://d.hatena.ne.jp/diarylist?of=150&mode=rss&type=public
- 1 http://k.hatena.ne.jp/keywordblog/Gauche
- 1 http://k.hatena.ne.jp/keywordblog/javascript
- 1 http://pipes.yahoo.com/pipes/pipe.info?_id=cd1c8b53a467958b474019a814a6496f

