以下のページで、今年の高専プロコン競技部門の練習ができるようです。
いないとは思いますが、このページを見ている高専プロコン参加予定の方は活用してみてはいかがでしょうか。
以下のページで、今年の高専プロコン競技部門の練習ができるようです。
いないとは思いますが、このページを見ている高専プロコン参加予定の方は活用してみてはいかがでしょうか。
今日ふとPerfume Headlineのキャッシュディレクトリを開いてみると、セッション情報であふれていました。
そもそもPerfume Headlineにはセッションを必要とするような機能を何も実装していないので、削除したついでにセッション情報を生成しないようにしてみました。
というわけで、以下にその方法をメモしておきます。
記述する場所はstart.rbとかでいいんじゃないでしょうか。
なお、この方法はRamaze-2009.03で動作することを確認しています。
2009.04以降ではRamaze::Globalが廃止されたらしいのでたぶん動作しないと思います。
SmartWheelを公開しました。
マウスホイールの回転操作をカーソルがある位置のウィンドウにリダイレクトして操作性を改善するソフトはよくありますが、64bit OSに対応しているものが少ないようなので作ってみました。
Windows Vista SP1 x64およびWindows 7 RC x86で動作確認しています。
他にもいくつかほしいソフトに64bit非対応のものがあるので、それも作成する予定です。
なお、今回のプログラム名がSmartWheelになっているように、1つのソフトウェアに機能を詰め込むのではなく、目的ごとにそれぞれ単機能のプログラムにする方針です。
これはPCのリソースが増えていて多少贅沢な使い方をしても問題なくなりつつあること、機能の有効、無効を切り替えるユーザインターフェイスを用意する手間を省くことが主な理由です。
64bit OSでは32bit版と64bit版の両方が同時に動作することになってかなり気持ち悪いですが、たぶん仕様なのでご了承ください。
たまたまRamazeをインストールしたディレクトリを見ていたところ、ramaze/cache/file.rbなるファイルが。
というわけでstart.rbあたりに以下のような記述をするとキャッシュがファイルに生成されるようになり、CGIでもキャッシュを活用できるようになります。
前回書いたコードは忘れてください。
Ramaze::Global::cache = Ramaze::FileCache
あとはメモリキャッシュを用いる場合と同様にコントローラを記述すれば細かな制御が行えます。
とっても簡単できれいですね。
この方法だとCGI起動、ライブラリ読み込みのオーバーヘッドは発生してしまいますが、何もしないときよりは高速ですのでまあ十分かと思います。
ただし、Ramazeは「:(コロン)」を含んだファイル名でキャッシュを生成しようとするので、Windows環境だとローカルでのデバッグ時にエラーが発生します。
そのへんは各自対処してください。
ExUtilVを更新しました。
ダウンロード (32ビット) / (64ビット) / 詳細
今回の変更点は64ビットOSに対応したことです。
ただ、私の手元には64ビット環境がないので、32ビット版以上にまともなサポートは期待しないでください。
なお、32ビット版は内部の書き換えのみで機能追加、修正などはありませんので、すでに0.0.7をご利用いただいている方はバージョンアップする必要はありません。
「mod_rewriteを使ってCGI環境で超高速にキャッシュを返す」という記事を読んで、Ramazeで同じことをやろうとしたら結構困ったのでメモしておきます。
ちなみに、Ramazeに標準で用意されているキャッシュはメモリ上にキャッシュするものなので、CGIでは使えません。
キャッシュを生成するためにはレンダリング結果のHTMLが必要なわけですが、Ramazeにはレンダリング結果を読んだり書いたりする方法は(たぶん)用意されていません。
そのため、Ramaze内部のレンダリングを行っているメソッドを上書きして強引にデータを読み取ります。
module Ramaze
class Action
unless method_defined?(:static_html_original_render)
alias_method :static_html_original_render, :render
end
def render
# オリジナルのレンダリング処理を呼び出す
content = static_html_original_render
# ここで適当に content の内容を保存
# full_pathでリクエストのパスがとれるのでこれを使うとよいです
# オリジナルと同じ値を返す
content
end
end
end
あとは冒頭で挙げた記事にあるように、.htaccessで制御、cronで古いキャッシュの削除を行えばOKです。
ExUtilVを更新しました。今回からきちんとした説明ページも公開しています。
主な変更点は、キーボードから検索バーを利用するときの操作性を向上させたことです。ファイル名を部分一致でインクリメンタルサーチし、そのまま開くことができるようになります。
なお、この機能をより快適に利用するためには、エクスプローラの設定を変更する必要があります。詳しくはreadme.htmlをご覧ください。
検索を終了して先頭の項目を開く機能が\(円マークおよびバックスラッシュ)キーに割り当てられていますが、これはEnterキーだとうまく動作しなかったため、ファイル名として使われることのない\に仕方なく割り当てたというだけです。この状態が理想であるとは考えていませんので、今後も改善方法を調べていきたいと思います。
今のところは、キーボードの割り当てを変更するソフトウェアのご利用をおすすめします。
以下は窓使いの憂鬱(のどか)での設定例です。
window SearchControlEdit /:WorkerW:ReBarWindow32:UniversalSearchBand:Search Control:Edit:Edit$/ : Global key Enter = Yen window Explorer /:SHELLDLL_DefView:SysListView32$/ : Global key Backspace = M-Up
暇なのでExUtilVを更新してみました。新機能として右上の検索バーを消す機能を追加しています。
既定では機能しないようになっているので、起動前にExUtilV.iniを編集してからご利用ください。