https://bsky.app/profile/zeta.vg
| https://twitter.com/zetavg | |
| GitHub | https://github.com/zetavg |

First GitHub Action published!
在開發含有大量 packages (且不斷增加中) 的 yarn workspaces 專案時,可能會因為加入新 package 的時候忘記更新 GitHub action 去跑它的 unit test,導致在 CI 漏測了某些 package。使用這個 action 加上 GitHub action 的 dynamic matrix,就可以自動將所有有 test script 的 package 都開個 job 拿去跑 test 啦!
https://github.com/marketplace/actions/yarn-workspaces-list?f=1
(另一個 alternative solution 是 yarn workspaces foreach,但分開 job 來跑的話結果會比較好讀?只是缺點是每個 job 啟動後都要跑一次 yarn install,雖然有 cache、也可以改用 yarn workspaces focus ⋯⋯)
另外也有實驗性的 composable Redux slice,讓每一個 slice 可以不管如何被使用,只顧好實作自己內部的功能,並且可以隨意地被其他 slice 引入、組裝成一個更大更完整的 app。這樣就使得後期更動 app 結構層級的功能更加容易,例如增加一個多使用者 profile 的 slice,然後把原本的整個 app 改掛到多使用者 profile 的 slice 底下,就可以在幾乎不用更動現有 code 的狀況下完成多使用者切換的功能。但這部分的 code 還寫得很亂,可能之後會再抽出來吧。
詳見架構圖: https://github.com/zetavg/Inventory/wiki/App-Architecture
其實除了 app 本身之外,這也是一個發展多年 (註 1) 的「有點 Ruby on Rails 感的」data-driven React Native app 框架,訂好 JSON schema、validation、callbacks 後就能直接獲得自動產生的 CRUD UI (註 2),可以快速做出能用的 prototype,之後再用自己寫的更好用的 UI 來取代。資料的 backend 是使用 CouchDB/PouchDB,但也可以抽換成別的實作。
註 1:每隔幾年發展幾個月。
註 2:在 Inventory app 裡可以在 More → Developer Tools → Data 使用這些自動產生的 CRUD UI。(Developer Tools 進入方式: https://github.com/zetavg/Inventory/wiki/How-to-Access-Developer-Tools )
▌硬體成本
TL;DR 家用大約兩萬多
• RFID UHF 標籤:每張約 US$ 0.4 ~ 0.1
• 可貼在金屬表面的 RFID UHF 標籤:每張約 US$ 1 ~ 0.4
• 可水洗烘乾 RFID UHF 布料標籤:每張約 US$ 0.3
• 手持式 RFID UHF 讀寫機器:每台約 US$ 328
• 熱轉印標籤機 (不一定要有):每台約 TWD 3,000 ~ 6,000 (GoDEX EZ120/EZ130)
• Label LIVE 標籤列印軟體 (不一定要有):一台電腦授權 US$ 47.99 (個人版買斷) / US$ 147.99 (企業版買斷) / US$ 14.99 (企業版月費)
• 時間:如果要將大量物品打上 tag 還是蠻花時間的,若是慢的話一件物品花 2 分鐘,500 件物品就需要 2 個工作天來上 tag
去年搬家搬到崩潰後開始做的,原本是想解決遊牧生活所有東西都沒辦法有固定擺放位置、難以收納管理和找到它們的問題。有它之後物品打上 tag 後只要大致分類丟進櫃子箱子、隨便找空位擺,需要的時候再開 app 搜尋然後靠 RFID 定位物品位置,快樂地用到現在。
▌使用情境
• 居家尋物:找鑰匙、找錢包、找遙控器、找行動電源、找充電線⋯⋯
• 旅遊:快速檢查行李是否帶齊、是否有遺失。
• 公司資產管理:快速檢查公司資產是否歸位、有沒有東西遺落在案場。
• 盤點:使用 RFID 讀取機掃過櫥櫃、收納箱、倉庫儲位,即可快速記錄物品所在位置,方便日後查詢。
• 建立 checklist,針對特定活動 (例如露營) 檢查是否有帶齊需要的物品。
• 管理消耗品的庫存量、追蹤物品的有效期限。
▌實際 App Demo
• 盤點、尋物: https://youtu.be/SPdiQ89HPxo
• 建立資產、寫 RFID tag: https://youtu.be/l5uIIwOZLOk
家用/小企業 #RFID 資產管理工具 iOS/Android App,source-available on GitHub ➡️ https://github.com/zetavg/Inventory
再不放上 source code,就快要獲得 GitHub「Creates a repository that received over 100 stars with no source code inside」的 Achievement 了 XD (實際上並沒有這個 Achievement)