« 2009年02月 | メイン | 2009年04月 »

2009年03月 アーカイブ

2009年03月13日

Paginatorの小ネタ

gem install paginatorで入るPaginatorにそのページの前後数ページに対して ブロックを実行するメソッドを付けたら便利だったので メモです。 現在のページの前後数ページにリンクを張るなどの場面で活躍します。

続きを読む "Paginatorの小ネタ" »

2009年03月19日

Apache 2.2 + mod_proxy + mod_xsendfile + mongrel

Apache2 で mod_xsendfileを利用してファイルを送ろうとしてみたところ、 PHPではうまくいったのですが、 mod_proxyの後ろにいるmongrelでX-Sendfileを指定してみたところ、 apacheのログに

The given path was above the root path: xsendfile: unable to find file: /var/www/test.php, aa=0, referer: http://192.168.100.39/test_bed/
というエラーが出てうまくファイルを送れず困ってしまいました。

調べてみるとはmod_xsendfileで XSendFileAllowAbove onを指定しないと、URIで指定されたパスの外のファイルを 読めないためのようでした。apacheの設定ファイルで以下のようにしたところうまいこといくようになりました。

<IfModule mod_xsendfile.c>
XSendFile on
XSendFileAllowAbove on
</IfModule>

続きを読む "Apache 2.2 + mod_proxy + mod_xsendfile + mongrel" »

2009年03月25日

RubyでUDPブロードキャストを送受信してみる その2

同一マシン内外の複数プロセスにブロードキャストメッセージを送る必要があり、 さて不特定多数に送るならUDPブロードキャストかなあと思ったのですが、 同じポートにbindできないといけないからダメだなーとと思ったところ、 実はUDPだとsetsockoptでSO_REUSEADDRをセットすると 複数プロセスで同一ポートを待ち受けるようになり、 マルチキャストやブロードキャストもそれぞれのbindしているプロセスに届けられるようです。

ということを知ったので以前のRubyでUDPブロードキャストを送受信してみるを改修してみました。ついでにアドレスなどをSocketクラスの定数を使うように置き換えています。

続きを読む "RubyでUDPブロードキャストを送受信してみる その2" »