程式技術: 程式技術交流與分享

使用 Terraform External Data Source 產出一串連續日期的列表

上週在工作中寫 Terraform 的時候遇到一個問題,希望可以用開始日期與結束日期,然後在 Terraform 中產出一個連續的日期列表。例如我有一個設定檔案 settings.json,當中有提供 start_date 與 end_date。{ "star...

在 Livewire 中使用 CKEditor 所遇到的各種問題

中秋連假,一時心血來潮想要把部落格中所有頁面都改為使用 Livewire。這次將部落格中新增文章與更新文章的部分改為使用 Livewire,原本以為很簡單,結果沒想到整合 Livewire  與 CKEditor 5 的問題比想像中還要來得...

用 Terraform 建立 VS Code Server

前幾週,我看到 VS Code 的 YouTube 頻道發布了一個新的影片。哇喔,Use VS Code ANYWHERE,是有沒有這麼肝?VS  Code 之前推出過 vscode.dev,讓你可以在瀏覽器上使用 VS Code 開啟 GitHub Repo 來寫程式,但因為只...

更改存放部落格圖片的 S3 Bucket 名稱

最近沒事想找事做,想更改用來放置部落格圖片 S3 bucket 的名稱,若要問為什麼的話…原來部落格的網域是使用 recodeblog.com,後來覺得不夠帥改成了 docfunc.com,雖然部落格網域已更改,但卻沒有更改原本用來放置文...

使用 GitHub Action 實作零停機部署

在之前的文章中 (使用 GitHub Action 來做簡單的 CI/CD),我們簡單的介紹了如何使用 Github Action 完成一個簡單的 CI/CD 流程,將一個 Laravel 應用程式部署到遠端的正式環境。CI 的部分使用熱門的 PHPUnit 測試框...

簡單介紹 PHP 的生成器 (Generators)

PHP 的生成器 (Generators) 提供了一個簡單的方式去實現迭代器 (Iterrators)。如官方文件所說:A generator allows you to write code that uses foreach to iterate over a set of data without needing to build a...

簡單介紹設計模式 - 外觀模式

外觀模式為一種結構型設計模式,主要為複雜的函式庫(Library)或是複雜的類別提供一個統一且簡單的高級介面。要處理的問題假設你的程式需要使用某個複雜的函式庫。一般來說,你需要負責函式庫中所需物件的初始化工...

SSH 連線偷吃步的小技巧,SSH Config

當我們需要連線到遠端的伺服器的時候,可以使用 SSH  (Secure Shell) 連線這個工具進行遠端伺服器的登入,基本的 SSH 連線指令如下。ssh user@host.com.twuser 為要連線的帳號名稱,host 為要連線的遠端伺服器位址,...

簡單介紹設計模式 - 工廠模式

假設我們有一個系統,當中有一個上傳檔案至 Google 雲端平台的功能,只要有需要上傳檔案的地方,就新建一個 GoogleCloud() 的實例,時間久了之後,你可能會發現程式碼中可能有多個地方都有下面的程式碼。new GoogleC...

PHP 中的 ...$args,這個 ... 是什麼?

你可能在 PHP 中看過 ...$args 的程式碼,這個 ... 又稱為參數拆包 (arguments unpacking, AKA spread operator),是在 PHP 5.6 加入的功能。... 可以將一個陣列中的參數拆開來並放到新的陣列中。$foo = [1, 2, 3];...