iPlayground 2019 心得感想
首先感謝 iPlayground 提供票讓小菜鳥我可以參與學習,非常感謝🙏
以下簡述我這兩天,參與 Talk、WorkShop 的心得,請多多指教🙇!
利用TDD來發大財吧~
這個 WorkShop 讓我了解到何謂 TDD(Test-Driven Development) 思維,我的理解是【先寫測試再開發程式】,並根據規格書寫測試後再去實作開發程式。 也了解到所謂的“測試金字塔” Unit Test -> Integration Test -> UI Test ,越接近 UI 層所花費的時間、成本越高。 不過有點可惜的是因為時間的關係沒有進入到關於網路層的測試。 但整體上讓我初步的了解測試的世界,以及寫測試是為了不希望自己改動程式碼時,使得原本可以運作的功能失效。
網路之難,難於上青天
這個 Talk 給我最大的收穫就是跟著 王巍 的思路流程,可以理解到大神是如何對程式碼一步一步地進行優化、理解他的思路、了解他為什麼在這個地方要這樣做。 當下真的是有種不明覺厲的感覺,令我覺得與其拿到優化完的程式碼還不如跟著他的思路去走,這才是最有價值的。 最後除了程式碼以外也得到了一些大神的心得建議如下:
- 代碼分類從我做起
- 組合 > 繼承,描述 > 指令
- 無從下手時,先思考和抽象
- 不斷重構,保持活力
我搞不懂浮點數:CS 101
一開始講者就提及浮點數在歷史上造成的災害
Ariane 5 於 1996 年因為浮點數溢位導致火箭升空不久後就爆炸。
print(0.1 + 0.2) //0.3000000004
甚至還有一個專門的網頁來解釋浮點數 https://0.30000000000000004.com/
根據維基百科的例子:π的值可以表示為π = 3.1415926…10(十進位)。
當在一個支援17位尾數的電腦中表示時,它會變為 0.11001001000011111 × 2²。
因此最後講者也提及幾點以建議避免浮點數可能造成的災害。
- 浮點數的加法容易出現問題,盡量用乘法,減少誤差。
- 金融系統跟錢有關係的最好不要用浮點數。
- 能用 Double 就 不要用 Float
- 最後浮點數運算最好避免大數字與小數字加減。
為邊緣開發獻上新知 — tvOS
聽完這個 Talk 真心覺得開發 tvOS App 的開發案好邊緣呢!(也好辛苦,一堆坑),講者講得很好笑,輕描淡寫地描述與 Apple 交手的辛酸血淚, 那時候我就在想【如果是我遇到這些只能靠 Try 才能解決的坑,我還能這樣繼續撐下去嗎?】,真心佩服!讓我都想要敗一台 Apple TV 搭配搖桿玩 Arcade 了 如果有興趣的人可以到講者的 medium 看更詳細的內容 為邊緣開發獻上新知 — tvOS(上)
雜談
蠻開心可以參加到兩場 WorkShop,不過真心覺得可以有更好的報名方式,第二天的搶號碼牌“盛況”有點驚人,也許利用線上報名並採取隨機抽籤的機制?
另外拿了蠻多貼紙,也拿到了 weak self 的貼紙(很可惜沒拿到 Kingfisher 的貼紙,拿了 iCHEF 的環保吸管,滿滿的收穫~ 期待下一屆的 iPlayground! Ps. 兩天的餐盒真的很好吃!
- 原文作者:Spark
- 原文連結:https://sparkdoaz.com/post/iplayground2019/
- 版權聲明:本作品採用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议進行許可,非商業轉載請註明出處(作者,原文連結),商業轉載請聯繫作者獲取授權。