聖誕佳節,App也要換新裝
還沒來得及兌現2019的新年新希望
這一年就要過去了
但也想不起來年初有許下什麼願望
只好繼續埋頭工作
這個月最酷的功能
應該就是推出聖誕節必漲股了吧
因為公司大部分為開發財經類App
遇到節慶通常不會有什麼活動
但是我現在開發的App
算是偏社群軟體
而非工具軟體
所以我就幫忙提了一個需求
建議App是不是要跟聖誕節結合一下
原本想說只是簡單換個圖片
意思意思一下
有個氣氛就OK了
結果PM規劃了一整套聖誕節必漲股活動
結合分享和動畫
告訴使用者有哪些股票必漲
算是稍微複雜一點的功能
這次唯一要研究的功能
就是動畫
使用的是AirBnB公司的開源套件-Lottie
剛好組內的的成員
有使用過After Effect轉json的經驗
所以其實串接起來也滿簡單的
就是把輸出的json檔案讀進來
寫一兩行code
就可以跑出驚人的動畫效果了
真的是滿強的
在這一次的需求當中
時間是第一要素
因為聖誕節Apple會停止受理送審一個禮拜
必須要提前送審
所以從接到需求到實作完成大約不到三個工作天
原本還想規劃加入自選股
但是時間真的是來不及
只能鎖定核心的功能完成後
速速送審並且上架
實作過程中真的滿趕的
不過最後發布上架後
看到商店中新的App icon
還有專為聖達節打造的登入頁面
一切就值得了
另外一個比較硬的需求
就是自選股的排序
原本的排序方式很簡單
就是名稱、股價、漲跌幅任選一種
用升冪或是降冪排
但是這次需求多了一個用”評分”排序
而這個評分是另外一道API取得的資料
並包含在原本的API中
我又不想把評分這個欄位
加到原本的自選股當中
因為並不是每個地方都需要評分這個欄位
所以在排序的時候
多開了一個資料結構
簡單的來說
就是只排股價名稱的陣列
而非真的去排序真正的物件
真正的資料是存在Dictionary當中
所以外部的tableView
資料來源是股價的陣列
當真正要對cell設定詳細資料時
再用股票的Id去Dictionary裏面取找
最後要講的是
一個簡單但是麻煩的功能
就是Dark Mode啦
說起來就是滿紙辛酸淚
當初由於時間關係
UI只給了兩張暗黑模式下的畫面
我得必須從這兩張畫面
推測其他畫面的長相
當真是兩儀生四象
四象生八卦
八卦生Dark Mode
全部的工時大約將近40個小時
除了暗黑模式下畫面正常
也要確保不影響一般模式下的正常畫面
還得分開檢查iOS 12以及iOS 13的表現狀況
真的是寫手機App以來
最漫長的一次需求戰役
Dark Mode其實也有畫面的邏輯
顏色並非單純的用黑白來分別
而是用”清楚”、”不清楚”來辨別
在白底中,清楚的顏色會是黑色
相反的
在黑底中,清楚的顏色會是白色
在設計Color Set時
就要考量這些因素
才能讓Color Set通用到後面的畫面邏輯
講得容易
但是實作上還是很容易漏東漏西
不過這一期還是還沒完成
待UI驗收過後
下一期才能上
最近工作都能如期甚至超前完成
下班後都頗清閒
終於有時間可以來刷一下leet code了
之前的基礎能力不夠
每次提交答案時
總是會被新的test case擋下來
重寫邏輯
灰心了一陣子
就沒再碰過
現在多讀了一些書
感覺多少應該有一些概念了
對自己多了一些信心
不過當然還是從最簡單的開始刷起來
本來想用熟悉的Swift
無奈家裡沒有mac
用線上編輯器寫
一直編譯失敗真的很煩
只好默默開啟Visual Studio
重回溫暖C#懷抱
測試完了再貼上leet code跑
一個禮拜下來其實沒有寫多少
根本就稱不上”刷”
不過多少還是有點心得
簡單的題目大致上看完就會有想法
可以直接解決
執行的速度也都在百分之七十以上
只是記憶體的使用量就比較慘
通常是在後段的百分之十
中階的題目就比較困難了
常常需要幾個小時
甚至在走路的時候晃一下
靈光一閃才會想到解法
但是對比最早的leet code紀錄
上傳了快7、8次還是失敗的窘境
這一年來多少是有點長進
最後附上可愛的App聖誕icon