毎秒1000リクエスト を捌く超高速CMS「adiary」
2006/07/11(火)adiaryのパーサー
パーサーの単独配布?
adiaryのパーサー(入力記法システム)はかなり強烈かつ便利なわけですが*1、これをadiaryのためだけに使うには勿体ない。やってる内容的に、ちょっと書き換えれば standalone で動くモジュールになります(つまりSatsuki-systemなしで単独で使用可能になる。*2)。
はてな互換記法もそこそこ乱立してる上に、結構需要があるみたいなので。完全互換ではありませんが、非互換部を差し引いても余りある機能追加がありますので、要望があればテキストパーサー単独でLGPLライセンスぐらい緩い使用条件で配布してもいいかなとは思っています。
ただ記法の乱立(混乱)抑制が目的なので、実装済記法(機能)のいくつかをプロテクト(改変禁止)するかもだけど。
追記
本家のはてな記法がCPANにあるらしいよ(なんでだれも使わないんだろう……*3
余談。
例えば「id:jkondo」と書いた時にどこにリンクすればいいんだ、
adiaryでは id:xxxxx は、はてなインポーターで[hatena:id:xxxxx]に変換され、それを書くと最終的にはxxxxx となります。[id:xxxxx]は今のところ未定義です...
2006/07/10(月)adiary β1の公開
2006/05/04(木)adiary
何気なく検索してみたらadiaryというものはすでに存在するらしい(笑)
adiary の検索結果のうち 日本語のページ 約 159,000 件
adiary は開発コードということにして、何かナイスな名前を募集中(ぉ
まあ "aDiary"(PHP) は開発停止&公式サイト消滅みたいだし、こちらは "adiary" だから気にせず突進という手もなくはない。調べてみると、アルバム日記(adiary)やらADiaryなんてもあったりして(笑)
まったく余談ですが、このblogサービスの正式URLは http://blog.abk.nu/ です。http://adiary.abk.nu/ はadiary配布用サイトにする予定です。
追記
Googleでどんどんページ送りをしていったら
最も的確な結果を表示するために、上の140件と似たページは除かれています。
namespace adiary; は結構混沌としていますが、それにしても現状気にするほどじゃなさそうってことで気にしなくていいのかも(苦笑)*1
2006/04/25(火)adiaryの開発
adiaryの開発ですが一段落してしまいました。困った(苦笑) いやまだ必要な機能(ToDo)はありますけど。
- RSSの出力と更新通知 Ping
- 画像アップロードへの対応*1
- モバイル対応(モバイル更新とモバイル用skelton)
- TypePad (Movable Type)形式、はてな形式、tDiary形式のデータインポート
- データエクスポート(とりあえずTypePadと、……はてなかな)
これ以外の部分=基本的な機能は全部できてまして。開発者向け(プラグイン作者・改造者)に説明しておかなければならない、内部仕様がとんでもなくありましてドキュメントの整備を始めようかなぁと。
はじめは perlpod を使おうと思ったのですが、イマイチ機能不足な気がして*2、この構文解析を使って書けばいいかなぁ……とか悩み始めたのが運の尽き。ドキュメント整理用のシステムとかあったらいいよなぁ……とか。どんどん違う方向に(笑)*3 ほんとはシステム丸ごとCPANに起きたいところですが、blogシステム自体には日本でしか(?)意味のない文字コード機能がとても強化してあったり、基本システムには日本語コメントが沢山。とりあえず諦めよう(^^;;
ただ language ファイルシステム(メッセージをファイルに収めて他言語対応するシステム)は公開前に作っておいた方がいいのかなぁ~とか、本筋と関係ないところで悩み満載。
2006/04/14(金)トラックバック - adiary拡張仕様(日本向け)
トラックバックの技術仕様 Version1.1に対する拡張です。
予備規定
- 文字コードの表示。日本語の文字コードは「EUC-JP」「UTF-8」「Shift_JIS」「iso-2022-jp」のいずれかの文字列を指定すること。
トラックバックフォーム(POSTデータ)の拡張
- トラックバックを受信する場合、未知のパラメータ(key)に対するデータは無視すること(規定外のフォームデータを送信してもよい)。
- charset パラメーター。トラックバックの文字コードを示す。トラックバックが日本語文字を含む場合、必ず含まなければならない。
- x_author パラメーター。その記事を書いた人の名前を x_author として送信することができる(optional)。
トラックバック送信時のヘッダ拡張
- トラックバックを送信時、クライアントはHTTPの定める「User-Agent」ヘッダを送信し、このときblogシステム(など)を名乗ることができる(optional)。
トラックバックURLへのGETの規定
- トラックバックURLをGETした場合、サーバソフトは Content-Type ヘッダに、charset を付加し内部文字コードを示さなければならない。ここで示す内部文字コードでトラックバックを送信した場合、文字化けしないことを保証しなければならない。
例)Contenet-Type: text/xml; charset=EUC-JP
- トラックバックURLをGETした場合、サーバソフトは拡張ヘッダ「X-TB-Accept-Charset」を出力し、トラックバックとして受信可能な文字コードをカンマ区切りで示すことができる(optional)。
例)X-TB-Accept-Charset: EUC-JP, UTF-8, Shift_JIS, iso-2022-jp, iso-8859-1
updates
- 2006/04/14 初版
- 2006/07/24 author を author_name に変更(WordPressでの問題に対応)
- 2006/08/01 WordPressへの対応のため、author_name を x_author に変更(fix)*1