毎秒1000リクエスト を捌く超高速CMS「adiary」
2006/07/30(日)β6リリース情報
adiaryβ6がリリースされました。ダウンロードはこちらから。
β5→β6の変更点
- WordPressバックアップ形式(.sql/.sql.gz)からのインポートに対応しました。
- mod_perl等の環境で、メモリリークする問題を修正しました。mod_perl環境の場合のみ、すでにリークしたメモリを開放するためApacheの再起動が必要です。
- AnHttpd, lighttpd, Apache 1.3.x (cgiとmod_perl/1.29*1) などでの動作テストと、Apache1.3 などの環境でパス自動解析に失敗する不具合を修正を行いました。*2
- Encode::Guess使用時UTF-8文字列とShift_JIS文字列の判別に失敗しデコードが行われないことがある不具合に対応しました。具体的には、判別失敗時はUTF-8と判断するようにしました。(補足)Shift_JISをUTF-8と間違えることは確率的にほとんどないので、多分問題ありません。この辺の判別は、やはり Jcode.pm の方が優秀。*3
- 【シンプルパーサ】続きを読む表記使用時の<div>の対応が崩れていたので修正しました。
- 【標準テンプレート】サイドバーの最上段に Infomation を出力するようにしました。
- 【標準テーマ】.small や .large などの行間(行の高さ)を変更しました。
- その他、細かい修正
移行時の注意
adiary.conf.cgi の好きな箇所に
<$Temp_dir = 'data/tmp/'>
のエントリを追加する必要がありませす(これだけ行えば、そのままβ1以降の古い adiary.conf.cgi を引き継げます)。
メモ
WordPressデータのバックアップは「管理メニュー → プラグイン → WordPress Database Backup → 有効化」をしてから「管理メニュー → 管理 → バックアップ」によりダウンロードしてください。.sql.gzの圧縮されたファイルをインポートするためには、gzipコマンドが存在しPerlから呼び出せる必要があります*4。手元のマシンで解凍してから.sqlをインポートすればgzipコマンドは必要ありません。
余談。WordPressですが、標準のエクスポート形式が存在しません。で当然のようにインポートはたくさんあります(笑) 次期バージョンではXMLエクスポートができるようになるらしいですが(苦笑)*5 WordPressから他のblogへの移行で困っていた人は、せっかく作ったのでadiaryをコンバータ代わりにご利用ください。で、問題とかこうしたらいいとかあったら教えてくださいませ。
2006/07/24(月)β5リリース情報
β5は不具合修正がメインです。今回も adiary.conf.cgi は、変更なしで引き継げます。
- "?"を含むURLにトラックバックが送れない不具合を修正しました。
- WordPressにトラックバックを送れない問題に対処しました*1。それに伴い、トラックバック - adiary拡張仕様(日本向け)を改訂しました。
- Windows環境で動作させた場合、ログをインポートできない=マルチパートフォームの処理に失敗するバグを修正しました。*2
- スタートアップルーチンを各種見直しました。またFastCGIできちんと動作するよう修正を加えました。
- README.txt を少し修正しました。
- 【標準テーマ】Firefoxで横スクロールバーがでてしまうので、hatena-body の width を 98% に設定しました。
- かえで氏作のテーマ(lfdiary test1, せっちゃん RC2)を収録しました。
- その他修正
余談。だからどうしたという話ですが adiary は aDiary*3 とは全く関係ありません(^^;;
2006/07/21(金)β4リリース情報
- JavaScriptによるコメント/TrackbackのSPAM対策を行いました。
- 1日1記事用の日記モードを搭載しました。
- 書き込み時刻を表示する機能を付けました(日記帳の詳細設定 → 表示設定)。
- 記事IDの代わりに書き込み時刻(UTC)を指定する方式を付けました(日記帳引っ越し対策)。
- カテゴリ編集へのリンクが消えていたので修正しました。
- JUGEM形式でエクスポートできない不具合を修正しました。
- メニューの「自分の日記へ」のリンク先がおかしかったので修正しました。
- 【標準パーサ】[hatena:help:リンクを簡単に記述する(http記法、mailto記法):http記法]のimage指定に対応しました。実装にはSimpleAPIを使用しています(Thanks to SimpleAPI)。
- 【標準パーサ】ユーザー定義タグのオプション部に正規表現を書けるようにしました詳細。
- 【標準テーマ】h5 タグに属性「margin-bottom: 1em;」を追加しました。
- スタイルシートの解釈がおかしいIE7β3の不具合に、部分的に対応しました。
- その他細かい修正
SPAM対策ですが、JavaScriptということで落ち着きました。一応チェックはしていますが、不具合などありましたら遠慮無くご連絡ください。これを突破するspammer(ロボット)が現れたらまた何か考えましょう。
追記。今回から対応したFastCGIですが、念入りに確認してみるとイマイチ動作不安があるので、β4でのFastCGIの導入はお勧めしましせん。さらに追記。問題なく安定して動作するようになりました。β5以降をお待ちください。
SPAM対策の方針メモ
要するに人間に認識しやすく、ロボットに認識しにくい方式を考えればよいのですが、JavaScriptや質問文その他の方策をいくら取ったところで、adiary向けの専用対策を取られたら太刀打ちは無理(イタチごっこ)になります。ですから逆に開き直って、とりあえずは JavaScript+JavaScriptがない環境では簡単なキーワード入力を促すという方式にしました。
あまりテストしていないので誤動作する or 特定ブラウザでうまくコメントを書き込めない*1ようならご連絡ください。
せっかくなので
http記法のimageで遊んでみる。
おまけにTeX記法を使ってみる。
2006/07/18(火)β3リリース情報
- Perl 5.8 以前(?)には標準で含まれない、Time::HiRes がないと起動できない問題を修正しました(もしβ2.1がインストールできず悩まされていた人が居たらお試しください)。
- 記法タグ[ ]内での{ }のエスケープ処理を無効にしました。*1
- 単一記事表示時に、HTMLタイトルに記事タイトルが出ない問題を修正しました。
- Google Analyticsに対応しました。
- 【標準パーサー】タグ定義表記を拡張しました(idea by kaede)
- 【標準パーサー】続きを読む記法使用時の<div class="section">~</div>の互換性を解消しました。
- 【標準パーサー】続きを読む記法使用時、最後のセクションの注釈が省略されないバグを修正しました。
- 【標準パーサー】セクションごとに出力する注釈を<div class="section">~</div>の外に出しました。
- 【はてダラ機能】最初のサイブタイトルカテゴリをカテゴリとして抽出するようにしました。
- 【はてダラ機能】*t* 記法を時間に置き換えるようにしました(マスターファイルは書き換えません)。
- 【はてダラ機能】【パーサー動作】Text::Hatena がインストールされているときは、そちらを使うようにしました*2。
- その他、バグ修正など
β2からの移行に際して、adiary.conf.cgi の書き換えは必要ありません。
追伸。adiary公式ページに書いた「FastCGI対応」は書き間違えでした。大変失礼しました。*3
メモ、Text::Hatena について
ある意味公式みたいな感じで、はてダラ向けには最適と使ってみたものの、Hatenaサービス固有のタグのリンク先がイマイチな感じで若干期待外れでした。ライブラリ活用・省力という意味でものすごく正しいのですが、速度や使いやすさ*4から考えたとき依存モジュールが多いのもなぁ……とか個人的に。
他のblogツール向けに、adiary標準パーサをとっとと単独公開すべきなのかなぁ~、とか思ったりしました(苦笑)*5
2006/07/15(土)β2.1リリース情報
- はてなダイアリーライター(以下はてダラ)用追加キットを一緒に収めました。(参考:adiaryではてダラ)
それ以外はβ2と変わりませんので、β2から差し替える必要はまったくありません。
はてダラとの連携について、質問・要望などありましたら、こちらにどうぞ。