a-blog cms の iPhone アプリをリリース
11/12/14 21:31
リリースして少し経っていますが、アップルップルからのリリースという事ではなく、私の個人プロジェクト的な位置づけでのリリースという事になりましたので、ブログで紹介しておきます。
「a-blog cms の iPhone アプリをリリース」の続きを読む
a-blog cmsで動的ページ生成の速度を改善するために
11/10/04 09:47
動的ページ生成の速度を改善したい
動的ページの生成が遅いことは色々なデメリットがあります.
- クローラが無遠慮なURL探索をかけてきたときに負荷があがりやすい
- 規模が大きいとキャッシュをリフレッシュするたびに負荷があがる
- 運用者がログインした状態でサイト内を巡回するときにストレス
日常的には,3番目が特に重要ですね.とりあえず今回は遅くなりがちなテンプレート上の原因を紹介してみます.
生成速度の確認方法
アクセスログを取得する設定になっていれば,log_accessテーブルに記録されています.大雑把には以下のログを眺めるだけでも,平均的にどの程度の所要時間なのかは分かります.
- log_access_url
- どのURLに対するアクセスか
- log_access_publish
- ページ生成方法.dynamic → 動的生成,static → 静的(キャッシュ利用)
- log_access_res_time
- リクエストを受けてから,レスポンスをブラウザに返すまでの所要時間
ありがち 色々とTouchモジュールで隠している
モジュールは入れ子になっている場合,内側から順番に解釈されます.
<!-- BEGIN_MODULE Touch_Entry --> <!-- BEGIN_MODULE Entry_Summary --> <p>このEntry_SummaryはEntry以外のときでも処理されている</p> <!-- END_MODULE Entry_Summary --> <!-- END_MODULE Touch_Entry -->
Touchモジュールで隠していたとしても,その中のモジュールは毎回きちんと評価されて処理コストを支払っていることになります.
Touchモジュールで色々隠しながらズバズバ分岐させるぐらいなら,テンプレートを分けてしまったほうがページ生成コストは安くあがります,
じつは 標準のinclude類もコストは安くない
切り詰めていくと,管理パーツのinclude類もログインしていない状態の動的生成にとっては無駄なコストになります.
ただし,これらを最適化していく,たしかに効果はあるのですがカスタマイズとしてはややこしくなりがちですのでご注意を.
管理系ボタンのテンプレート
<!--#include file="/admin/action.html" -->
管理ボタン系のテンプレートですが,この中にはAdmin_ActionMenuモジュールが含まれていて,更にその中に多くのTouchモジュールなどが含まれています.ログインしていなければ無駄な要素なので,可能な限り読み込まないほうが高速になります.
エントリー編集時のテンプレート
<!-- BEGIN adminEntryEdit -->
<!-- エントリーの作成・編集のインクルード -->
<!--#include file="/admin/entry/edit.html"-->
<!-- エントリーのユニット追加のインクルード -->
<!--#include file="/admin/entry/add.html"-->
<!-- END adminEntryEdit -->
Entry_Bodyの中腹にあるやつですね.これもadminEntryEditブロックの判定で隠されているだけで,includeファイルの中の多くは何かしらの評価がされているため相応の処理コストを支払っています.
次回につづきます
そんなわけで,今回は動的ページ生成の速度を改善するために,遅くなる要因について紹介しました.
長くなってきてしまったので,次回(いつだろう?)で解決例を出そうかと思います.ヒントはグローバル変数!ではでは.
Simejiを使ってみました
11/09/13 09:50
Simeji
AndroidにSimejiをインストールして使ってみました。
Simejiって?
キーボードをSimeji設定することでフリック入力で文字を入力することができます。デフォルトの設定より、Simejiの方が入力しやすいと思います。
- ケータイ
- フルキーボード
- フリック
- ポケベル
など入力方法から選ぶことができます。
Illustratorでイラストを描くときに便利な機能まとめ
11/09/05 23:47
パスってよく分からない、ペンツールでパスを操作していくのって結構難しいし敷居が高い…
なんて人が多いかと思いますが、じつはパスが分からなくてもIllustratorでイラストは描けるんです!
(もちろん、パスが分かっていた方が自由に絵は描けますけど…)
というわけで、パスを使わなくてもIllustratorでイラストを描く方法をさっくりとですがご紹介したいと思います。
「Illustratorでイラストを描くときに便利な機能まとめ」の続きを読む
関連タグ:イラスト Illustrator
NYに行ってきました
11/08/03 12:01
自由の女神のあるリバティ島へ向かうフェリーより
デザイナーの山田です。もう2ヶ月以上たってしまいましたが、アメリカはNY、マンハッタンに行ってきました。5月のGW明けの11日から5月21日(実質20日にJFKを後にしましたが)まで、約10日間お休みを取って行ってきました。代表のブログのエントリーにあるように弊社では、リフレッシュ休暇の促進 という制度もあったので、2ヶ月以上前から申請し、旅先でもメールをチェックする事で対応してもらいました。簡単ですが、撮ってきた写真とあわせて行ってきたところをご紹介します。
関連タグ:リフレッシュ休暇




