幫你的 S3 Bucket 掛上 Cloudflare CDN

前幾天看到有大大在臉書上分享了一個慘烈的案例。內容是說他的客戶在 GCP (Google Cloud Platform) 上的公開儲存空間被 DDoS 攻擊,上面的某個檔案在兩天內被下載了數億次。因為訪問雲端儲存空間的流量是要計費的,...

用 TypeScript 來寫個互動視窗

最近常常遇到一些過去曾遇到的技術問題,讓我很常在自己的部落格上翻找過去所寫的文章。次數一多後,我總覺得自己部落格上的程式碼區塊很窄。如果程式碼中某行字數太多,我就需要來回滾動捲軸來查看完整的程式碼,這...

引入本機環境上的 PHP 套件

如果你正在開發自己的 PHP 套件,或是想修改並測試他人的 PHP 套件,那麼將這些套件引入到其他專案中進行實驗會是很常見的情況。在現代 PHP 開發中,都會要求專案和套件使用 Composer 來管理依賴套件。但問題來了:...

將 Rust 程式部署至 AWS Lambda

前陣子將自己的部落格部署到 AWS Lambda,不得不說實在是太香了。因為網站流量不高的關係,所以 Lambda 的費用相當低,基本上一個月不到 2 美金。即使是在 Lightsail 上租最便宜的機器,每個月的成本都無法這麼便宜...

從 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 本身提供的函式...