學海無涯
記錄思考、閱讀筆記與生活觀察的私人空間。於此沉澱,於此探索。
從通訊軟體到社群與短影片:物件儲存、推薦、mini app 與會員安全
社群和短影片比通訊軟體多了公開內容、大檔案、推薦和第三方程式,伺服器又回到中心。整理 MinIO 之後的物件儲存選擇、用 Qdrant 做最小推薦、mini app 的驗證方式,以及台灣與歐盟的相關法規。
從裝置出發打造通訊軟體:local-first、端對端加密與端上搜尋
通訊軟體改以裝置上的資料為準、伺服器只負責轉送之後,身分金鑰、加密、排序、多裝置歷史和搜尋都要重新安排。用 local-first 的七個理想對照 Signal、WhatsApp、LINE 的公開設計。
洗牌只有 8,640 萬種:遊戲 RNG 認證在檢查什麼
遊戲 RNG 認證檢查 seed、狀態能否被推回、mapping 有無偏差,統計測試過了還不夠。從 1999 年只有 8,640 萬種牌序的線上撲克講到《天堂M》爭議:RNG 沒問題,公告機率仍可能錯。
AI code review 的帳怎麼算:找到的 bug、誤報和人的時間
AI code review 的主要成本是人判斷每條意見的時間,值不值得看精確率和真問題的嚴重度。從 curl 的經驗和一篇業界研究整理這筆帳怎麼算,以及多加一層驗證什麼時候划算。
同一筆付款送了兩次:從 Santander 的聖誕節講冪等與重送
扣款 API 逾時後只能重送,重送要安全,雙方得先講好「同一筆」怎麼認:idempotency key 何時產生、包含哪些欄位、內容不同或退款先到怎麼辦。從 Santander 重複付款講起。
PostgreSQL 排程 SQL 的三個坑
PostgreSQL 排程的 rollup 作業實測出三個問題:session 時區讓統計視窗偏移、CTE 裡的 DELETE 對 INSERT 不可見、單獨一行 advisory lock 擋不住重疊執行。
沒實作的六件事:從框架學到什麼
gortex 刻意沒做的六件事:完整 graceful shutdown、middleware 錯誤語意、組態熱更新、請求級 timeout、結構化錯誤、OpenAPI 產生,每件都難在生產級細節。