2024-08-21

Java Function

 研究 spring security jwt decode 設定過程看到. 

public void setJwsAlgorithmResolver(Function<ClientRegistration, JwsAlgorithm> jwsAlgorithmResolver) {

需要了解 Function<ClientRegistration, JwsAlgorithm> jwsAlgorithmResolver 的用法

理解後: 
Function 類是一個快速的 interface 讓你可以實作一個 object 傳進去. 
Function<T,R> 
T : method 傳入的參數 type
R : method 回傳的 type

簡單案例
        Function<String, Integer> lengthFunction = str -> str.length();
        Integer length = lengthFunction.apply("www.wdbyte.com");

2024-05-13

所得稅 - 刷卡 分期 or 回饋

今年繳交所得稅, 無法使用去年的拆帳單搭配 台新 + 7-11 繳款, 獲取回饋. 

研究了多家的信用卡, 好幾家都是 回饋或者分期選一種. 

以第一銀行為例, 可分無息六期或0.2%回饋. 

先說結論 :  分期可獲得的回饋比較多. 

假設需要繳交10萬元的所稅, 使用刷卡的計算. 

1. 選擇回饋 : 100,000 * 0.2% = 200元

2. 選擇分期 : 然後將 10萬元存入 iLeo, 

    第一個月 : 100, 000  * 2%/12 = 166元 

    第二個月 :   84600 * 2% /12 =  141元

    第三個月 : 69000 * 2%/ 12 = 115 元

    .....

第二個月開始就已經超越 200元..

2024-04-15

[心得] IoT 應用架構整理

這兩個禮拜, 碰到下面幾個事件的整理. 把它整理成一份 IoT 應用架構.  整理後, 大部分的資訊系統應用都是這樣得 pattern.   


IoT Pattern

Sensor -> Center Manager -> Actor

Sensor :  只收集資訊的設備, 將各種可能的資訊可以收集的. 譬如:溫度計, 影像辨識模組

Center Manager : 接收Sensor 送出的 資訊, 透過演算法計算出相對應的反應動作, 將動作指令發送給Actor

Actor :  接收 Center Manager 發送的Command , 執行相對應得動作. 


本週遇到的事件

1. Open pilote 台灣的社團發起人, 分享4/3 大地震時在高架橋上面的車道置中影片. 強調 common ai 裝置, 協助他在大地震中能穩定的行使. 
2. 聯想到 幾年前在做四軸無人機相關專案時, 四軸無人機也是透過 G Senor 資料, 協助做四個馬達的控制. 
3. 小米網關 :  可以將簡單邏輯判斷下載, 透過local receive data and send command. 
4. 自動下單機 : 透過收集金融市場相關資訊, 股價, 重大訊息. 透過計算判斷 金融商品買賣時間, 發送買賣訊號給 金融下單裝置

2024-03-28

自建 outline vpn 在OCI 上

參考 

https://hk-hello-world.medium.com/%E5%BB%BA%E7%AB%8Boutline-vpn-2cc95b5b3363

註冊 OCI 

1. 使用email 註冊一個帳號

2. 新增一個 account

3. 選定 一個區域作為預設地點. 目前日本東京對於VM 可以提供的很少, 建議選大阪


開啟一個 OCI AMD VM instance

1. 選擇一個 AMD VM 

2. 選用 ubuntu 22.0 mini

3. 設定相關 SSH key

4. 記下 instance public ip


安裝 outline server 

1. 在電腦裡面安裝 outline manager.  https://getoutline.org/zh-TW/get-started/#step-1

2. 使用 ssh ubuntu@{oci-instance.ip}

3. 在 outline manager , 新增, 選用預設



4.  將Step 1 貼到 ssh console 去執行



5. ssh console 執行完成後, 會得到一段 json 與 tcp udp port 

6. 開啟防火牆相關

sudo iptables -I INPUT -p tcp -m tcp --dport {management_port} -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport {access_port} -j ACCEPT

sudo iptables -I INPUT -p udp -m udp --dport {access_port} -j ACCEPT

sudo netfilter-persistent save

sudo netfilter-persistent reload

7. oci-admin console 編輯 instance 的網路 security list config

增加 0.0.0.0/0 tcp {management_port} 

增加 0.0.0.0/0 tcp {access_port} 

增加 0.0.0.0/0 udp {access_port}