原來計數器可以這樣設計,簡單介紹 Slotted Counter Pattern

某天在上班途中滑推特的時候,看到一個很有趣的資料庫設計 Tips。這是很常見的計數器 (counter) 更新操作,當用戶觸發某些條件後,就將後端資料庫記錄的數量加 1。推文中的查詢語句以網頁瀏覽數當作例子,當用戶訪問...

我不想維護伺服器啦!分享怎麼將 Laravel 部署至 AWS Lambda

文中使用到的 PlanetScale 資料庫服務,在 3 月 7 號發了一篇文章宣布 4 月 8 號後不再提供免費服務。🥲可以考慮使用 Neon 這個提供 Serverless PostgreSQL 的服務。假設你今天寫了一個網站,想要放到網路上讓其他人...

簡單開箱 GitHub 的吉祥物,Octocat Figurine

只要是軟體工程師,想必對 GitHub 再熟悉不過,做為全世界最知名的程式碼託管平台之一,GitHub 上面存放著許許多多在資訊界很重要的開源專案。使用過 GitHub,也一定會看過他們家的 Logo,剪影看起來貌似是一隻貓咪...

來當資安研究員,Joomla 的 XSS 漏洞研究

前陣子,在全世界 CMS (Content Management System) 市場擁有 2% 市占率的 Joomla 被發現含有 XSS (Cross-Site Scripting) 漏洞。 造成這個漏洞的原因並非是 Joomla 的程式邏輯有什麼問題,而是 PHP 本身提供的函式...

用 PHP 解釋 SOLID 原則裡的 O

此為 SOLID 原則介紹的系列文章之一,所有文章的連結如下。用 TypeScript 解釋 SOLID 原則裡的 S用 PHP 解釋 SOLID 原則裡的 O用 TypeScript 簡單介紹 SOLID 原則裡面的 L用 PHP 簡單介紹 SOLID 原則裡面的 I用 Type...

用 TypeScript 解釋 SOLID 原則裡的 S

此為 SOLID 原則介紹的系列文章之一,所有文章的連結如下。用 TypeScript 解釋 SOLID 原則裡的 S用 PHP 解釋 SOLID 原則裡的 O用 TypeScript 簡單介紹 SOLID 原則裡面的 L用 PHP 簡單介紹 SOLID 原則裡面的 I用 Type...

共用相同的 Workflow,簡單介紹 Action Composition

GitHub Action 是一個很方便的 CI/CD 工具,你可以用它來自動化程式部署前的多項任務,例如測試、靜態分析和排版檢查。但如果任務太多,用來描述 CI/CD 流程的定義檔案可能會變得冗長,並包含重複的部分。舉個例子,...

升級 Livewire V3 的踩坑心得

萬眾期待的 Livewire V3 終於在前陣子推出了正式版本 (8/25),這個版本做了相當多更動,也加入了許多新功能。看了 Livewire 作者在 Laracon US 的介紹後,就非常期待正式版本的到來。V3 剛推出 beta 的時候其實有著...

Affinity Photo 練習,來製作 Telegram 貼圖吧!

前陣子 Affinity Photo 第二代正式推出,然後不知道我著了什麼魔就買下去了 (明明非專業需求人士…)。其實 Affinity Photo 一代剛推出沒多久的時候我就有買一套,那是我大學時期,因為要幫忙製作系上活動的宣傳海報,...

分享如何在雲端服務上架個 K3s 來學 K8s

最近一直在學習如何使用 K8s (Kubernetes),一開始我是透過 minikube 來瞭解 K8s 的基礎知識與用法。學習了一段時間後,我想嘗試將自己的個人專案搬移到 K8s 上,從實務面上去使用 K8s,但 …各個雲端平台上的 K8s 服...