中秋後記

| Comments

可以讓回憶放肆一些。

中秋的晚上公司餐廳放電影,《鄰家特工》和《越光寶盒》,本來打算看完《越光》就走,結果先放的是《特工》。也好,復習一下,好在這片子不錯,再看也挺有意思。《越光》純屬爛片,但是如今看看這種不費腦子的東西也變得無可無不可。免費的零食很烘托氣氛,唯一的驚喜是居然還有罐裝啤酒。

回到住處的當夜就發布了Dumperor。其實這個東西很早就開始做了,起初的目的是為了判斷數據庫腳本從SQL Server遷移到Oracle和MySQL是否成功。單純的遷移只能保証修改後的腳本在這兩個數據庫中執行不會報錯,但究竟是不是該執行的東西都成功執行了,一般很難判斷,尤其是那幫家夥總是在發版前一兩天才告訴我要遷移腳本,那麽多不規範的語句,能保証不報錯就已經不錯了,遑論沒有遺漏。所以就著手做一個數據庫表結構和數據的導出工具,這樣只需用diff工具比較標准數據庫和測試數據庫導出的腳本就可以了。

從一開始我就決定不使用公司產品的一行代碼。其實做這個東西最大的麻煩不是來自來自于如何查詢不同的數據庫的表結構,而是數據庫抽象層。如果要白手起家搞個抽象層的話,我想可能代碼量比Dumperor本身都大,于是選擇了Yii框架。後來在Dumperor基本成型時又覺得為了僅僅使用最基本的數據庫查詢功能就捆綁這麽大一個框架,有點搞笑,謝天謝地,我終于花時間學了PDO。

中秋節放假的第二天,開始讀Google Code上關于Chrome擴展開發的官方文檔。這事源于本尊被另一個Chrome擴展作者無視了。

一直強迫自己喜歡上Firefox,但都敗了。本來對Opera充滿希望,但是從10.0起它帶給我的除了失望就是更多的失望,這個東西的發展就像它的國家的位置一樣怪异,你永遠不能以常人的思維去臆測Opera的開發者,他們就像一群母系氏族社會的娘們兒一樣整天跟著感覺走。

于是不知道什麽時候我就開始經常用Chrome了,前段時間開始用一個擴展輔助MLDonkey下載。這個東西會在工具欄裏添加一個圖標,唯一的作用就是打開選項設置頁面設置那個也許這輩子都只需要設置一次的MLDonkey的URL地址。于是我給那個擴展的作者寫了封郵件,那家夥居然到現在都沒有回復。

所以本尊決定無視他了。太祖武皇帝的那句豐衣足食的聖諭真是至理名言,讀完文檔我就發現這個擴展完全應該用Chrome的Page Action取代Browser Action,簡單地說就是當且僅當本頁面中包含有可下載的資源時才在地址欄中顯示一個圖標,而不應該總是在工具欄占用一個圖標的位置。

隨後要做的就是用AJAX請求取代彈出新窗口的方式添加下載任務,我嫌每次添加一個下載任務後都要關閉一個彈出窗口太麻煩。我的目標是用AJAX請求將要下載的任務在後台傳遞給MLDonkey,并用Chrome的Desktop Notification功能彈出桌面提示對話框顯示結果狀態。這樣很優雅。

但是實際去做的時候問題來了,雖然Chrome本身允許擴展使用跨域的AJAX,但是至少在和MLDonkey進行通訊時,無論成功與否,得到的返回信息都是空的,狀態碼也都是0。這個問題浪費了我幾乎一整天的時間,最終我決定用AJAX的請求響應時間來判斷失敗或成功,因為一次AJAX請求響應過程在MLDonkey沒啟動的時候耗費的時間一般會比正在運行時要長。這就要求每個用戶都要根據自己的情況設定合適的超時時間。為了避免麻煩,最後還是實現了通過彈窗添加下載任務的模式,畢竟這個東西總是可靠的。

要發布的時候發現如今在Chrome Extension Gallery中發布擴展居然要收費了,雖然只是一次性的。最後花了八兩銀子注冊了Google Checkout賬戶,又付了五刀美帝幣,才把DonkeyBuddy傳上去。發布個免費擴展還得倒貼,本尊也太背了吧。

節後收到了Dell sk8115鍵盤、HP百靈無線鼠標和Nokia BH-105藍牙耳機,sk8115是用來讓我的纖纖玉手撒野的,百靈鼠是用來接替即將退役的雷柏7100的,而BH-105和我的小七搭配得天衣無縫。

很久沒有安靜地整理一下頭緒了,感謝我那價值四十兩銀子的Dell sk8115,它讓我顯得如此的語無倫次。

Comments