What have you found for these years?

2007-09-07

living on the edge

如臨深淵,如履薄冰,相當貼切的說法。
所以除非是被證實不穩定了,否則可以的話都使用最新版,
且強迫程式與標準相容。

1. latest stable version
2. standard compliant

g++ -std=c++98 -pedantic -Wall -O3 -Os

sudo port upgrade outdated
sudo gem update

XHTML 1.1, CSS2, Atom 1.0(糟糕,還沒做﹍)
甚至連 indent 都要做啊 XDXD
不過這個大概就真的是要等太閒時才去做了,畢竟已經
完全是只有「爽」的意義也很無趣。

我記得我還有要講什麼的,不過居然就忘了。
那就補充一下 beast 的狀況好了。
由於我已經把 content-type 在 firefox 和 opera 之下
改為 application/xhtml+xml, 所以 xhtml 本身一定要是
well-formed xml, 否則會 parse error.

firefox parse error 之後就死了,看不到內容,這很嚴重。
opera 可以重新使用 html parse 一次,至少可以看看屍體。
safair 無論如何不收 xhtml, 所以無法讓他跟 ie 有所區別,
那就一律不送 xhtml... 更何況 safari 對 xhtml 的處理似乎也有問題。

可是 forum 有太多 user input 了,這實在很麻煩,
再加上 redcloth 的影響,很容易產生意外的 unclosed tag...
所以我找了 tidy 來解決這個問題,讓 redcloth 處理完的 content,
以 xml 格式輸入給 tidy, 讓 tidy 把該 input 處理成 well-formed 形式,
這樣就可以確保 user input 不會打壞 xhtml 的格式。

這部份的程式碼要加在 plugin white_list_formatted_content,
因為 redcloth 是在該處呼叫的。tidy 要安裝 tidy, 取得動態 lib 檔,
windows 下是 dll, linux/unix 下是 so, mac 下居然是 dylib.
然後安裝 gem tidy, 在 client 端 hard code tidy path,
很爛的方法,我想應該是要寫在 environment 裡面吧。

不過我碰到個很大的麻煩,自己的電腦上沒問題,但 server 呼叫
tidy 一直 segmentation fault, 參考了 gem tidy 的 patch,
卻發生一樣的錯誤,不過錯誤的地方改變了。這部份可能還要研究一下,
而且說不定沒辦法解決。最慘的方式就是去抓其他的 so 檔一個個測了。

說到這,我電腦的 gem check --alien 都會失敗,不知道為什麼?
反倒是老是有問題的 server 可以跑這個 check...

話說回來,我看我 c++ 都快忘光了,變成 major ruby + action script...
haskell 的話根本就不熟,不便拿出來說嘴 XD

open source 才是王道啊!!不斷不斷修改程式碼才是最有效率的。
今天也很輕易地就把一部份實做完整拉出來變成各種 imp,
效果好到自己都有點難相信。感覺很有 template method 的味道。
而這種事,可絕不是第一次下筆就能達到的,都是要不斷不斷修改才行。
所以 open source 是必然的,哈哈。

可惜只是單純釋出程式碼其實沒什麼意義。各個小程式其實自己都該收好的。
有些地方是真的相當滿意喲,就這樣放著不管實在有點可惜。無奈懶啊。

firefox memory leak 真的是太嚴重了﹍﹍。
老實講,opera 確實值得推薦,沒有 firefox 強,但是相當可靠。
firefox => 最強大
safari => 最漂亮
opera => 最可靠
ie => 一堆最

0 retries:

Post a Comment

Note: Only a member of this blog may post a comment.



All texts are licensed under CC Attribution 3.0