毎秒1000リクエスト を捌く超高速CMS「adiary」
2006/04/19(水)高機能化
プログラムというのは基礎工事さえしっかりしてれば、高機能化は比較的容易です。というわけではてな記法に似た簡略記法が使えるようになって、Amazonアソシエイトも自動挿入など無駄に高機能かつ使いやすくなっています。が、……このblogプログラム、はたして普及するんでしょうか?(^^;
たぶん普及するとしたら、ある時点でどこかで紹介されてその後が指数的になると思われるのですが……。んー読めないなぁ。tDiaryとかMovable Typeとかからのデータインポーター作ればいいのかもしれないけど、それこそ誰かサードパーティー(?)ツールとして任せたいのココロ。
そのためには、こちらのシステムの仕様書をきちんとつくらないとですか(苦笑)
2006/04/18(火)はてな記法の実装
はてなテーマを使用して*1、はてな記法まで実装したら、はてな盗作疑惑ですか(笑) まあどちらも完全互換ではないし、そもそもプログラムはフルスクラッチですから。*2
テキストパーサーの実装は結構頭を使いました。perlの正規表現を使ってこれだけ悩むのだから、Cで構文解析とかやりたくないですね(苦笑) こうやって実際に使い始めるとまともなテキストパーサーはほぼ必須でした。というか、ないと使い物にならなかったです、はい(汗)
テキストパーサーはプラグイン式でいくらでも拡張可能にしてありますので、みなさんお好みのパーサーをご用意くださいませ。TeXライクパーサーとかあったらそれもいいかなと思ったり思わなかったり。
2006/04/14(金)開発のつぶやき
一応使える状態になったので、サイトの日記をこちらに転記したいところ。自動化スクリプトでも書いた方がいいかもしれませんけどね(苦笑)
mixiの方には書きましたけど、元もとblogシステムのベースとなっているcgi用HTMLスケルトンシステム(Satsukiシステムと命名)が非常によく出来ている(自画自賛)ので、それを示すために作ったblogシステムと本末転倒気味ですけど(笑) 目標としてはRubyで動くtDiaryに対する、Perlで動くadiaryぐらいの位置づけになれればいいなーと思っております。Perlといえば、MovableTypeがありますが、あれはmod_perl2非対応なので(そしてDB必須だし、アホみたいに重たいし…)。
Perlは起動が遅いといいますか、インタプリタのPerlスクリプトをコンパイルしている時間が、起動時間の大半(本システムで約80%)を占めます。mod_perlやSpeedyCGIを使えば起動は早くできるのですが、レンタルサーバではそれは無理。データベース(BerkeleyDB含む)必須もレンタルには辛い。
使用するモジュールを徹底的に絞って、不必要なモジュールを直前までロードしないようにし、cgiとしての動作の高速化にはかなり気を使っています。環境非依存も、自前のテキスト型擬似データベース(GROUP BY が発行できちゃう(笑))を作成しました(テキスト型なので万が一の事態にも比較的安心です)。速度の方は、現状データ数がさほど多くないと、本格的なデータベースシステムよりよっぽど高速に動作してます(まだ逆転したことはないです)。個人で(シングルユーザーモード)で使う分にはまったく問題ないと思います。
2006/04/13(木)設置開始
というわけでblogレンタルサービスを開始しました。デバッグとβテストを兼ねたみなさまのご利用をお待ちしています。
未実装の機能
テキストパーサー関係、RSS。分類の検索。