文章
從實作中發現的研究問題與設計思路。
CI/CD 白話拆解:一次 git push 之後,機器幫我做了什麼
我網站的每次更新都是 git push 完就自動上線。這篇把背後的 CI/CD 流程一行一行拆給非本科看,並示範怎麼自己從零設一個。
被問到「你的系統架構長怎樣」,我會怎麼講
把一套醫療系統的架構,從瀏覽器到資料庫分四層講清楚。每一層解決一個問題、每個選擇都有理由 —— 一篇讓我自己也能照著複述的架構說明。
我的醫療 App 用 Next.js,但這個作品集網站故意用 Astro + 純 CSS
會 React 不代表每個東西都該用 React。這篇講我為什麼給互動式醫療 App 選 Next.js,卻給這個作品集網站選 Astro + 純 CSS —— 一個關於「不過度工程」的選擇。
看懂體檢報告上的腎功能:白話解釋 eGFR 這個數字
體檢報告上的 eGFR 是什麼?用「腎臟是一台濾水器」的比喻,說明這個數字代表什麼、怎麼看、以及為什麼不能只憑一次數字就嚇自己。
兩家醫院的病歷為什麼互通這麼難?HL7 FHIR 白話,以及我做的一個轉換 POC
換一家醫院就要重做一次檢查,常常是因為病歷資料互通不了。這篇白話講醫療互通難在哪、HL7 FHIR 在解什麼,以及我的 clinconvert 研究型 POC 在試什麼。
我怎麼幫一套診所系統做威脅建模:STRIDE 的 24 個威脅
與其等被攻擊才補洞,不如上線前系統性地問「這裡會怎麼被打」。這篇白話講 STRIDE 威脅建模框架,以及我怎麼用它盤出 ExClinCalc 的 24 個威脅、對應到防護。
白話 Row Level Security:把「誰能看哪筆資料」交給資料庫自己管
不需要資料庫背景也能懂的 RLS 入門。用一個「共用檔案櫃」的比喻,說明為什麼把權限規則寫在資料庫層,比寫在程式裡更難出錯。
手機上那組每 30 秒變一次的 6 位數,是怎麼算出來的?TOTP 白話
登入時要輸入的那組動態驗證碼(TOTP)背後其實不連網、不用簡訊。這篇白話拆解它怎麼運作,以及我在診所系統裡怎麼設計鎖定與時鐘容錯。
「先規則後 LLM」:在臨床決策支援中降低 AI 幻覺風險的架構
我在兩套上線的醫療系統中採用「先規則後 LLM」三層架構。本文說明設計思路、權衡,以及這個策略尚未解決的問題。
為什麼我選擇 PostgreSQL Row Level Security 而不是應用層權限檢查
在 ExClinCalc 中我用 14 張表 29 條 RLS policy 取代應用層權限。本文說明為什麼,以及這個選擇的真實代價。
月成本 $0 部署完整 CDSS:Cloudflare + Supabase 免費 tier 實戰
兩套上線中的醫療資訊系統 + 一個個人理財桌面後端,月成本 $0。本文是我實際走過的部署路徑、踩過的坑、以及這個方案能 / 不能 scale 到哪。
從醫療資訊到個人理財:我做 Kaizei 學到的零知識加密
我做完 ClinCalc / ExClinCalc 之後跨領域做了 Kaizei 個人理財桌面應用。這個跨領域不是換主題,是把醫療系統的安全思維帶過去 —— 並順便學到「零知識」是什麼意思。
為什麼選 Cloudflare Workers 不選 AWS Lambda:給獨立開發者的決策框架
在 ClinCalc / ExClinCalc / Kaizei 我都選了 Cloudflare Workers。本文說明這個選擇的具體理由、踩到的限制、以及什麼情況下我會反過來選 Lambda。
警示疲勞 vs 安全:為什麼 ExClinCalc 只做 12 組藥物交互,不是上千組
藥物交互作用清單上千組,但我的系統只實作 12 組。這不是偷懶 ── 是基於 Ancker 2017 對警示疲勞的研究做的設計取捨。
KDIGO 2024 vs 2012:我的規則引擎為什麼選新版
ClinCalc 的 CKD 分期判定我選了 KDIGO 2024,不是 2012。本文說明兩版差在哪、為什麼影響系統架構決策、以及實作時踩到的坑。
為什麼從電腦通訊工程轉系到生物醫學工程
大一電通、大二轉 BME。多數人認為「轉錯了」── 但延畢的兩年讓我確信:跨領域是我的長處,不是包袱。