ぐらめぬ・ぜぷつぇんのはてダ(2007 to 2011)

2007年~2011年ごろまで はてなダイアリー に書いてた記事を引っ越してきました。

YakiBiki

ソートのロジックで致命的なミスしてた・・・。

ownerなどでのソート。あれ、ヤヴァイ。アホだ。 えーっと、つまり、一意でない値が入ってくるようなフィールドのソート処理全部。ええ。もう、察しの良い方はとっくに嗤っているかと。 // find系でファイルから読んだデータ($_els)を一行ずつarrayにバラし…

Dataクラス、最初の実装。

やっとSVNにコミットできた。長かった。 後はThreadのdaoを用意して、それが終われば実際のドメイン・・・というかトランザクション処理?相当のレイヤーを実装しよう。 トランザクションと言ってもrollbackができる訳じゃないけど。まぁ要するに、複数のdao…

やっと・・・Dataのテストケースが終わった。

すげー長い。1800行強。"assert"でgrepしたら 804個も出てきた。そんなにコピペしたのか。 うーん・・・なにしろ、あるプロパティや本体データのバージョン変更時に、「影響ない部分は前のデータと比べて変更されていないこと」を確認する為に相当量コピペし…

Dataクラスでバージョンを操作するときのコンセプトを修正予定に。

さっきお風呂入ってて思ったのですが、お風呂はいる前までは、current_versionも同時に変更できるようにしていたのです。 データの更新については大まかに以下の種類があります。 名前やACLなど「属性値」の更新 現在バージョンの変更 データ本体の変更(以下…

Dataクラスの実装途中でお休み。

find_by_id()とcreate()まで終わって、update()の途中。あれ・・・、データ本体のバージョンアップ「だけ」の場合、属性の方のupdated_by/atってそのままだっけ。自分でテストケース書いててずれてるかも・・・。 というわけで、まだSVNにはコミットせず。

Dataオブジェクトのテストケースがまとまらないっっ・・・!!

うううぅぅ・・・まとまらないよぅ。何がまとまらないかって、閲覧時の処理をどうするかがまとまらない。 少なくとも次のフィールドは、ソートあるいはフィルタ対象になる。 owner, acl, thread, category, modified_at, created_at, name このうち、acl/thr…

CategoryのDAO、とりあえず実装終了。

速い。 そりゃそうだ。TestCaseも、実際のクラスファイルも、AclやGroupのコピペ合成だし。これでバージョン管理を伴わない、いわばYakiBikiでの「システムオブジェクト」についてはdaoを作り終わった。いよいよ本丸の、YakiBikiの「データオブジェクト」に…

駄目だ、今日はDataのテストケース終わらない。

一応何点か覚え書きを。名前は、バージョン管理はしない。(最初バージョン情報に含ませてしまっていた) 何でかというと、名前検索の場合がやや複雑に過ぎる気がするし、そもそも名前を変更した場合バージョンはどうなるのだ? 名前は属性として一括した方…

AclのDaoクラスとりあえず実装終了。

続いてカテゴリ。タグでもなくキーワードでもない。厳密に、「カテゴリ」。これも公開制御ポリシーはACLと同じく、サイトのオーナーにゆだね、完全公開とする。 結局、カテゴリやACLに付いては、「見せる・見せない」を区別しようとしたければサイトを「分け…

AclのDAOのテストケースを書き終わった。

昨日は別件で、日中、都内で別の作業をしていた。終わってから家に戻り、夜、AclのDAOのテストケースを書き始めた。 気晴らしに東方風神録で、EASYモードで霊夢と魔理沙を2モードほどクリア。まだNORMALは無理ぽ。EASY制覇をまず目指す。 で、今日は起きてか…

Group.class.phpとりあえず終了。

SVNも使用開始。 http://yakibiki.svn.sourceforge.net/viewvc/yakibiki/ https://yakibiki.svn.sourceforge.net Path to Repository: /svnroot/yakibiki $ svn import https://yakibiki.svn.sourceforge.net/svnroot/yakibiki/yb-php $ svn checkout https:…

忘れそうなので書き留めておこう。

Xhwlayが終わってようやくYakiBikiに取りかかれるのだけれど、memoriesで失敗したことや、3年間待ち続けた機会損失を鑑みて、YakiBikiの最初のバージョンをどうやって作るのか、だけ。合い言葉:「欲しい機能は後回し。」

Userオブジェクトとりあえず書き終わり。

YakiBikiのユーザーを管理するUserクラスをとりあえず書き終えた。User.class.php。どうせまた後で機能追加とかで書き換わっていくので、未完成でも気にしない。というか、気にしちゃ駄目。