每一個可以努力的日子,都是一份厚禮。
PHP
Microsoft AJAX Translation WordPress Plugin
2012 3月 2nd
The Microsoft AJAX Translation WordPress plugin offers a “Translate” button that allows readers to translate your blog’s posts into a specified language with a quick, light ajax call to the Microsoft Translator API.
Why Microsoft AJAX Translation?
As of December 1, 2011, Google Translate API v1 is no longer available; it was officially deprecated due to the substantial economic burden. Google Translate API v2 is now available as a paid service only, and the number of requests your application can make per day is limited.
This is dramatic news. All of those “free” programs that hitchhiked on Google Translate are history. A lot of wordpress plugins that depended on the free Google Translation Engine also not work any more.
Fortunately, Microsoft still provide a free translation API for programmer. That’s why I decide to develop this plugin, which uses Microsoft Translator API. It is a surprisingly adequate substitute for Google Translate.
MVC之患上肥胖症的Controller
2012 1月 11th
來這邊負責做的一個項目,用了一個叫做 Yii Framework 的 MVC 框架,剛開始的時候自以為結構很穩健(當然,是相對於現有的爛系統來講)。但是隨着對業務邏輯理解的深入,我開始意識到問題的嚴重,我錯誤地理解了 MVC 中的 Controller,想當然地根據以往的經驗,把所有的業務邏輯都放在 Controller 的 action 中去實現,於是,每一個 Controller 的代碼都上千行,越來越臃腫。
最終導致我下定決心對這兩個月工作進行重構的,是一個對外開放 API 接口的需求。按照現在的架構,代碼基本無法復用,我需要把很多功能再重複寫一遍,這實在是無法接受的。面向對象編程不僅僅是課本上的名詞啊!真正開始實踐才發現要有面向對象意識,有全局觀,是多麼難得的一件事情。
【暴走漫畫】坑爹的UTF8和UTF-8網頁編碼
2012 1月 2nd
一、遇到的問題
曾經被字符集間複雜的轉換搞怕了,正好新項目要求國際化,需要能夠顯示多種語言,於是一開始就規定統統使用 UTF-8 編碼。
- 所有代碼文件使用 UTF-8 編碼存盤
- MySQL數據庫所有表,所有字段設置 Collation (中文翻譯為“整理”?)屬性為 “utf8_general_ci”
- 所有頁面輸出
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
即便是這樣,PHP 從數據庫中讀取內容,顯示到網頁上,還是出現了亂碼,英文沒問題,中文統統都是?問號。這樣也行?艱苦卓絕的 debug 開始了……