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

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

2007-10-01から1ヶ月間の記事一覧

題名検索Index終了。

これはまぁ、あんまり凝ってない。ので、コピペで適当に終了。 本当は、テキスト検索なので・・・凝ろうと思えばいくらでも凝ることができるんだろうけど。あんまり今の段階でやっても、定まらないのでスルー。ワイルドカードもなし。単純に、指定された文字…

U2Aインデックスについてのあれこれと、他の機能拡張メモ。

少し落ち着いて、ACLの権限リストやpolicyの評価の仕組みについて考えてみました。結果として、ACLキャッシュという、yb直下に配置されるべきキャッシュクラスが浮かび上がりました。また、ACLキャッシュの機能や、どのタイミングでキャッシュが無効となり、…

う〜〜〜、ようやく、ソートIndexが終わった・・・。

ようやくCUD系を実装し終わった。ソートIndexの特性上、append(), delete(), exist() だけで事足りた。基本的に、レコードの更新という処理が無いので。追記するか、削除するかだけ。created_atのソートは本当にそれだけで終わる。また、updated_atの場合はd…

やっと・・・ソートの参照系が終わった。

yb_idx_Base_SL1 としてもう、抽出しちゃう。あまりにも決まり切っているので。で、1:NやN:Nについても抽出しちゃう。 で、とりあえずソートの参照系と、1:Nの抽出と、あと、A2Dを1:Nに抽出したやつの派生クラスに書き換えてテストケースが動いた段階で一旦…

Stagehand_TestRunner、1.2.0リリースですね・・・。

素早いです。1.1.0が出たのは先週とかなのですヨ。先ほど、追加された -p オプションを試してみました。例えば、testディレクトリのトップとかにこんなファイルを用意しておくのですヨ。prepare.php

PackageFileManagerのバグの件、一歩前進。

http://pear.php.net/bugs/bug.php?id=12023quipo (Lorenzo Alberton) という人から、再現確認の報告と、より簡潔にしたパッチが提供された。とりあえず動作に問題のないことを確認して、Thank you と返信。この人、PEARのBugレポートのアクティビティではか…

ソートのバグようやく修正。あと、O2Dをcommit.

そろそろリファクタリングの気配が・・・。DAOとか。IDXとか。indexとか、特に1:N, N:Nのパターンで普通にリファクタできるよな。Owner User IDから、Data IDを引っ張ってくるO2Dなんか、T2Dの完全なコピペ。コメントと変数名しかなおしてない。テストケース…

初音ミクのさらにその先を妄想して。

初音ミクがきっかけでニコニコ使い始めた。例によって時流に遅れてるけど気にしない。

C2Dの最初の実装終了、あと、テストケースのコードなどちょこちょこと修正。

C2Dを実装しました。また、Acl/Thread/Group/User/Categoryについては、テストケースを修正し、CUD系のテストが終われば使用していたテンポラリファイルを削除するようにしました。 Dataについては、専用の空ディレクトリを用意していたのですが・・・PEARの…

カテゴリIDから、所属するデータIDを引っ張ってくるINDEX(C2D)のテストケース。

がとりあえず終了。うーん、用法としては多分本来の使い方ではないのだろうけれども、テストケースを先に書くのは、こうした、未経験レイヤーのI/Fを作るときの「ラフスケッチ」として結構有効。実装を先に書いちゃうと、どうしてもI/Fを直すのが億劫になっ…

MTAの切り替えについて。

VMware上ではデフォルトはsendmailになっている。一応postfixのパッケージも入ってはいるが・・・。実運用環境はpostfixになっていた。既に。 イカン。切り替えないと。 で、Google先生に聞いてみると結構ヒットしたのだが・・・。念のため、 http://www.cen…

yumの定時アップデート処理について。

さて、開発用・・・とはいえど。本番用もあるわけで。で、調べなくちゃ行けないのがパッケージのアップデート処理。というわけで、まずはさくっとyumパッケージ自体の中身を見てみます。

VMwareToolsのインストール

別件でちょっと、VMware上にCentOSの4(最新だと4.5か)を作りました。で、その時のVMwareToolsのインストールメモ。というか。 まぁいいや。参考リンク: http://wiki.centos.org/TipsAndTricks/YumAndRPM http://wiki.centos.org/HowTos/I_need_the_Kernel_S…

A2D, T2Dも実装終了。

基本コピペだったので。 これで次の3つは終了。 ACL ID から、そのACLで登録されているデータID群を取得するためのINDEX Thread ID から、そのThreadに登録されているデータID群を取得するためのINDEX Category ID から、そのCategoryに結びついているデータ…

Threadクラスも実装終了。

Groupとかからのコピペであっという間に終了。 で、ずっと気になってたんだけどSimpleTestの弱みって setUp()/tearDown()が、test****メソッド「毎に」呼ばれてしまうのだ。 つまり、ある FooBar_TestCase クラス全体の、始まりと終わりで何か処理をさせたい…

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

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

Dataクラス、最初の実装。

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

ニコニコと2chに最大級の感謝を。

正直、舐めてたわ。今まで。2chとニコニコを。でも、初音ミクの件でAce combat6の宣伝動画と組み合わせたMADを見て、改めて思った。 http://www.nicovideo.jp/watch/sm1318819こーゆーのを許容できる場所があるのって、凄い。しかもそのミームの広がる速度も…

変な癖。

道ばたを歩いているときに、自分の前後1つから2つの範囲で、地面に「線」を意識してしまう。 前後1つから2つの範囲で電柱や壁・塀の端があれば、左右のそうした端点間で地面に「線」が引かれているように感じる。 で、その線を思いっきり踏み抜くか、跨…

やっと・・・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のテストケース終わらない。

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

第28回PHP勉強会

PHP

に出てきました〜。PHP界隈の有名人がそこここに。http://events.php.gr.jp/event.php/event_show/28Asialの亀本様より、symfonyのテスティングフレームワークで"lime"というのが新しく用意されたお話聞きました〜。どうもです。PHP4にも対応していると有り…

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の最初のバージョンをどうやって作るのか、だけ。合い言葉:「欲しい機能は後回し。」