Category Archives: Computer

Computer Technical Notes

用 memcache

為了讓多台可以共用 session,pixnet 的 session 是用 MySQL (更早前是用更 … 的 NFS)。昨天在我的慫恿下,far 把 pixnet 的 session 部分改用 memcached 存,雖然經過愚笨的一個多小時才做完,不過上線後看起來還不錯。

PS1:我沒有用過 memcache & memcached,純粹是拐 far 去用的 XD
PS2:愚笨的一個多小時是:介紹什麼是 memcached 五分鐘,coding 五分鐘,compile php 十分鐘,以及忘記重跑 php 研究了一個小時,最後測試的五分鐘。

BBS 的字串搜尋

這幾天唸 algorithm 剛好念到幾個經典的 algorithm,其中之一就是 O(m+n) 的 KMP algorithm,突然想到 BBS 應該要大量使用這類 O(m+n) 的 algorithm 才對。因為掃一次 pattern 求出 fail function 後 (當然,為了速度要存到 array) 就可以不斷的重複使用。

string matching (nist.gov) 有列出不少都是 O(m+n) 的演算法。(當然,O(m*n) 的暴力法一定也會列的啦)

以 M3 (Maple3) 為例,在 ‘~’ 的串接功能,以及 ‘/’ 的中文看板板名搜尋 都應該以 KMP 改寫。於是這幾天就把 KKcity 的 str_str() 換了不少下來,在看板搜尋的部分果然馬上就有感覺。(因為全 KKcity 的看板實在太多了)

應該把 str_str_kmp() 以及 str_str_kmp_fail() 丟出來,接下來 itoc 就會處理了 :p