2011年3月31日 星期四

facebook api use on fb iframe canvas

Recently there is a case that runs on facebook iframe canvas with php, which needs login verification and retrive information at each page, so I wrote a sample php to do this. fbmain.php will verify user is login or not, retrive user information and tell if user is a fan of some page. Right below is the sample that includes fbmain.php.

2010年8月14日 星期六

重構與否,不要陷入迷思

很多對程式有著很大熱情的工程師們都會認為良好的程式碼才是一切,於是不斷找空檔將其重構。但事實上這些年我慢慢試著阻止自己這樣作,當然,如果是真的寫的很差的程式,例如每個地方都有相同一塊塊的code,整理是必需的。

不過常常重構也是產生更多問題的開始,例如已經穩定的產品,工程師為了要加入一些設計模式而造成出貨時間的延宕。在台灣大多數的公司都沒有系統架構師這個職位,所以都由工程師來擔任設計,一開始所思考的想法便不是宏觀大局的眼界,日後才會需要一直改...

寫程式的初衷是要達到它的功能,並不是為了要做出藝術品,這就是我的觀點,因為使用者不會在意背後到底是怎麼做的,如果能讓人用的滿意,就是好產品!

2010年5月14日 星期五

iPhone App[iPeg] 上架摟~



經過一次的reject,整體審核時間約14天(所以其實沒有意外的話,Apple每次的審核大約是7個工作天(當地時間)),終於在今天上架了,我自己很感動的去購買第一個app(0.99 us)... 
其實這過程中,程式不是最難的,是美工...程式只花2天,但美工改了6次阿...
希望各位給予一點建議指教^^, 順便膨場一下!!



2010年4月29日 星期四

iPhone開發技巧(5) 找到先前版本的 iPhone SDK 與 Xcode

抱歉隔了好長一大段時間才又寫了新的文章,因為Sam最近在忙論文口試與準備上架第一個iPhone App,在整個開發過程中有參考不少的網路OpenGL ES for iPhone教學,但是有些人可能會發現到因為Apple更新速度很快,所以很多程式框架是在2009年被拍成教學,但在2010年那些框架就全改了。並且,在你申請完ADC帳號後,作實機測試的時候也有一項很麻煩的問題,例如Sam的iPhone更新到3.1.3但是Xcode與SDK是3.1.2,然後執行時候它會和你說裝置版本不符合所以不能Run,這時候千萬不要Restore版本歐!!(除非你裡頭資料不要了...),於是你上去ADC找,會發現只有最新版本Snow Leopard,通常像Sam還沒升級(還是leopard)的就認命Restore...。

2010年3月25日 星期四

iPhone 開發技巧(4) 通知追蹤

我們平常對於iPhone App的開發,都是著重在MVC或商業邏輯上,當然大家一定會有自己的一套除錯方式,或是利用Performance Tool等來進行調效,不過這裡Sam想和大家說一下通知追蹤。

iPhone應用程式中的互動可分為三大類:Delegate(委派)、Target-Action(目標-動作)及Notification(通知)。

Delegate(委派)的作用方式可將它想像成使用者告知A去做事,而A事先把這份責任委派給B,因此,A在接收到做事指令後會直接轉交B來執行(聽起來有點類似推卸責任...雖然最後還是會把事情做完...)。

2010年3月24日 星期三

iPhone 開發技巧(3) 不用NIB(XIB)產生應用程式

延續技巧(2)的結論,Sam覺得還是示範一下怎麼樣不用NIB(XIB)來產生應用程式。
首先,新建一個Window-based Application的Project,然後你會在左方看到如下圖所示的檔案清單。

2010年3月19日 星期五

iPhone 開發技巧(2) 要不要使用NIB(XIB)?

我們在開發應用程式的時候都會使用InterfaceBuilder的視覺化界面來配製NIB(XIB)內的元件,這樣的確是比較省事,不過說穿了,NIB(XIB)在編譯的時候一樣是去產生一堆code。如果想知道你的NIB(XIB)到底在幹嘛,Adrian Kosmaczewski這位仁兄寫了一套轉換模組nib2objc,可以拿來玩看看。
一般開發者總是會認為從頭到尾都用code去產生的效能會最好,事實上這個觀念也沒有錯,Matt Gallagher 針對 UITableView 的顯示進行了比較,一方是由InterfaceBuilder產生,另一方用code來建立視圖。

2010年3月9日 星期二

iPhone 開發技巧(1) release 的使用

一般而言,iPhone開發的時候要自己管理記憶體,雖然可以使用autorelease pool來讓Objective-C自動回收,但大多數的程式設計師還是喜歡自己掌控變數的生死,因此就會使用到大量的release方法。
例如:
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"A", @"B", @"C", nil];
[array release];

2010年1月22日 星期五

再會了~昇陽 So long, old friend

歐盟今天通過了Oracle與Sun的併購案,也等於宣告Sun這個偉大公司的離去~
Java之父James Gosling在他的部落格貼出一幅畫,應該非常貼切許多Java人(或者是傾向Open Source程式開發者)的心聲...


2010年1月21日 星期四

心智圖與甘特圖運用

最近這兩天在整理論文的東西,也順便預定了一下論文時程,老實說,又要系統實作、手機應用加上專家訪談,真的是相當累人,所以只要一環進度落後就會造成很大的影響,因此甘特圖就是必備的東西。
甘特圖(Gantt Chart)由亨利·甘特於1910年開發的,主要為透過條狀圖來顯示項目、進度、和其它時間相關因素隨著時間進展的情況。
其中,橫軸表示時間,縱軸表示活動(項目)。線條表示在整個期間上計劃和實際的活動完成情況。甘特圖可以直覺地表明任務計劃在什麼時候進行,及實際進展與計劃要求的對比。管理者由此可以非常便利地弄清每一項任務(項目)還剩下哪些工作要做,並可評估工作是提前還是落後,亦或正常進行。除此以外,甘特圖還有簡單、醒目和便於編制等特點。