2014年6月8日 星期日

Swift Class VS Structure

Class VS Structure

Class can be subclassed
Class modifies by reference

Structure
No subclassing
Make a copy of the passing values and modifying the copy

2014年6月7日 星期六

Swift

岩岩既 WWDC 2014 最令人意外應該係Swift

係時候玩下啦


2014年6月2日 星期一

六月 一年了

又三個月了 

自從二月開始做打雜 幫其他project 做debug enhancement 

返手做返一入黎既銀行app 

本來fix 啲bug 就上store

到最尾先發現我地原來唔係用xcode 5 build

點解要用xcode 5 build 呢 因為apple 果邊限制

希望逼舊app upgrade 個app 係iOS 7 會用iOS 6 既UI 

而出現唔consistent 既情况 

畢竟 iOS 7 改左好多 例如UITableView statusBar 既20 px 

之後用左一個星期同一個senior 既同學 fix 果啲UI bug 

比客睇多次就上左 

但係自己係store download 有啲content 同status bar overlap 左

又無人話有問題 暫時當完左 (係掛)

到三月尾 接左另一個出名化妝零售商既iPad shopping app

呢個app 本來預左係上年就會完成 奈何對面既developer 唔識

要我地呢邊黎design 個api spec 比佢地跟 

就算跟都跟唔足 仲有好多bug 好hard code 左既data 

攪到成個project 分開兩個phase 

而我接手既時候就係第二個phase 

加多四個menu item 同入面既page 

未開始做之前都要搞緊phase 1 webView timeout既問題⋯ 

搞左成個星期先開始到phase 2

supervisor 怕我唔識預時間 特登set 左 5個milestones 比我去跟

但係每一個milestone 之間無預時間做buffer 同bug fix 

自己睇個schedule 又睇得唔清楚 咁就同supervisor confirm 左

做落發現自己控制時間唔好 又參與左啲唔關事既野 仲好多detail 位無係之前果時無諗到

搞到第一個milestone 就已經miss 左4日 仲要好多UI 問題 走位 彈性app 等等 

結果比supervisor 捉住黎鬧 

好彩岩岩有個復活節 係假期同六日返黎追返個schedule 加上同事之前已經做左一部份

係第二個milestone 追到剩返一日delay 係後面既milestone 都無delay 過 

supervisor 都無再煩我

雖然咁樣可以迫我做到野 但係我唔想係咁逼壓既工作環境到做野同學野⋯

另外既係咁逼法 只會令交出黎既野好多野暗病 hard-code 令到之後maintain 更要多時間去fix 

咁樣迫schedule對同事同公司好咩?? 

另外有個做左三年同事離開公司 但係又見唔到請返人黎填補空缺

而且個個係度做都有想走既意欲 有啲因為加人工唔多 有啲因為想轉環境

雖然身邊都有好多同事教 但係project 唔會少既情况之下 只會越黎越忙

係做左一年之後 到底係留係走 心入面都未有一個答案⋯


2014年2月19日 星期三

2013 - Dec > 2014 - Feb

對上一次既post 又係三個月前

始終無寫blog既習慣 都係間唔中心心血來潮先會留低幾句

先講下一三年十二月做左啲咩啦

自從做完果個聖誕app之後

接手一個係一生人入面算大既project

由本來version 1既newspaper app

  1. update 成個app既UI  (flat UI style) (由客提供UI design) 
  2. 加新function 包括 加多啲唔同類型既news /QR Code
  3. 睇新聞可以左右swipe 睇 前一條同後一條article
  4. 加DFP 廣告 Banners
睇落去好少野 而跟我project既senior 都預左聖誕節之前可以完成

點知

到左一月三號都完成唔到 仲有好多bug

一方面係自己控制時間唔好 無比自己限期同目標去做 令到自己做既時候做得慢 又無productivitiy

另一方面 一開始接手既時候 無睇成個app既結構 一味拆開黎做 以為就咁砌落去就無事 無放時間落去睇人地啲code 點走 亂撞撞到好多bug

第三 成個app本來就好多問題 

例如alloc 左個timer 用完就invalidate 同nil 但係無release 

API Caller又要用block 寫 但係用得唔好就會有Retain cycle 問題 (如果出面pointer 無做處理 block 入面會strong ref 出面obj 咁點都斷唔到個strong ref) 

砌UI 又亂咁黎⋯見到有HTML 就用webView 唔岩design 就加多啲css 黎fix ⋯

自己無睇就做⋯ 



由一月三號開始,不斷咁逼自己係咁清曬啲requirement 

Supervisor 為左可以出到個UAT Build 比客試 都有落場幫手做 

其他本來唔關事隔離team 既同事 都有幫手成個project 轉ARC 希望做到無咁多leak 

係一月八號終於出到個UAT build 比客 

但係仲有好多issues / features 未implement 

之後成個一月 一個星期有三四都係搭的士返屋企⋯(即使夜到無巴士走)

如是者 係咁OT 係咁做 自己都鑽曬牛角尖 無理過自己感受 唔識去釋放壓力 

搞到好多issue 滿以為fix 左 其實未去到個root cause 

code quality 又低 

到左農曆新年前一日比supervisor 捉左傾計 

同我講返係公司做野唔係咁 而係通過溝過黎做到promise 

唔係一味死做爛做就一定work 

同佢傾完之後

心情放鬆左唔小 無左心理負擔 (因為以為自己錯曬 一個人"咩" 曬 "飛") 

到左二月頭supervisor 問我繼唔繼續做 我答我唔做 

因為第一我怕我會再鑽多次 第二我唔放手 個project 都唔會做完 

與其比狀態唔好既我做 不如放手比其他人 可能會仲快完成到

之後交帶返啲細節 例如啲class係邊 啲cert provision 點build 

我就做其他project



之後接手既係一個demo app 只有UI 但係無實際功能 

幫手加多個theme 同埋執UI 位

點知又比我見返對上一個app 既code 係完全係上一個app 抄過黎

雖然抄返黎既code無用過 但係我立即同上頭講 

上頭都同意要執code

我同成個demo app 清走曬啲有問題既classes 再成個app 轉左ARC 

最後加返個AFNetworking 比返其他同事參考

覺得自己起碼制止另一場悲劇既發生

做到同事大假返黎 就pass返比佢


而岩岩就做左另一Set 既Demo App 

今次係同一間國際銀行做 

做左一啲我之前想學既技術 AR / indoor positioning 等等

今次起得好快 requirement 好清楚 

上星期五起左個structure 之後 

星期一收到圖 改plist 就可以出build 

琴日(星期二) 到臨尾都仲有野要改 但係總算改得切 fit 到requirement


與此同時 仲幫左一個舊app debug 

因為二月一號開始 上app store 既app 一定要用Xcode 5 build 

有啲舊app 用Xcode 5 build 有機會有UI issue 

例如啲UITableViewCell 透明左 

ViewController Lifecycle 搞到有啲UI 爛左 / crash

好在呢個舊app 寫得好 啲code 容易搵 搞左幾個鐘就fix 曬啲issue


呼 一口氣寫左咁多 呢幾個月自己變左好多 同時明白到呢間公司既做事方式 

雖然有啲時候未必跟得上大隊 但係起碼要清楚知道自己既問題係邊度 

問其他人既時候一定要做好左自己本份 例如search google / 自己試清楚 

如果有啲issue 係會拖慢schedule 一定要出聲 '

係呢個Ted 入面 有一句令到我深刻

 blame is not for failure, it is for failing to help or ask for help.
有時候失敗唔係重點 重點在乎有無去搵人幫你