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

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

YakiBiki

YakiBikiもやってるよ。

メンタルクリニックに駆け込んでからこっち2週間ほど、YakiBikiに再度着手してます。 何年掛ける気だ。 まぁ先週は気分がもう完全にダウナーで、ぐだぐだ鬱エントリを書くので精一杯。というか、暫く経ってたのでYakiBikiのソースの構造を頭によみがえらせて…

DataのDAOレイヤーをgrainベースに置き換えた。

yb_dao_Dataからバージョンやコメント情報を削り落としてシンプルにしました。バージョンやコメントは、それぞれ yb_dao_Version yb_dao_Comment として分離されます。alpha-2まで"memo"となっていたのが"comment"になってます。Data周りの制御はおおむねyb_…

本体データ(記事とか画像とか)の格納用grain_Rawを実装

ネーミングに最後まで悩んでいた実体ファイル格納用のgrainは、結局grain_Rawという名前で実装しちゃいました。他、いろいろつらつら考えてて、やっぱりThreadいらねーだろと思ったので、消去します。 画像とかファイルとかも全部含めて、Wikiの仮想ディレク…

PBWikiを使ってみた感想。

PBwiki、あまり日本では知られていませんが、海外では定番ですよね。日本語も通るし、日本語での検索にも対応しているので便利ですよ。 海外では定番Wikiの『PBwiki』を使い始めた件 | IDEA*IDEA 正直ぶっちゃけ歯ぎしりして、あやうく職場の中で発狂しそう…

アイデアメモ

plain text, html, wikiは"type"というよりは"format"という概念にした方がよい。 →ドキュメントのフォーマットを変更するのに一々新規作成し直さないとイケナイのはナンセンス。 →アイコンの見た目が区別しづらい。 あとは、実際に書いてる途中で text から…

Thread, Category, AclのDAOレイヤーをgrainベースに置換。

DAOレイヤーでgrainベースになっていないのは、残り、Data一つ。但しDataについては現行は version情報と実体データ memo 属性 を一緒くたに一つのDAOとして扱っているが、ぶっちゃけ巨大すぎる。100KBのテストケースファイルなんて自分自身弄りたくねー。な…

Hackathon当日メモとYakiBiki TODO メモ

有休取ってようやく復活する程度に普通以下の体力のid:msakamoto-sfです。ということで今日買ったばかりのNOSTRADAMUS(JUDAS PRIEST)聴きながら記憶をまとめ直してます。ところでNOSTRADAMUS、エエですね。暫くRhapsodyもBlind Guardianも新譜出してなかった…

grain系、基礎部分が終わった。

Index操作、sequence操作、あとgrainを直接操作するgrain_Grainクラスのテストケースまで書き終わった。 後は"レシピ(recipe)"部分でgrain/indexの操作を統合する。これが一番面倒くさそう。考えるのが。

Grain Data Storage Library

現状のYakiBikiのデータ保存はお世辞にも上手とは言えない。RDBを使っていないのはさておき、数十バイト〜数百バイトのデータを保存する為だけにファイルを一つ分消費してしまう。ブロックサイズ(2KB - 4KB)より小さなデータのファイルが大量に作成されてし…

YakiBiki 0.0.1 (alpha-2) リリース

KinoWikiスタイルのWikiドキュメントサポートが追加された、YakiBiki version 0.0.1 alpha-2 をリリースします。PHP 4.3 以上(PHP4.4.x or PHP5.1.x 以上推奨)で動作する筈です。ダウンロードは、下記引用元のsf.netのプロジェクトページからダウンロードで…

Wikiプラグイン一通り実装完了。

以下のプラグインを実装しました。

Wikiプラグイン実装状況

以下のプラグインを実装しました。 moreプラグイン(block) 特殊タグのラッパーです。ちなみに、なぜinlineが無いかというと、Wikiの場合はHTMLが自動生成される為、たとえばdivやpタグの途中でが出現してしまうと、HTMLタグが壊れてしまうので、inlineは未対…

未実装Wikiプラグイン、残りあと・・・

特殊タグ(忘れてた・・・(;´Д`)) image 同じ流れで"attach"も要らないだろうか。うー、微妙。imageだけで良いよな・・・。 del これ、PukiWiki形式の強調や取消の記法をParserレベルで組み込むことで巻き取れないだろうか? KinoWikiの "*" や "**" っ…

更に難易度低めのプラグインをいくつか実装。

KinoWikiを参考にしながら、難易度が低めのプラグインを幾つか実装してみました。

特殊HTMLタグへのラッパー用Wikiプラグイン実装終了、あと、Block型プラグインのスタイルを変更。

以下の特殊HTMLタグの、Wiki用プラグインでラップしました。 ちなみに というプラグインについては、BracketName要素の中でラップしています。 [[30]] [[ページ名]]とかは、 <yb_link 30 /> <yb_link ページ名>ページ名</yb_link>とかに変換されます、ということで。あとBlock型プラグインの呼び出しス</yb_link>…

KinoWikiのWikiパーサの移植、全体のおよそ3/4まで進む。

完了: Parserクラス移植 HtmlConverterクラス移植 YakiBiki用のWiki - HTML変換用ラッパークラス(with 変換後のHTMLキャッシュ機能)とその組込 未着手: FootnoteのHTML表示 Plugin系の移植と追加作成 未知の要素による変更リスク YakiBikiでKinoWikiの書式…

データの表示ロジックが4箇所ほど分散してる。

記事データの表示ロジックが4箇所ほど分散してる。 yb_show_data : Smartyプラグイン。一覧表示での記事表示に使用中。 yb_import_data : Smartyプラグイン。headerやfooterのSmartyテンプレート中で、記事を取り込むところで表示。サイドメニューとか。 yb_…

KinoWikiのWikiパーサの移植、全体のおよそ1/2まで進む。

完了: Parserクラス移植 HtmlConverterクラス移植 未着手: Plugin系の移植と追加作成 未知の要素による変更リスク ParserとHtmlConverterを移植完了です。 ぼちぼち、plugin系の移植を始めたいと思ってます。で、KinoWikiのpluginをやっぱり基本に移植を進…

KinoWikiのWikiパーサの移植、全体のおよそ1/4まで進む。

完了: Parserクラス移植 着手開始: HtmlConverterクラス移植 未着手: Plugin系の移植と追加作成 未知の要素による変更リスク とりあえず、Wikiテキストを読み込んで、ParserがDOMツリーのオブジェクトを生成するところまでは到達しました。 現在は、HtmlC…

TODOリスト?

以前挙げたリストで、下記の件は片づいた。 多言語化(メッセージカタログ), とりあえず英語と日本語。 →メッセージカタログの仕組み、および日本語用(ja_JP.utf8)を用意した。 日本語の画像ファイル・添付ファイルの取り扱い →マルチバイトのファイル名は取…

YakiBiki 0.0.1 (alpha-1) リリース

半年間の休暇の成果である、YakiBiki version 0.0.1 alpha-1 をリリースします。PHP 4.3 以上(PHP4.4.x or PHP5.1.x 以上推奨)で動作する筈です。ダウンロードは、下記引用元のsf.netのプロジェクトページからダウンロードできます。 Now, I release YakiBik…

エラー処理ポリシー

個人的には「エラー処理」と一口に片づけること自体が本来はあまり好きじゃない。「エラー」という言葉の意味に惑わされ、本業のとあるPrjで概念が顧客と一致せずかなり長い間言葉のやりとりで齟齬を生じていたからだ。対象の範囲が広がりすぎていて好きじゃ…

速度的にはまだあまり問題は出てない。

なんかFirefoxとIEで体感速度が違う(FFがもっさりでIEが普通に速い)ので、ちょっと気になってxdebugでprofileしてみた。 大体300ms位。検索で。遅い、とは言えないが・・・。 で、よくよく考えたら開発用なので、config.phpでSmartyが毎回コンパイルするよ…

ようやく、buttonタグの修正が終わった・・・。

ようやく全画面がIEで動作するようになった。全く、buttonタグはとんだ伏兵だった。 あとやりたいことをリストすると、まだこれだけあるのだけれど・・・ 多言語化(メッセージカタログ), とりあえず英語と日本語。 プロフィール画面 パスワード再発行機能 Tr…

ようやく、timestampの形式の修正が終わった・・・。

大分時間がかかってしまったけど、ようやく各種データのdatetimeのフォーマットを統一できた・・・。 ようやく再開できる。 日付関連のSortIndexも、SL1からDTS(DateTimeSort)に切り替えた。これで、indexデータのファイルをYYYYMM.idxのフォーマットで保存…

暫くコードが非常に不安定になります。

yb_Timeによる時刻の取り扱いや時刻表示、フォーマット。および、buttonタグの修正(残せるところは残したいのだけれど)とそれに伴い、最悪、yb_Xhwlayに修正が入る可能性もあるため(Xhwlayのイベント情報の取得箇所を修正するかも・・・)、コードが暫く、…

配列要素の OR, AND をちょっとBenchmark取ってみた。

YakiBikiでは、特に検索処理において、ArrayのAND/OR演算を行います。自分では結構重い処理になると踏んでます。 で、実際どんなものか試してみました。==== YakiBikiでは、AND, ORを(単純化すると)次のように実装してます。 OR演算: function array_or($ar…

HTMLプラグインの命名規則を変更。

今までは、プラグインに対しては (yb_root)/plugins/html/yb_hoge.php内にて yb_hoge_invoke() という関数を定義していたが、'yb_'だけだと名前が被ってしまう可能性があるため、 (yb_root)/plugins/html/yb_plugin_html_hoge.phpというファイル名で、 yb_pl…

yb_navi、完了。

・・・遂に、ここまで到達した。 YakiBikiのHTML拡張プラグインのスクリーンショット: http://www.glamenv-septzen.net/medias/yb_screenshot_20080106.png HTMLレンダリング・プラグイン機能 で、Wikiのレンダリング・プラグイン・キャッシュ機能だけれど…

html系plugin、naviを残してとりあえずcommit.

この後すぐ出掛けないと、なので、取り急ぎ書き置き。 yb_ls yb_cat yb_code yb_link yb_recent yb_pre とりあえず実装完了。yb_codeが入るので、Text_Highlighterに依存するようになりました。お出かけまでに終わらなかったのが yb_navi ・・・これはさすが…