Amo Chen

覆蓋率 100% 的迷思

軟體工程裡面針對測試有項指標稱為覆蓋率(coverage),簡單解釋就是你的測試案例能讓受測程式執行到的程度。 例如下列程式碼: def is_negative(x): if x < 0: return

Posted on  Nov 11, 2023  by  Amo Chen  ‐ 1 min read

白話文解說 GeoIP

不知道你有沒有想過 Netflix 到底是怎麼知道你有沒有分享帳號給其他人的呢? 要抓這種分享帳號的方法非常多,其中一項指標就是 IP 位址的地理位置。 在網路上大家

Posted on  Nov 9, 2023  by  Amo Chen  ‐ 2 min read

以 bfg 指令清除含密碼、金鑰的 Git commits

眾所周知,版本控制系統會將所有的變更都存起來,因此我們能夠隨意回溯到任一版本,這些變更也包含你不小心提交存有機密資料的檔案,或是帳號密碼等字串。

對於版本控制不熟的使用者來說,可能會以為再提交 1 個已經刪除機敏資料的 commit 就安全了,實則不然,有心人士依然可以透過回溯版本或者在 .git 版本控制系統的資料夾內用工具撈出各種疑似帳號密碼的字串,進而入侵你的系統。

實際上也確實有數起資安事故是由於版本控制系統中含有帳號密碼等資訊所造成。

所以要從清理機敏資料,一定要連版本控制系統內的變動紀錄都要一併清理才安全!

本文將教導如何以 bfg 指令安全地清除含有密碼、金鑰等機敏資料的 commits 。

Posted on  Nov 8, 2023  in  Git 版本控制  by  Amo Chen  ‐ 3 min read

好文分享 — Building Custom Middleware in FastAPI

Middleware (或稱中間層、中介層)是 Web 框架很常見的設計模式,包含 FastAPI, Django, Express 等都有提供 middleware 的功能,而且實務上後端工程師也經常會接觸到 middleware, 諸如 Session 驗證、 CSRF token 驗證/產

Posted on  Nov 7, 2023  by  Amo Chen  ‐ 2 min read

Sheets for Marketers - Google Sheets 火藥庫

個人認為 Google Sheets (或 Excel) 是職場必學工具之一,原因在於它已經內建很多方便的函數可以使用,讓我們不用寫程式碼也能做資料清理、數據分析、資料視覺化等工作

Posted on  Nov 6, 2023  by  Amo Chen  ‐ 1 min read

Visily - 免費版面 / UI 設計神器

很多服務的版面跟 UI 其實不是憑空創造的,最初都會有個臨摹或參考的對象,然後再加入屬於自己的特點,變成一個新的產品。 Visily 是 1 個縮短臨摹、參考到產出

Posted on  Nov 5, 2023  by  Amo Chen  ‐ 1 min read