星期四, 10月 07, 2010

學弟的拜託

時間真的過得好快。今天學弟拜託我教他如何使用我寫的班網,我才回憶起我會寫程式還有我寫過一個叫系學會服務系統的東西XD

學弟要我幫他加一些帳號,結果用了一下發現我權限設定系統的行為很詭異。最後trace發現問題在我寫的cache system上。一開始看起來好像是我的cache system不會把我程式中指定要清掉的資料給刪掉。後來發現更詭異的事件。假設我cache的內容寫在c:\abc\file5566.txt。手動把檔案刪掉後,不論是檔案總管開c:\abc或dir c:\abc,或dir file5566.txt/s,得到的結果應該都一樣是空的。可是機器跑出來只有前兩者是空的,最後一個卻可以跑出迷之檔案,而且我的cache system真的可以讀到值,完全謎到極點(該不會我寫的物件摧毀了NTFS...XD)。我dir的時候可以看到系統圖示顯示系統抓到壞軌XD

也有想過乾脆把cache整個拿掉,不過因為當初發神經,把權限系統寫成一個物件,這個物件利用很多樹及不同樹節點之間的映射來表示權限,然後必須用一大堆SQL,為了增進效能所以cache可說是必要(果然當clerk的時候太閒了orz)。要把cache整個從權限系統移掉牽涉到的code太多。最後想到的方法是先把cache的介面都改成dummy function弄過去。之後看要不要改用memcached之類的東西,我的cache只保留介面。

看來「用cache會出現很多難以偵測靈異現象」的說法是真的。還有學弟說:「程式夠強的後繼無人,只好拜託已經當住院醫師的學長」,看來這份當年寫出來的笑話code還會陪我一陣子XD 全文連結

0 意見: