在 Python 中檢查 JSON 結構
最近在用改寫一個用 Python 寫的小工具,這個工具主要是為了讓某些日常作業可以自動化。程式中有一個部分,是從 AWS Secret Manager 上取得格式為 JSON 的敏感資料,在讀取這個資料之前,會先對資料的結構進行檢查,...
使用 GROUP BY 優化 AWS Athena 查詢
分享一個最近使用 AWS Athena 進行大型資料集查詢時所用到的 SQL 查詢優化小技巧。AWS Athena 是一個無伺服器的互動式查詢服務,讓使用者可以透過標準 SQL 語法直接分析儲存在 Amazon S3 中的資料,無需預先配置或管...
使用 Fluent Bit 將 Docker 日誌傳送至 S3 上儲存
我們公司內部有些服務是使用 Docker 容器運行的。前陣子我們想要把容器運行的日誌(Log)上傳到雲端中儲存,所以我開始尋找有哪些方式可以達到這個目的。幸好 Docker 本身就支援多種日誌驅動程式,所以要將日誌上傳...
使用 PHP 來寫瀏覽器測試吧!
熱門測試框架 Pest 的作者 Nuno 大大,在今年的 Laracon US 上正式發表了 Pest 4。這次的大版本更新同樣帶來了許多亮點,其中最受矚目的就是整合了流行的 e2e(End-to-End)測試框架 Playwright。所以!現在你也能直...
提交一個 PR 到 Inertia.js
最近開始在惡補過去的年度目標,也就是用 Inertia.js 搭配 Svelte 與 Laravel 來寫個 SPA 網站。不得不說不用寫 API,而且前端與後端都能使用自己喜歡的技術,在開發上真的是一件很讓人愉快的事情,。來說說前幾週向...
在 Inertia.js 中防止用戶登出後返回敏感頁面
最近開始在用 Inertia.js 搭配 Laravel 與 Svelte 寫網頁。不用不知道,一用嚇一跳,有了 Inertia.js 當做前後端的粘合劑,我除了不用寫 API 以外,還可以在前後端都使用自己喜歡具工具,開發起來真的非常舒服。不過...
Revert 合併後的修改提交
在工作上與別人合作寫程式的時候,基於保險與禮貌,我們不能隨隨便便 Reset 別人的提交,而是應該使用 Revert 產生一個新的提交來撤銷原本的修改。Revert 的指令相單簡單,不過如果你是想要 Revert 一個已經合併後的...
使用 HTML Sanitizer 來過濾不安全的 HTML 內容
只要網站有能讓使用者輸入文字的地方,例如常見的所見即所得(WYSIWYG)編輯器,就需要設定一個機制來過濾掉不安全的 HTML 內容以避免 XSS(Cross-site scripting)攻擊。因為我的部落格一開始是以面向所有人的論壇...
觸發互動視窗的 CSS 轉場動畫
之前因為好玩,還有想在部落格上看程式碼可以舒服點,所以自己寫了一個簡單的互動視窗(Modal),用來放大文章中的程式碼區塊。雖然功能一切正常,但我還是會嘗試去改善互動視窗的程式碼。前幾天改了一個版本,讓互...
分享前輩的 Terraform Debug 小技巧
前幾天 Azure 又害我加班了,一怒之下,我決定寫一篇文章宣洩情緒外加紀錄這次前輩教我的 Terraform Debug 小技巧。事情是這樣的,我使用 Terraform 部署一個 Azure 的 Role Assignment 資源時:# 假範例一枚
resour...