2009年12月29日 星期二

PLT-Scheme and Apache

結合 PLT-Scheme Web server 和 Apache 時,使用以下的 Rewrite Rule 於 Apache 的 VirtualHost 中。

        RewriteLog /home/ccwu/rewrite.log
        RewriteLogLevel 9
        RewriteEngine on
        RewriteRule ^/play(.*)$ http://localhost:8000/play$1 [P]

其中的 RewriteLog 及 RewriteLogLevel 是為了除錯。RewriteEngine on 是必須的,每個 VirtualHost 的 Rewrite engine 都必須各別致能,這是基於安全考量。

但是 Apache 告訴我我沒有權限使用 http://localhost/play。
檢查 apache 的 error log ,參考網上的討論後,將 mod_proxy 及 mod_proxy_http 致能後問題得以解決。

2009年12月27日 星期日

sysctl IPV6_V6ONLY

前些日子在我的 Debian 機器上無法以 Java 連上網路。上網查詢後原來更新 netbase 後增加了一個新的 sysctl 選項。

cat /etc/sysctl.d/bindv6only.conf 
可以見到 net.ipv6.bindv6only = 1
這選項使得 ::ffff::ip 不再被接受,而 ::ffff::ip 卻是 java 
的預設。

2009年12月25日 星期五

Continuation 之不可或缺

Continuation web server 真的比較好嗎?依我最初使用 Javascript 加 Helma NG 及後來使用 PLT Scheme 的感覺來看,使用 Continuation 的確使得我不必太去操心網路 stateless 的本質,從而提升了程式開發的流暢感。

這只是模模糊糊的隱約覺得...

這幾日,遇到了問題,瀏覽網頁時常過期。這可嚴重了,使我從新思考是否要放棄 Continuation style。我改寫了部份程式,使用當初以 Helma NG 撰寫的方式。起初容易,最後困難,原本不關心伺服器和瀏覽器間要傳送什麼資料的,現在開始必須歩歩為營,考慮哪些資料需要 serialization 。

而目前這伺服程式還算簡單 ...,如果繼續發展下去,不使用 Continuation 恐會使得這遊戲的開發工作超出我一個人休閒時的工作份量了。

這使得我體會到 Continuation 對我這類網路應用的不可或缺。