還沒來得及兌現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

200x200bb.jpg