毎秒1000リクエスト を捌く超高速CMS「adiary」
2006/05/01(月)5/1版スナップショット
久しぶりのsnapshotです。手元では一応問題なく動いていますが、ソースのあちこちに手を入れたため不具合あるかも……(不明)。
- メッセージを翻訳式にして言語ファイル(info/language.euc-jp.txt)として外に出しました(English が poor ですが*1気にしない方向で(汗))*2。
- 分類リストの表示が選択式になりました(日記帳の設定、一番下)。旧バージョンから移行の場合、手動で表示onに設定しください。
- [TextParser] 注釈をセクションごと(小見出しごと)に出力するようにしました。
- [DB_mysql] DBIの $dbh->ping (コネクションの確認)が実装されてないために、長時間アクセスがないと文字化けすることがある問題に対処しました。以下推測ですが、コネクションの切断が検出できないために、Connection Poolな環境*3において実際には接続が切れているにも関わらず自動再接続され処理が継続し、そのため接続時に発行しておいた端末コード指定"SET NAMES <code>"が初期化されてしまうようです。
- .confファイルの設定が多数追になってますので、新しいファイルをもとに再設定してください。
- 今後のことを考え、データベースカラムが追加になりました。mysql の場合は以下を手動発行してください。
mysql> ALTER TABLE xxx_diary ADD (images text); mysql> ALTER TABLE xxx_diary ADD (update_tm int);
カラム変更は、今回が最後の予定です。
2006/04/20(木)今回の更新内容
更新内容
- TextParser が完成。conf ファイル80~100行目付近のパーサー設定をマージする必要あります。
- 「続きを読む」の実装
- ユーザースケルトン機能。diary.user.skel/ 内に置いたスケルトンを優先処理するようになりました。カスタマイズしたスケルトンをこのディレクトリに置いておくことで、本来のスケルトンの書き換えずに代替させたり、各スケルトンの前処理をさせることもできます。
- 日記編集画面のデザイン改良。ほか
日記入力パーサー(テキストパーサー)については、とりあえずはてな記法を参照ください。その中の入力支援記法はだいだい使えます。
今回のスナップショットで、これで基本的な機能(メイン部)は、ほぼ完成になります。
ToDo
- 画像アップロード
- RSS
- 更新通知ping
- モバイル対応
- Movable Typeなどのデータインポート
2006/04/18(火)今回のスナップショット変更点
- TextParserをまともに実装しました。だいたいのはてな記法が使えます(完成度7割)。
- (日記帳の設定に)簡易設定モードの追加しました。
- mod_perl2/SpeedyCGI時、スケルトン内perl式のコンパイル結果をメモリキャッシュして実行速度を約3割改善しました。
- その他色々
テキストパーサーの実装に伴い conf ファイルにパーサー関係の設定が色々追加されています(ひとかたまりになっています)。設定をマージするか、適当に書き直してください。はてな記法に対応するスタイルシートか標準テーマではすべて用意されていません(汗)*1
追記
段落処理については、<p>タグで処理するのが本来的だと思うのですが、掲示板のように改行を入れたらその場で改行したい<br>派の方が多いようなので、選択式にしておきました。
Wikipediaタグ機能のチェック。ブログとか。[wiki:ブログ]と書いただけ。あっちなみに現snapshotには入ってません(笑) [google:検索してみる]とかは入ってますけど(^^ ついでに[[はてなキーワード]]への手動リンクタグに対応してみた。無駄に高機能になってる気が(苦笑) あと何があればいいですかね~? >パーサー
さらに追記
さらに色々追加。[wdic:みかか:通信用語の基礎知識]とかAmazonで検索とか、[ya:sansui 907:Yahoo auctionで検索]とか[[カカクメソッド:はてなキーワード]]とか。ソースを柔軟に書いたせいで調子に乗って追加しすぎました(笑)。ちなみにソースはこんなかんじ。
# 通信用語の基礎知識 $tags {'wdic'} = 'http://www.wdic.org/w/WDIC/'; $code {'wdic'} = 'UTF-8'; $title{'wdic'} = '通信用語の基礎知識';
あとASIN入れれば [asin:4873111269:image:small] と書くだけでとなったり。manとか, manとか。
まあたぶん[eg:To Heart:[eg]タグ]が一番要らないかな(笑)
2006/04/14(金)今日のsnapshot
- 分類別の表示機能
- 分類編集機能
- 日記の削除機能
- Trackback情報に author 追加
とか。データベースの仕様が変更になったので、mysqlの場合は
mysql> ALTER TABLE xxx_tb ADD (author text);
しましょう。array なんたらが見つからないとエラーが出る場合は、__cache以下をすべて消去してくたざい。
あとmysqlにクライアント文字コード指定を追加しました。文字化けする人はためしてください。adiary.conf.cgi に変更。
<$db = loadpm("DB_mysql", 'database=adiary', 'adiary', 'test', 1.connection_pool, 'ujis')>