首先感謝 iPlayground 提供票讓小菜鳥我可以參與學習,非常感謝🙏

以下簡述我這兩天,參與 Talk、WorkShop 的心得,請多多指教🙇! 樸實無華~

利用TDD來發大財吧~

這個 WorkShop 讓我了解到何謂 TDD(Test-Driven Development) 思維,我的理解是【先寫測試再開發程式】,並根據規格書寫測試後再去實作開發程式。 也了解到所謂的“測試金字塔” Unit Test -> Integration Test -> UI Test ,越接近 UI 層所花費的時間、成本越高。 不過有點可惜的是因為時間的關係沒有進入到關於網路層的測試。 但整體上讓我初步的了解測試的世界,以及寫測試是為了不希望自己改動程式碼時,使得原本可以運作的功能失效。

網路之難,難於上青天

這個 Talk 給我最大的收穫就是跟著 王巍 的思路流程,可以理解到大神是如何對程式碼一步一步地進行優化、理解他的思路、了解他為什麼在這個地方要這樣做。 當下真的是有種不明覺厲的感覺,令我覺得與其拿到優化完的程式碼還不如跟著他的思路去走,這才是最有價值的。 最後除了程式碼以外也得到了一些大神的心得建議如下:

  1. 代碼分類從我做起
  2. 組合 > 繼承,描述 > 指令
  3. 無從下手時,先思考抽象
  4. 不斷重構,保持活力

大神就是大神

我搞不懂浮點數:CS 101

一開始講者就提及浮點數在歷史上造成的災害

Ariane 5 於 1996 年因為浮點數溢位導致火箭升空不久後就爆炸。

print(0.1 + 0.2) //0.3000000004

甚至還有一個專門的網頁來解釋浮點數 https://0.30000000000000004.com/

根據維基百科的例子:π的值可以表示為π = 3.1415926…10(十進位)。

當在一個支援17位尾數的電腦中表示時,它會變為 0.11001001000011111 × 2²。

因此最後講者也提及幾點以建議避免浮點數可能造成的災害。

  1. 浮點數的加法容易出現問題,盡量用乘法,減少誤差。
  2. 金融系統跟錢有關係的最好不要用浮點數。
  3. 能用 Double 就 不要用 Float
  4. 最後浮點數運算最好避免大數字與小數字加減。

為邊緣開發獻上新知 — tvOS

聽完這個 Talk 真心覺得開發 tvOS App 的開發案好邊緣呢!(也好辛苦,一堆坑),講者講得很好笑,輕描淡寫地描述與 Apple 交手的辛酸血淚, 那時候我就在想【如果是我遇到這些只能靠 Try 才能解決的坑,我還能這樣繼續撐下去嗎?】,真心佩服!讓我都想要敗一台 Apple TV 搭配搖桿玩 Arcade 了 如果有興趣的人可以到講者的 medium 看更詳細的內容 為邊緣開發獻上新知 — tvOS(上)

雜談

蠻開心可以參加到兩場 WorkShop,不過真心覺得可以有更好的報名方式,第二天的搶號碼牌“盛況”有點驚人,也許利用線上報名並採取隨機抽籤的機制?

搶頭香~

另外拿了蠻多貼紙,也拿到了 weak self 的貼紙(很可惜沒拿到 Kingfisher 的貼紙,拿了 iCHEF 的環保吸管,滿滿的收穫~ 期待下一屆的 iPlayground! Ps. 兩天的餐盒真的很好吃!

收穫滿滿~