文章

從實作中發現的研究問題與設計思路。

CI/CD 白話拆解:一次 git push 之後,機器幫我做了什麼

我網站的每次更新都是 git push 完就自動上線。這篇把背後的 CI/CD 流程一行一行拆給非本科看,並示範怎麼自己從零設一個。

#ci-cd#github-actions#cloudflare#自動化部署#教學

被問到「你的系統架構長怎樣」,我會怎麼講

把一套醫療系統的架構,從瀏覽器到資料庫分四層講清楚。每一層解決一個問題、每個選擇都有理由 —— 一篇讓我自己也能照著複述的架構說明。

#系統架構#medical-informatics#cloudflare#supabase#教學

我的醫療 App 用 Next.js,但這個作品集網站故意用 Astro + 純 CSS

會 React 不代表每個東西都該用 React。這篇講我為什麼給互動式醫療 App 選 Next.js,卻給這個作品集網站選 Astro + 純 CSS —— 一個關於「不過度工程」的選擇。

#前端#astro#react#架構選型#教學

看懂體檢報告上的腎功能:白話解釋 eGFR 這個數字

體檢報告上的 eGFR 是什麼?用「腎臟是一台濾水器」的比喻,說明這個數字代表什麼、怎麼看、以及為什麼不能只憑一次數字就嚇自己。

#egfr#腎臟#ckd#醫療科普#健康檢查

兩家醫院的病歷為什麼互通這麼難?HL7 FHIR 白話,以及我做的一個轉換 POC

換一家醫院就要重做一次檢查,常常是因為病歷資料互通不了。這篇白話講醫療互通難在哪、HL7 FHIR 在解什麼,以及我的 clinconvert 研究型 POC 在試什麼。

#醫療互通#hl7#fhir#medical-informatics#教學

我怎麼幫一套診所系統做威脅建模:STRIDE 的 24 個威脅

與其等被攻擊才補洞,不如上線前系統性地問「這裡會怎麼被打」。這篇白話講 STRIDE 威脅建模框架,以及我怎麼用它盤出 ExClinCalc 的 24 個威脅、對應到防護。

#資安#stride#threat-modeling#medical-informatics#教學

白話 Row Level Security:把「誰能看哪筆資料」交給資料庫自己管

不需要資料庫背景也能懂的 RLS 入門。用一個「共用檔案櫃」的比喻,說明為什麼把權限規則寫在資料庫層,比寫在程式裡更難出錯。

#postgresql#rls#資料庫#資安#科普

手機上那組每 30 秒變一次的 6 位數,是怎麼算出來的?TOTP 白話

登入時要輸入的那組動態驗證碼(TOTP)背後其實不連網、不用簡訊。這篇白話拆解它怎麼運作,以及我在診所系統裡怎麼設計鎖定與時鐘容錯。

#資安#totp#mfa#authentication#教學

「先規則後 LLM」:在臨床決策支援中降低 AI 幻覺風險的架構

我在兩套上線的醫療系統中採用「先規則後 LLM」三層架構。本文說明設計思路、權衡,以及這個策略尚未解決的問題。

#llm#clinical-decision-support#medical-ai#hallucination#architecture

為什麼我選擇 PostgreSQL Row Level Security 而不是應用層權限檢查

在 ExClinCalc 中我用 14 張表 29 條 RLS policy 取代應用層權限。本文說明為什麼,以及這個選擇的真實代價。

#postgresql#rls#security#medical-informatics#supabase

月成本 $0 部署完整 CDSS:Cloudflare + Supabase 免費 tier 實戰

兩套上線中的醫療資訊系統 + 一個個人理財桌面後端,月成本 $0。本文是我實際走過的部署路徑、踩過的坑、以及這個方案能 / 不能 scale 到哪。

#deployment#cloudflare#supabase#free-tier#infrastructure#indie-dev

從醫療資訊到個人理財:我做 Kaizei 學到的零知識加密

我做完 ClinCalc / ExClinCalc 之後跨領域做了 Kaizei 個人理財桌面應用。這個跨領域不是換主題,是把醫療系統的安全思維帶過去 —— 並順便學到「零知識」是什麼意思。

#kaizei#zero-knowledge#encryption#electron#cross-domain#security

為什麼選 Cloudflare Workers 不選 AWS Lambda:給獨立開發者的決策框架

在 ClinCalc / ExClinCalc / Kaizei 我都選了 Cloudflare Workers。本文說明這個選擇的具體理由、踩到的限制、以及什麼情況下我會反過來選 Lambda。

#cloudflare-workers#aws-lambda#edge-computing#infrastructure#architecture

警示疲勞 vs 安全:為什麼 ExClinCalc 只做 12 組藥物交互,不是上千組

藥物交互作用清單上千組,但我的系統只實作 12 組。這不是偷懶 ── 是基於 Ancker 2017 對警示疲勞的研究做的設計取捨。

#clinical-decision-support#alert-fatigue#drug-interaction#ux#patient-safety

KDIGO 2024 vs 2012:我的規則引擎為什麼選新版

ClinCalc 的 CKD 分期判定我選了 KDIGO 2024,不是 2012。本文說明兩版差在哪、為什麼影響系統架構決策、以及實作時踩到的坑。

#kdigo#ckd#clinical-decision-support#rule-engine#medical-informatics

為什麼從電腦通訊工程轉系到生物醫學工程

大一電通、大二轉 BME。多數人認為「轉錯了」── 但延畢的兩年讓我確信:跨領域是我的長處,不是包袱。

#生涯#跨領域#biomedical-engineering#醫療資訊