Archive for 5月, 2009
Ramazeでセッション情報を生成しない方法
今日ふとPerfume Headlineのキャッシュディレクトリを開いてみると、セッション情報であふれていました。
そもそもPerfume Headlineにはセッションを必要とするような機能を何も実装していないので、削除したついでにセッション情報を生成しないようにしてみました。
というわけで、以下にその方法をメモしておきます。
記述する場所はstart.rbとかでいいんじゃないでしょうか。
Ramaze::Global.no_cache_flash = false
なお、この方法はRamaze-2009.03で動作することを確認しています。
2009.04以降ではRamaze::Globalが廃止されたらしいのでたぶん動作しないと思います。
SmartWheel version 0.0.1
SmartWheelを公開しました。
マウスホイールの回転操作をカーソルがある位置のウィンドウにリダイレクトして操作性を改善するソフトはよくありますが、64bit OSに対応しているものが少ないようなので作ってみました。
Windows Vista SP1 x64およびWindows 7 RC x86で動作確認しています。
他にもいくつかほしいソフトに64bit非対応のものがあるので、それも作成する予定です。
なお、今回のプログラム名がSmartWheelになっているように、1つのソフトウェアに機能を詰め込むのではなく、目的ごとにそれぞれ単機能のプログラムにする方針です。
これはPCのリソースが増えていて多少贅沢な使い方をしても問題なくなりつつあること、機能の有効、無効を切り替えるユーザインターフェイスを用意する手間を省くことが主な理由です。
64bit OSでは32bit版と64bit版の両方が同時に動作することになってかなり気持ち悪いですが、たぶん仕様なのでご了承ください。
Ramazeでレンダリング結果をファイルにキャッシュする正しい方法
たまたまRamazeをインストールしたディレクトリを見ていたところ、ramaze/cache/file.rbなるファイルが。
というわけでstart.rbあたりに以下のような記述をするとキャッシュがファイルに生成されるようになり、CGIでもキャッシュを活用できるようになります。
前回書いたコードは忘れてください。
Ramaze::Global::cache = Ramaze::FileCache
あとはメモリキャッシュを用いる場合と同様にコントローラを記述すれば細かな制御が行えます。
とっても簡単できれいですね。
この方法だとCGI起動、ライブラリ読み込みのオーバーヘッドは発生してしまいますが、何もしないときよりは高速ですのでまあ十分かと思います。
ただし、Ramazeは「:(コロン)」を含んだファイル名でキャッシュを生成しようとするので、Windows環境だとローカルでのデバッグ時にエラーが発生します。
そのへんは各自対処してください。