毎秒1000リクエスト を捌く超高速CMS「adiary」
2008/10/19(日)開発中
Ver2.1xの予定でしたが、メジャーバージョンアップになりそうです。本当はこれがVer2.0にする予定だったのですが、Ver1.44は成熟されてるとは言い難かったですから。
システムの奥深くにあちこち手を入れています。skeleton のタイプミスとか恥ずかしものから、スケルトンコンパイラとか。コンパイラの改修はほぼ終了し、今はユーザー承認モジュール(Auth*)を書き直してます。これ一番最初に書いたライブラリだったので、インターフェイスは問題ないものの実装が汚く、データファイルも独自形式。これをDBモジュールを使うように修正してます。*1
そんなことをやっているうちに、その下位ライブラリであるDBモジュールを書き直したくなり、Authを放置してDB_pseudo(擬似データベース。デフォルトで使用するテキストベースの独自DBです)の全面改修。気付いたら UNIQUE制約 や NOT NULL制約 がまともに動作するようになってたり(苦笑)*2
この手の独自DBモジュールというのは、壊れたときに対処に困るというのが最大の問題で*3、擬似DBはそこに気を遣った実装です。インデックスファイルとカラムひとつに対応する1ファイルから成ります。データベースはすべてテキストファイルで構成されていて、indexが壊れたときは、インデックスファイルを削除することでindexを自動再構築する機能が付いています。*4
さっきやっと擬似DBの修繕がほぼ完了したので、これからAuthの改修に戻るかというところなんですが、時間経ちすぎて、どこまで改修したのかもう忘れかけてる(笑)
2008/09/29(月)Version2.03リリース情報
Ver2.02のバグフィック版です。修正内容に特に致命的な不具合はないので、Ver2.02の人は乗り換える必要はあまりなさそうです。
Ver2.02→Ver2.03の変更点
- aws-modokiテーマを新規に収録しました。(Designed by saa)
- mikkyテーマ(4種類)を新規に収録しました。(Designed by GLANSHE)
- 【fix】IE7使用時、wikiコンテンツの親ノードが正しく指定できないことがある不具合を修正。(Thanks to saa)
- 【fix】非公開コメントを許可しないの「強制Off」が無効になっていた不具合を修正。
- 【fix】ポップアップ位置がずれることがある不具合を修正。(matu, Harry)
- 【fix】スケルトン _main.html の単純ミスを修正。(Thanks to つーさ, matu)
- 以下はつーささんのご指摘です。感謝。
- 【fix】公開ファイルディレクトリを変更している場合、記法ヘルパーアイコンが表示されない不具合を修正。
- 【fix】theme/satsuki/base.css のタイポの修正。
- 【fix】日記編集画面の「wikiコンテンツにする」のチェックを変更したときやコメントの表示・非表示を変更したときなどに、フォーム要素のリサイズが正常に働かない不具合を修正。
- 【変更】日記編集画面のinput要素で enter を押したとき"*"がひとつ入力される仕様でしたが、何も起きないように細工しました。*1
Version2.00(β含む)以降からの乗り換え
- そのまま上書きしてください。
Version1.44以前(C73/2.00α含む)以前からの乗り換え
Version2.00への移行処理を先に行ってください。
2008/09/18(木)adiary 2.02の記法ヘルパーで記事が投稿される!?
ブラウザによってJavaScriptがキャッシュされています。結構みなさん引っかかっている(報告2件目)ようなので記事にしておきますね。
Firefox でよく起こる
コンテンツとキャッシュの比較をセッションごとかアクセスごとにするか、CTRL+F5のスーパーリロードをしてください。
いくつか細かいバグが出ているようですが
そのうち(バグ修正が溜まったら?)Ver2.03でも出しますね。
2008/09/10(水)Version2.02リリース情報
Ver2.01に細かな変更を行ったものです。今後は開発版(非安定版)としてVer2.1系に移行する予定です。
Ver2.011→Ver2.02の変更点
- コメント投稿時、URLおよびE-mailアドレス記入欄を表示させることができるようになりました。(日記帳の設定から*1)
- コメント先頭の "#" マークをその記事への書き込み順番(番号)に変更しました。*2
- システムチェック画面と日記帳設定画面(メール通知設定)で、sendmailコマンドを確認するようにしました。
- 記法ヘルパーを改良しました(アイコン、機能など)。(Patch by 浅野/一部)
- YouTube、ニコニコ動画記法を更新しました。(Patch by 浅野)
- フォームリサイズを微調整・不具合修正しました。(Patch by 浅野)
- ヘッダにMETAタグとして「name=generator」および「name=owner」を出力するようにしました(アルバムでも)。
- IE8によるアクセス時、標準準拠モードでレンダリングさせるようにしました。*3
- 【記法】[[ ]]タグ表記を使用したとき、記法内の最後にスペースがあれば1つだけ削除するようにしました。
- つまり記法タグとして[[tagname:[inner text] ]]としたとき、内要素として「tagname:[inner text]」と見なすようにしました。
- 【記法】*t:%Y/%m/%d %J:%M*セクション 等と記述することで、時刻出力フォーマットを指定できるようにしました。時刻指定方法はstrftime*4を参照ください。(Request by かえで)
- 【記法】table記法中に「* ^ ~ _」などの記号が単独で書けるようになりました。"{ }"にてエスケープしてください。([ml:users:264:Request by なかい])
- 【fix】URIとして裸の"&"(&ではなく)を出力している部分があったため気づいたところは修正しました。(Thanks to つーさ)
- 【fix】カテゴリ一覧部分で、HTMLのid属性として、HTML4.01のinvalidな文字列(日本語)を使用するケースがあったため修正しました*5。(Thanks to つーさ)
- 【fix】その他HTML4.01になるべく準拠すべく細部を修正しました。
- 【fix】最近のコメント/TBにある記事のタイトルを書き換えたとき、最近のコメント一覧などに正しく反映されない不具合を修正。
- 【fix】文末改行の除去処理が、いつの頃からかまったく動いてなかったため修正しました(記事/コメント)。
- 【アルバム】【fix】IEでのJavaScriptエラーの対策をしました(window.openerが有効なときだけinsert_text呼ぶようにしました)。(by serika)
- 【アルバム】ファイル一覧表示時にテーブルのソート機能が付きました。(by serika)
Version2.00(β含む)以降からの乗り換え
- そのまま上書きしてください。
- JavaScriptがブウラザにキャッシュされていると、記事編集画面で一部不具合がでることがあります。スーパーリロード(CTRL+リロード)をためしてください。
Version1.44以前(C73/2.00α含む)以前からの乗り換え
Version2.00への移行処理を先に行ってください。
その他
今更ですが、やっと開発版と安定版のリポジトリを分割しました^^;
2008/09/09(火)IE8 beta2
IE8のレンダリングがどうやらまともらしいという噂を聞きつけてインストールしてみしまた。
もちろん表示テストは某テーマ作者様のページ*1。ボタン一発で互換モードと標準準拠モードを切り替えられるため、両方試してみました。
互換モード | 標準準拠モード |
---|---|
標準準拠モードでは、いわゆるアンダースコアハックによるCSS Hackはすべて無効化されています。IE7はどこの標準に準拠したのか小一時間問いつめたい仕様でしたが、IE8はbefore/afterセレクタ等にも対応し、CSSの解釈もとても普通でした。検索ボタンがずれてますが、過去のことを考えればこれぐらいご愛敬でしょう。
adiaryでは、とりあえずIE8アクセスの場合、標準準拠モードでレンダリングするよう記述しておきます。*2
あとは
IE7以前のユーザーがIE8に乗り換えて、IE6/IE7が死滅することを祈るばかり。
むしろWindows Updateで強制的に突っ込むぐらいのことはしてほしい(切実)