公司有一台佔用將近 500GB 的 Linux 虛擬機器,經詢問工程師後發現,這台虛擬機器之所以會佔用這麼多空間,主要是因為在測試部署的時候,都沒有將先前部署過後的檔案刪除,導致額外浪費許多磁碟空間,增加備份的成本。但是當我用 Hyper-V 的編輯磁碟功能嘗試壓縮 VHDX 虛擬硬碟時,卻發現佔用的磁碟空間無法釋放,原來還有一道工序沒有執行導致。今天這篇文章就來說說這個作法。
... 繼續閱讀 ...
這應該是我媽第一次登上我的部落格,因為她很喜歡從電視看小孩的影片,我雖然照片很多,但要精修成影片每次都花上好多時間,藉由這幾天分享了 FFmpeg 工具,索性我就來寫個小工具,可以快速把我成千上萬永遠看不完的照片,整理成永遠看不完的影片,再搭配經典的台語老歌,讓媽媽開心!😍
... 繼續閱讀 ...
我們這幾年陸續在淘汰地端的基礎建設,盡可能的把服務搬上雲端,此舉不單是因為「數位轉型」的趨勢所然,而是同時考量了許多其他因素,例如各種成本降低、管理方便、安全提升,都是優點。最近我們把 Active Directory 也給移掉了,所有地端的設備開始改用 RADIUS 進行驗證,帳號則使用 Synology NAS 的 DSM (DiskStation Manager) 進行管理,因為 DSM 提供很棒的 Web UI 介面,同時又提供 CLI 介面可以批次操作,雖然功能沒有太多,但還算實用。今天這篇文章我就來說說常見的使用方式。
... 繼續閱讀 ...
最近開始將 Java 開發環境移往 WSL 環境並改用 SDKMAN 來安裝環境,結果發現非常好用,完全可以無腦安裝。今天這篇文章我就來介紹一下 SDKMAN 這套優秀的 SDK 安裝工具,並示範如何用來安裝 Java 開發環境。
... 繼續閱讀 ...
前幾天一樣在客戶端進行 Kubernetes 教育訓練的時候,發現有少部分學員無法正確部署應用程式,我們的例子是一個 ASP.NET Core 網站,搭配一個 SQL Server Linux 容器,然而在練習實作 livenessProbe
的時候,卻發現有些人怎樣都無法將 SQL Server Linux 容器啟動,但是若將 livenessProbe
設定移除,服務可以啟動。若將 Pod 中容器的記憶體限制移除,服務也可以順利啟動。是不是有點詭異?這篇文章我就來說說這個來龍去脈!
... 繼續閱讀 ...
最近公司接到一個老舊 Java 專案的升級改版案,由於原始碼全部都採用 Big5
編碼,導致在 Visual Studio Code 裡面無法成功編譯,雖然看了 Troubleshooting Guide for Encoding Issues 文件,也成功研究出維持 Big5 編碼也能持續開發的解決方案,但其實最好的解決方法,還是把所有 Java 原始碼變更為 UTF-8
才是王道。今天我就來分享幾個不同的方法,幫助你快速將專案的所有原始碼從 Big5
轉換成 UTF-8
字集編碼!
... 繼續閱讀 ...
當我們要進行機密文件傳輸時,可能會面臨許多不同的傳輸方式,但是過程中必須確保資訊安全,因此你就會需要考量到許多因素。這篇文章我打算分享如何利用 GPG 工具對檔案進行簽章與加密,檔案無論透過任何方式傳送給對方,都只有明確指定的對象可以開啟檔案,藉此達到資訊安全的中的機密性(Confidentiality)與完整性(Integrity)要求。
... 繼續閱讀 ...
一般來說,我們極少會在環境變數上使用小數點( .
)當成環境變數名稱來使用,但是在特定應用程式的條件下,可能被迫需要做出這樣的設定。像透過環境變數設定 .NET 應用程式的 LogLevel
就很可能會用到小數點來進行設定,本篇文章我將說明不同作業系統下的設定方式與潛在問題。
... 繼續閱讀 ...
最近要幫客戶在 Azure 架設一台 Nginx 反向代理伺服器 (Ubuntu 20.04 LTS),我想透過 cloud-init 將整台 VM 從無到有全自動安裝設定完畢,經過幾個小時的努力,終於達成全自動化建置的目標,實在非常令人振奮。這篇文章我就來說說部署的過程與技術細節。
... 繼續閱讀 ...