2011年6月30日 星期四

新聞稿系統

Newsletter System

這幾天十分努力開發「新聞稿系統」。今次以 HTML5 + PHP + MySQL 寫成。在編寫的過程中,參考了很多例子,亦看過很多文檔,最終能寫成,實在很有滿足感。

以下是一些常用的句法:
建立新 array
$fileArray = array();
加入數據
$fileArray[] = $file;
逆向排序
rsort($fileArray);
讀取 array 中所有的內容
for ($i=0; $i<count($fileArray); $i++) {}
不是所有瀏覽器都支援
$_FILES['upload']['tmp_name'];
$_FILES['upload']['name'];
要從 PHP 中輸出圖片內容,要先設定 Contet-Type:image/jpg 後,再用 readfile($imagePath); 輸出
取得 selector
var newsletter = document.querySelector('#newsletter');
從字串中分拆成 array
dataArray = request.responseText.split("|");

2011年6月29日 星期三

編程人員測試

Written Test for Programmer

對於招聘編程人員,我會設計一份 3-5 題的題目,要求應徵者在 30 分鐘時間內完成。當中有一題最令我頭痛;原因是 10 位應徵者入面,只有 1 位會嘗試作答,其餘的都是交白卷。而每 5 位當中,只有 1 位較為像樣。這條題目的靈感來自製作「銀行大亨」時,要一個方法給客戶角色離開銀行而想出來。這樣的題目,好像甚麼也測試不到(因為大多交白卷),也有想過換另一條題目;最後卻決定保留,是因為這條題目能分隔開思路周密的人。以下是那條問題,有興趣的不妨試試:

【問題三】在一個火車遊戲中出現了 n 個火車站。每個車站跟另外一至四個車站相連,形成一個鐵路網。現在要求你編寫一個邏輯或程式,任意輸入兩個車站並計算出最短路線。

2011年6月25日 星期六

iOS 5.0 Beta 2


升級 iOS 5.0 Beta 2 之後,發現速成鍵盤的字粗了

2011年6月24日 星期五

WWDC 2011 影片免費發放

WWDC 2011 Videos for FREE

蘋果公司一如上年一樣,把本來只對持有 WWDC 入場門卷的人發放的教學影片,免費對外發放!大家不要錯過每一段影片,能學到很多知識和技巧呢!

2011年6月23日 星期四

UIImage to CIImage

iOS 5.0 內建了人臉偵測功能,當中使用到的影像格式為 CIImage,而不是常用的 UIImage。因此便需要作出格式轉換。方法是:
CIImage *ciimage = [CIImage imageWithCGImage:[image CGImage]];

2011年6月22日 星期三

XCode 4.2 的版本分拆

New Target on XCode 4.2

最近在一個項目中,客人突然想把 Apps 一分為二,製作成為香港版及國內版。兩個版本的流程大同小異,只在最後部份有不同。對於這樣的處理,我習慣做用同一組代碼但不同目標版本(Target)。

在 XCode 4.2 之下,發現要分拆版本比以前麻煩一點,需要手動處理才能達到目標。我發現使用左下方的 Add Target 不是最好的方法,設定很多容易出錯。折衷方法是把現時的目標複製(Duplicate)一份。起初以為改好新目標的名字就成事,後來發現兩個目標會指向同一個 Info.plist,改動其中一個目標的 Bundle Identifier 時,另一個也會跟著改動。所以要手動把新目標的 Info.plist 改正才能把問題解決。

2011年6月20日 星期一

XCode 4.2 SDK 5.0 編譯失敗

No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv6)

最近開發了一個項目,在「2011 年十大我最喜愛香港 Apps 大賞」會場中測試是最好不過。經過幾位用家測試之後,發現了一些錯誤,亦對介面流程有一點意見;於是我便需要對軟件進行改善工程。

由於轉用了 SDK 5 的緣故,專案在編譯時出現了「No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv6)」錯誤。最終的解決方法是在 Targets 的 Build Settings 內把 Valid Architectures 刪掉。它會自動變回圖中的預設值,便能成功編譯!

2011年6月18日 星期六

2011 年十大我最喜愛香港 Apps 大賞


「帝國 Online」及「AlexPanda」在今次「2011 年十大我最喜愛香港 Apps 大賞」中被選入 30 個入圍作品中,本來已經十分高興。而「帝國 Online」最後能打入十大中的第四名,實在是一大鼓勵。多謝對以上兩部作品都投過票的朋友。

2011年6月14日 星期二

UITextView 圓角

Rounded Corner in UITextView

公司最近一個 App 有提交留言的功能,當中使用了 UITextView 及 UIWebView。做出來的效果太過四正,所以想加點曲線。做法是在 #import QuartzCore/QuartzCore.h 後,便能調用 [textView.layer setCornerRadius:10]; 來把 UITextView 設定圓角。十分方便好用。

2011年6月13日 星期一

關於 UIWebView 的閃白問題

About Initial White of UIWebView

使用 UIWebView 時出現的閃白問題,一直以來都沒有處理。今天有點時間便優化這個部份。最終我的處理方法是在 UIWebView 上建立一個相同大小的 UIView,並設定成背景的顏色。在 - (void)webViewDidFinishLoad:(UIWebView *)webView 時才把這個 UIView 拿走。出來的效果很好!但對於有花紋的背景,就要想想其他辦法了。其中一個可行的方案是把 UIWebView 的 Alpha 值設定為 0.01f,當完成載入後設定為 1.0f。

2011年6月11日 星期六

2++ 長去作反


今天是小女回校綵排的日子。在三個半小時的綵排時間中,8 家家長們原本打算去學校附近的戲院看「不再讓你孤單」。那是對我們來說最絕的配合...,可惜偏偏在今天沒有了早場。於是,只好改為晚上,剩下兩家家長去作反。但很值得!期待下次的「5++ 長去作反」。

2011年6月10日 星期五

線上圖示轉換工具

Icon Converter Online

今日完成了一個 App 的更新工作後還有一點時間,於是便學習一下 HTML5。要有效學習,最好是有一個具體的項目。平時在準備 iOS Apps 的圖示時,需要製作 512x512, 114x114, 72x72, 57x57 幾個解像度,還沒有計及 Spotlight 的版本。雖然算不上花時間,但小數怕長計。對於這類能交給機器的工作,還是交給機器好。於是便決定製作「圖示轉換工具」。

2011年6月9日 星期四

iOS 5.0 Photo Stream 真是十分方便

Photo Stream is Really COOL

Photo Stream 真是十分方便!剛才到 KFC 進早餐時拍的照片,回到家裡打開 iPad 就已經有齊了,很快很正!

2011年6月8日 星期三

iOS 5.0 終於有「速成」

Quick Chinese Input Method Finally Arrived

我最常用的是「速成」輸入法,偏偏 iOS 沒有唯提供,有使用手寫輸入。可是 iOS 一直以來對於手寫辨認的準確度不高,有些常用字要寫數次才能找到需要的文字。iOS 5 終於加入「速成」輸入法了,不過卻收藏得怪怪。「速成」不是獨立的一個輸入法,而是寄居於「倉頡」之內。需要加入「倉頡」輸入法後,再在「倉頡」的設定中啟動「速成」才能生效...。

2011年6月7日 星期二

iOS 5.0 Beta


今晨 Steve Jobs 發佈了關於 iOS 5.0 的消息。雖然新鮮的功能不多,但加入雲端應用之後,的而且確方便了不少。對我來說,最有用的莫過於解鎖畫面的通知提示及日曆分享功能。前者能快速一覽有甚麼更新,後者則能與我太太分享女兒學校的作業事項,這是一個期待已久的功能。

2011年6月3日 星期五

緣份擦身而過

在今次的聘請過程中,美工的申請是最多,編程的可以說是寥寥可數。當中只有一位較為理想。能找到重要的編程人員,我也鬆了一口氣,對公司的發展是有幫助。在決定聘用的同時,卻竟然連續三天都找不上;今天終於能跟編程人員聯絡。可是基於價高者得的情況下,我們輸給另一家手機軟件開發商,他決定不到 BeyondZ 發展。這是一個無形的打擊,亦打亂了我的計劃,現在只好重頭來過。幸好時籍畢業時間,有較多的學生開始尋找他們人生中第一份工作。希望我能快一點遇到有能力的編程人員,加快公司的發展步伐。

2011年6月2日 星期四

對主筆有新的認識

在過去的一個星期,我進行了密集式的面見。接觸的人多了,從不同人身上都學到一點點東西。在面見之前,我都會要求應徵者進行筆試。對於美術人員來說,目的是要進行創意及畫功的測試。就像今天的那位仁兄,從看到他履歷中的作品時,我已經對他有點期望,加上他曾是主筆,心中已經默認了他是個有實力的人。

到他完成筆試之後,真的嚇我一跳,跟我的想像有很大的落差。再問他最擅長的是甚麼,居然是在筆試中也有出現的題目:景。我沒有質疑他沒有主筆的能力,也沒有懷疑他在說謊。但若所說非虛,那只能說是人才若渴。相反,他在面談時對於我們的質詢卻沒有絲毫的畏縮,充滿著自信及喜悅。雖然感染不了我們去信服,但我自問做不到他那樣。在一眾人不認同的時候,究竟他那份自信是從何而來?實在值得學習。

2011年6月1日 星期三

OpenGL 筆記

OpenGL Notes

最近在一個項目,客人要求畫面某些部份需要有發光的感覺;要做到這樣的效果,我不懂得 UIKit 是否能做到,但就肯定 OpenGL 能;所以這個項目便用上了 OpenGL。在製作的過程中,對 OpenGL 有多一點發現,為方便日後翻查資料,現記錄如下:

glOrthof(0, 768, 1024, 0, 0, 100);
把 OpenGL 以左下角為 (0, 0) 的座標系統轉換成左上角為 (0, 0) 的座標系統

glViewport(0, 0, 200, 200);
能把整個畫面壓縮成 200x200 大小,並放在 (0, 0) 位置