籃球遊戲研究 – (非正式籃球比賽)

(p.s 以下皆非正確答案,純屬個人思考用)

籃球防守戰術的抽象概念:

避免對方球員把球傳到或帶到最終投球的出手點

籃球進攻戰術的抽象概念:

把球傳到或帶到最終投球的出手點

球的走向:(抽象化防守和進攻,改用球的走向來看「進攻戰術」或「防守戰術」是否能針對對方戰術正確達成目標)。

可用來判斷/評估戰術是否能有效達成預期目標

對方球員執行高位戰術,球的走向是低位到高位,則我方球員實施防止對方球員把球從低位到高位的戰術。

戰術有一人達成或多人達成

戰術的組成:

* 擾亂/敵方判斷球的走向

* 讓敵方因戰術分散注意力,使我方能達成階段或最終目標

戰術的選擇與變換:

根據對方球員能力與對方戰術設定,進行我方戰術調整

Software engineering – Describe View, ViewModel, DataService, BluetoothService relationships by interaction diagram, class diagram

Prerequisite:

  • Interaction diagram描述object之間的互動
  • Class diagram描述class之間構成的結構與關係

Ref:

Interaction diagram

https://zh.wikipedia.org/zh-tw/%E4%BA%A4%E4%BA%92%E6%A6%82%E8%BF%B0%E5%9C%96

Class diagram

https://en.wikipedia.org/wiki/Class_diagram

UML class diagram relationships說明:

link:

https://cacoo.com/diagrams/42iti8NqW7vXxEnX/51F5C

Ref:

UML class diagram Relationships:

https://spicyboyd.blogspot.com/2018/07/umlclass-diagram-relationships.html​

關於教育 – 2023/1/16

有人說要給小孩美好的未來,所以幫他/她規劃好從小讀名校/國際學校,長大後送出國讀書。

有人說要給小孩奠定最好的基礎,所以從小逼他/她關在家裡寫功課。

有人說要給小孩最棒的教育,所以給他/她請最嚴厲和帶的學生得最多獎的老師。

但他們不知道他們的小孩所處的周圍的環境、
所處的其他階層的小孩過的是什麼生活。

也不知道長大後出社會工作後,他們還是要面對不同教育環境成長的人

即便他們小孩長大後,能與同階層的人相處、工作,但他們的吃的食物、用的東西,都是來自他們看不起的階層做的。

他們也可能遇到工作的同事/長官仗著自己小時候得到的優勢,不斷試圖在職場中複製小時候父母給予他們的優勢,一旦不被滿足,就像不定時炸彈,隨時可能炸傷別人。

沒有完美的答案,只希望多一點人去思考~

關於理財 – 基本篇1

Subjects: 錢、股票、ETF、基金、債券、黃金、外匯、期貨、藝術品、……

上述subjects可分為兩類:

  • 1) 勞動收入賺來的:
  • 2) 理財工具:
    • 股票、ETF、基金、債券、黃金、外匯、期貨、藝術品、……

Note 1:
「理財工具」不等於「錢」,因為如果市場上都沒人要,它就是一個「沒價值的商品」(i.e. 不值錢,可能變成連一塊錢都比不上的東西)

Note 2:
理財工具更具體的解釋是:
拿錢去操作,期望能產生「高於銀行定存」的利息或價差,以及被賦予給予人們財務自由(i.e. 利息或價差能等於/高於本業收入),免於失業/生存恐懼的方法。
(p.s. 有些不懷好意的目標,不在此列舉出來,這裡僅列出「正當」用法)



基本觀察:

理財工具的共同特徵:

  • 要有許多人「都持有」或「想持有」,才有價值,否則只是壁紙、一般生活用品。
  • 會有價格「暴漲」或「暴跌」
  • 不同理財工具的「入門門檻」都不同
    (ex: 股票以台股定期定額來說,1000NTD就能入手。較貴的藝術品可能要數十萬NTD~上億NTD)
  • 不同理財工具的「期望回報週期」都不同
    (ex: 以ETF 0056來說,每一年都會發放股利)
  • 不同理財工具的「期望回本週期」都不同
    (ex: 以台灣ETF 0056來說,每一年都會發放股利,平均報酬率3~6%,就像是拿到利息(i.e.本金*3~6%),大約20年才能把全部本金拿回來)

Note:
基本觀察這邊不討論「價格來回震盪過大」(ex: 一年把本金翻倍,甚至更多)的理財工具/商品,因其跟「賭博」無異,不討論。
(p.s. 簡單來說,那類型理財商品,都是自己期望透過收集到的不透明資訊或私下得到的資訊去判斷什麼時候該買、該賣,這跟賭博沒有不同。)


個人理財規劃

略,請自行填寫,例如每個月存1W

個人理財目標

略,請自行填寫,例如希望20年後,每月有被動收入5W以上



判斷標的股票

(市值大於多少?現金流?市場占比?未來成長型?國際/未來趨勢?如何判斷是否需要出清?)

個人前提: (p.s. 每個人的前提都不同,若不一樣,以下僅供參考)

「長期持有」是希望能持有3~5年以上

上述因子「哪些是用來讓自己有信心長期持有」的「哪些是公司真實/獲利狀況」需分清楚

  • 讓自己有信心長期持有
  • 上市/上櫃多久
  • 市值大於多少
  • 每年股利多少
  • 發了多少年的股利
  • 去年/過往殖利率
  • 公司真實/獲利狀況
  • 主要營運項目 (p.s. 是否專注本業)
  • 股權狀況(股票佔比是不是集中於本土或外資)
  • 現金流
  • 市場占比
  • 未來成長型
  • 國際/未來趨勢

適用於「合理價估算」的股票的前提:
配息穩定(8年) — 配息率
ROE穩定(8年)
毛利穩定(8年)
長短期投資/負債
短期償債能力

每項因子的影響權重與佔比評估

  • 未來成長型/ 市場占比/ 國際/未來趨勢 => 決定了未來80%的營收
    (Note: 上述因子建立在「公司經營穩定性」的基礎上,若公司經營不穩定,即便市場展望好,也沒用
  • 股權狀況/負債狀況 => 決定了未來20%的營收 Note: 80%和20%只是形容「相對重要性」,數值不是精確的~

評估公司未來是成長型的因子:

  • 稅後淨利是成長趨勢
  • 營收是成長趨勢

評估公司公司經營是否穩定的因子:

  • 長期負債狀況
    負債單純
    負債比例 < 40 %
  • 短期償債能力
    流動比 > 200 %
    速動筆 > 100 % Note:
    流動比: (流動資產 / 流動負債) * 100%
    速動比: ((流動資產 – 存貨 – 預付款) / 流動負債) * 100%
  • 長期投資狀況
    注意金額是否大於本業

評估好股票

  • 條件

評估股價

  • 股災價格
  • 合理價格

股利估價法:
方法一: (利用「當期股利」)

  • 當期股利 * 15 – 便宜價
    20 – 合理價
    30 – 昂貴價
    方法二: (利用「8年平均股利」)
  • 平均股利 * 15 – 便宜價
    20 – 合理價
    30 – 昂貴價
    方法三: (利用ROE)
  • 「預估ROE」 * NAV淨值 = 預估EPS
  • 預估EPS * 「合理本益比」 = 合理價

Note:
「預估ROE」和「合理本益比」是需要自行計算,NAV淨值和預估EPS可從公司財報(p.s. 或大型股票資訊平台)獲得

a)預估ROE:
可用「過去5年ROE的平均」(p.s. 注意可以拿掉受一些輕微因素影響年的ROE,再求平均)
b)合理本益比:
可用股票平台查到的公司「8年最低本益比的平均」 (p.s. 可拿掉最高和最低,剩下的再求平均)

Note:
「合理本益比」和「預估ROE」的預測,會影響合理價格的計算,要特別注意
可以自己撰寫客製化的推算公式,但記得要自己去多找一些股票來驗證,確保自己的推算公式是「可靠的」

Ref:

https://www.youtube.com/watch?v=TQI5qdKs5mM

IOS app工程師職業技能

以前不知道自學的訣竅&自己的問題,所以很多很棒的資源看了就忘或者是一知半解。

Ios工程師的自我修煉除了下面提供的roadmap和matrix,個人認為ios developer應該還要把內功(ex: 實作演算法和clean code能力)和擇一domain knowledge長期耕耘(ex ai or network or image/video processing⋯⋯)。

至於architecture 部分應該也是要,但architecture的範圍很廣,所以我還搞不清楚到底如何培養?還是說這個只能靠天賦?

雖然上述許多能力很抽象,在不同公司或組織對同個項目的理解與定義也不同。但有個方向努力還是比較安心😎

Ios developer roadmap:
https://github.com/BohdanOrlov/iOS-Developer-Roadmap

Ios developer matrix:
https://github.com/BohdanOrlov/ios-skills-matrix

RxSwift學習重點整理

RxSwift學習重點:

不可忘記的前提:

  • 事件是在哪一條thread上執行(ex: main thread or background thread)
  • 物件的生命週期(i.e Observable/Observer的生命週期)
  • 效能
  • 使用的記憶體控管

RxSwift好處:

  • 運用function programming方式,解決code過於分散等問題,讓程式碼好維護(p.s. RxSwift拿去跟Target-action/Closure/Delegate相比)
  • 呼叫update UI的code永遠需要nested在asynchronous action內的問題 (p.s. KVO, Swift的didSet也有解決這個問圖)
  • 解決asynchronous action之間有Dependency時,都會需要nested

RxSwfit達成上述好處的實作概念:

  • 透過抽象化asynchronous action,包成function programming的形式讓開發者使用

RxSwift正確用法的抽象概念:

  • 確保「訂閱/與訂閱物件的生命週期」能被預期(i.e. 知道何時生成/銷毀)
  • 妥善運用compound operator(例如: combineLatest/zip、flatMap vs flatMapLatest、distinctUntilChanged、……),知道其差別與何時使用

判斷工程師對RxSwift熟練的程度:

  1. 會用RxSwift完成功能
  2. 會區分RxSwift和Target-action/Closure/Delegate的差別
  3. 了解如何妥善運用RxSwift,而不是一些可以用基本data structure(ex: Array、Dictionary……)的地方,也不自覺得使用RxSwift
  4. 了解RxSwift比較複雜的operator且能說出類似operator的差別與何時使用
  5. 會管控RxSwift的訂閱生命週期與Observable和Observer是在哪個thread上執行
  6. 有辦法運用RxSwift達成MVVM architecture(p.s. 達成Decouple UI和ViewModel、UI和ViewModel和Service的關係)
  7. 能把上面整理的RxSwift重點自己講出來,且「能上機實作出來」
  8. 不僅(7)能達成,也有應用於大型系統架構的實務經驗(ex: 一萬行code及能畫出UML class diagrams,並說明運用RxSwift後,達成什麼事,有哪些地方/原則要注意)

Ref:
https://beeth0ven.github.io/RxSwift-Chinese-Documentation/

SwiftUI學習

SwiftUI

目的:

  • 避免重複創建object
  • 確保object的生命週期,以確定function可以正常work、確保使用者的資料不會遺失、避免將runtime的資料永久保存
  • 確保「效能」(Note:「如何更新」、「何時更新」 (i.e. 確保「效能」,讓使用者操作不卡頓)

方法:

SwiftUI背後的重點:

1) ID – 判斷兩個UI元件是否相同
(p.s. 參考"截圖 2023-01-10 上午10.47.05(2__ID的使用地方"、
“截圖 2023-01-10 上午10.48.59_顯示ID_結構ID")
p.s. 不同ID = 不同元素

 ID種類: 顯示ID、結構ID

2) 生命週期

3) 依賴關係

訓練和鍛煉所花的時間的目的是:

如何用「方法」來「精準」的達成「目的」

  • 你可以用爛方法或隨意的寫來完成程式的功能,但你如果想要確保「效能」、「記憶體使用量」、「易擴充、易維護」,你就只能不斷地鍛鍊自己用方法的能力或是透過大量的經驗與觀察,發現新的或更抽象的「目的」。

詩 – 渴望真相

這首詩是修改林婉瑜老師寫的詩而成:

原來的詩:(by 林婉瑜老師)

「你經過的時候
我的生活
總會
因此被擦亮一秒鐘
我記得
那種光亮那種瞬間
但 不去想念
因為我
是比較適合黑暗的那種人」
──〈夜行性〉

修改後的詩:

「你經過的時候
我的生活
總會
因此被擦亮一秒鐘
過了好幾次後
我發現
那種光亮來自我自己
但 我還在尋找
因為我
是想要了解何謂人及世間真相的那種人」
──〈渴望真相〉