PHP 8.4 將支援 HTML 5 的解析

自從 PHP 基金會成立以後,PHP 核心維護團隊招募到了許多優秀的新成員,或許是因為有了充足的人力協助開發,PHP 在近幾年的更新下新增了許多功能,讓 PHP 這個老牌語言始終散發著活力。最新的 8.4 版本即將在今年底...

從 MySQL 搬家到 PostgreSQL

前陣子為了省錢,將自己的 Laravel 服務改為部署到 AWS Lambda 上,資料庫不使用 AWS 上貴鬆鬆的 RDS,而是使用有提供免費方案的 PlanetScale。這個架構相當不錯,除了網站響應速度相當不錯之外,每月成本還不到 2...

將現有資源納入 Terraform 的管理

隨著 DevOps 概念的普及,越來越多公司都開始使用 IaC (Infrastructure as Code) 工具來管理他們日益漸多的基礎建設資源。小弟我在工作上也很常使用 Terraform 這個 IaC 工具來管理雲端資源。理由無它,不論是建立資...

在 Linux 中建立記憶體硬碟

記憶體硬碟 (RAM Disk) 相較於傳統機械硬碟或是固態硬碟,可以提供更快的讀寫速度。即使是已經過時很久的 DDR3 記憶體,也能提供 2000 MB/s 以上的讀寫速度。但擁有飛快讀寫速度的代價,就是資料無法永久保存,只要...

降低分布式網路的管理複雜度,簡單介紹 VXLAN

最近工作上碰到一個專案要使用 VXLAN 來做 BGP (Border Gateway Protocol) 通訊,藉此完成路由訊息的交換。因為網路相關內容一直都是我的罩門,剛好可以藉此機會來了解一下什麼是 VXLAN。LAN 的演進在介紹 VXLAN 之...

如何使用 IAM Role 進行跨帳號的資源存取

如果你想要讓別人能夠存取你 AWS 帳號上的資源,最安全的做法,就是新增一個 IAM Role,並透過 Assume Role 的方式,將這個 Role 賦予給對方。對方可以透過 STS (Security Token Service) 來取得這個 Role 的暫時性...

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

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

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

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

在 GitHub Action 中使用 OIDC 取得操作 AWS 資源的權限

如果想要在 GitHub Action 中取得操作 AWS 資源的權限,最簡單的做法,就是建立一個 IAM User 並產生與之對應的 Secret Key,再將 Secret Key 儲存在 Action Secrets 中。這樣我們就可以在工作流程中透過 secrets 取...

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

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