有時候想知道多邊形的面積,我們可以怎麼做?現在給定幾個座標點,只要呼叫內建的函式contourArea,就會回傳結果數值喔!這篇就叫做計算輪廓面積 (Calculate Contour Area)。

讀取一張600×600的影像,四個座標點分別為(70,70)、(70,170)、(170,170)、(170,70),面積為10000,因為四邊長都是100,所以用心算就能得出結果。
有時候想知道多邊形的面積,我們可以怎麼做?現在給定幾個座標點,只要呼叫內建的函式contourArea,就會回傳結果數值喔!這篇就叫做計算輪廓面積 (Calculate Contour Area)。

讀取一張600×600的影像,四個座標點分別為(70,70)、(70,170)、(170,170)、(170,70),面積為10000,因為四邊長都是100,所以用心算就能得出結果。
開發App迭代十分快速,時常要更改版本號碼Version Number和建置號碼Build Number,如此容易區隔每個版本,測試員回報問題也能輕易對照。
Version Number制定規則比較直覺,一直都是從1.0.0開始,feature有大更新就變2.0.0,feature只有小變動就改2.1.0,bug偶爾修掉就微調為2.1.1。
Build Number可以怎麼做呢?我習慣將它設定為日期+時間,比如今天日期:160324・時間0111,合起來就是1603240111,當收集到Crash報告或bug清單,對照Git版本控制,就能知道當時的問題所在!
過去我們都是手動去更改BN,現在有更聰明的作法,就是在Xcode的Build Phases加入Run Script,接著按編譯(Command + B),就能在General的Build看到自動更換為當時的日期時間。
加入這幾行Run Script就好囉⋯⋯
timestamp() {
#date +" at %H:%M:%S on %m/%d/%Y"
date +“%y%m%d%H%M"
}
buildNumber=$(/usr/libexec/PlistBuddy -c “Print CFBundleVersion" “${PROJECT_DIR}/${INFOPLIST_FILE}")
buildNumber=$(timestamp)
/usr/libexec/PlistBuddy -c “Set :CFBundleVersion $buildNumber" “${PROJECT_DIR}/${INFOPLIST_FILE}"
看不太懂沒關係,反正這只設定那麼一次XD~

設定Run Script

編譯後Build自動變更
每兩週我們超慢跑團會相約週末一起練跑,這次要迎接的賽事是3/20國道馬拉松21公里與10公里,於是我們在兩週前3/5從公館跑到木柵再折返回公館,一共是21公里。
來看一下我們即將跑半馬21公里的成員們的英姿吧:P~
我們總以為只能使用內建的導覽動畫,這個功能也就是要進入下一頁面時會出現的行為,從右往左推進來是iOS一直以來預設動畫,而回上一頁則是從左往右推回去。

現在我們想要呈現不一樣的效果,此時就要客製化導覽動畫 (Customize Navigation Animation)。
上週電腦資訊界最夯的新聞是AlphaGo對戰韓國圍棋九段棋手,對圍棋沒有特別興趣的我也會關心這場盛事,除了因為現在的人工智慧讓我好奇程度已經發展到哪,更由於AlphaGo的作者是我的師大資工的學長黃士傑,讓我想起還在大學和研究所時和他互動的情景,他認真地當林順喜老師的課程助教讓我深感他如此敬業,相較我曾當過阿喜的高等演算法助教,可是就沒有他那麼熱誠,還會額外找時間教導學弟妹課業相關問題!

下載影像到App中已不是問題,那麼上傳影像到伺服器呢?原本想要使用世界最知名的第三方套件AFNetworking,可是我怎麼嘗試都有錯誤,以為伺服器沒有做好,然而Android工程師和我們新的PM測試都可以成功,那麼一定是我這邊出了問題。

最後打算用原生的方式實作,寫法搞了一會兒,終於回傳成功!
HappyMan・迴響