使用 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];...

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

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

使用 GitHub Action 來做簡單的 CI/CD

CI/CD,是由兩個詞彙,持續整合 (Continuous Integration) 與持續交付 (Continuous Deployment) 組合而來:CI (Continuous Integration),意即持續整合,在這個階段會建立一個正式環境的副本並進行自動測試,確保程...

簡單介紹 Laravel 的服務容器

Laravel 提供一種名為服務容器(Service Container)的工具,用來管理類與類之間的依賴與依賴注入。但在介紹服務容器之前,先來介紹一下什麼是依賴?什麼是依賴注入?什麼是依賴?如果一個A類中的方法需要使用到B...

檢查與修正團隊的 Code Style,簡單介紹 PHP CS Fixer

每位碼農的人生成長歷程不盡相同,因此在 Coding 上可能都會有各自的習慣或是風格。在團隊協作開發的時候,不同的 Coding 風格可能會給團隊造成一些困擾,例如:有人喜歡用 4 個空格排版,但有人覺得 2 個空格才剛好...