《無瑕的程式碼 函數式設計篇》推薦序
這本《無瑕的程式碼 函數式設計篇》並不是在討論「函數式程式設計」。它是談論更高層次的原則、模式與實踐。書中進行了大量的物件導向程式設計(Object-Oriented Programming,OOP)與函數式程式設計(Functional Programming,FP)的討論。OOP採用Java展示,FP則採用Clojure展示。
坐,請坐,請上座。 茶,上茶,請上茶。
這本《無瑕的程式碼 函數式設計篇》並不是在討論「函數式程式設計」。它是談論更高層次的原則、模式與實踐。書中進行了大量的物件導向程式設計(Object-Oriented Programming,OOP)與函數式程式設計(Functional Programming,FP)的討論。OOP採用Java展示,FP則採用Clojure展示。
前篇使用Azure CLI-自動刪除Azure Container Registry過期映像檔,我寫好了維護 ACR Repository 維護指令碼。我們希望能定期自動化執行這份維護指令碼(或說排程執行也行),這份指令碼有幾個麻煩的地方,一、註解第一行「First we need to login to Azure」,你必須先登入 Azure 帳號,登入之後才能執行 Azure CLI。二、因為需要登入 Azure 帳號,也就被 Azure 帳號這件事給限制住了,它就不太可能離開你的主機去別的地方做自動化。因此,在自動化之前,我們必須先解決 ACR 訪問權限的問題。
Azure Container Registry裡會儲存大量的映像檔,但其中許多都是已過期或未使用的映像檔。因此,都需要定期清理 ACR 裡的映像檔,以節省空間與成本。
$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.2G 7.7M 1.2G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 97G 76G 17G 82% /
話說,早期自架 Kubernetes 的 Ubuntu Server,不小心由 PoC 轉正之後,各項 Pod 服務陸續上線。但 PoC 的規格沒開到那麼好,近期發現, LVM(Logical Volume Manager)空間使用率已超過 8 成。在 IT 同事擴充 Disk 容量後,不論 Windows 或 Ubuntu 都一樣,還需要在 OS 層級些設定調整。以下學習一下 Ubuntu Server 如何做延伸 Disk 與 LVM 兩者的磁碟容量。