Linux | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

批次將所有 Java 原始碼檔案快速轉成 UTF-8 編碼的方法

最近公司接到一個老舊 Java 專案的升級改版案,由於原始碼全部都採用 Big5 編碼,導致在 Visual Studio Code 裡面無法成功編譯,雖然看了 Troubleshooting Guide for Encoding Issues 文件,也成功研究出維持 Big5 編碼也能持續開發的解決方案,但其實最好的解決方法,還是把所有 Java 原始碼變更為 UTF-8 才是王道。今天我就來分享幾個不同的方法,幫助你快速將專案的所有原始碼從 Big5 轉換成 UTF-8 字集編碼!

... 繼續閱讀 ...

使用 GnuPG 確保傳輸重要檔案或文件的過程能確保機密性與完整性

當我們要進行機密文件傳輸時,可能會面臨許多不同的傳輸方式,但是過程中必須確保資訊安全,因此你就會需要考量到許多因素。這篇文章我打算分享如何利用 GPG 工具對檔案進行簽章加密,檔案無論透過任何方式傳送給對方,都只有明確指定的對象可以開啟檔案,藉此達到資訊安全的中的機密性(Confidentiality)與完整性(Integrity)要求。

... 繼續閱讀 ...

在不同的作業系統下如何設定包含小數點的環境變數名稱

一般來說,我們極少會在環境變數上使用小數點( . )當成環境變數名稱來使用,但是在特定應用程式的條件下,可能被迫需要做出這樣的設定。像透過環境變數設定 .NET 應用程式的 LogLevel 就很可能會用到小數點來進行設定,本篇文章我將說明不同作業系統下的設定方式與潛在問題。

... 繼續閱讀 ...

使用 Multipass 與 cloud-init 快速建立 MicroK8s 叢集所需的虛擬機器 (VMs)

週日玩了一下 cloud-init 工具,我發現文件看官方文件不是那麼好上手,但是官網首頁的影片卻一看就知道怎麼設定。簡單來說,cloud-init 專門用來幫你初始化 Linux 的出廠設定,不但支援大多數 Linux 散佈版本 (distributions),也支援大多數雲端平台業者,也可以讓你在地端的 Bare-Metal 主機進行初始化,可謂是業界標準的初始化 VM 方法。我發現 Multipass 也有支援 cloud-init 設定,所以這篇文章我來大致說明一下設定的過程與套用的方式。

... 繼續閱讀 ...

利用 Multipass 在區域網路架設一套 MicroK8s 叢集環境

我之前有篇 使用 MicroK8s 架設 Kubernetes 叢集的完整過程解析 文章,講解了完整的 MicroK8s 體驗的過程。雖然你可以在 Windows 上輕鬆的架設出一套 Kubernetes 叢集,但是由於 MicroK8s 的底層使用到了 Multipass 工具來建立虛擬機器(VM),事實上透過 Multipass 建立的 VM 在每次重開機的時候都會變更 IP 地址,因此只要 VM 重開機,基本上叢集就會壞掉,因為所有 Worker Nodes 將無法找到 Control Plane 的 IP 地址。這篇文章我來說說這個問題的解決方法!

... 繼續閱讀 ...

變更 Azure App Service 的時區設定需注意 Windows 與 Linux 平台的差異

當你在 Azure 使用 App Service 部署網站時,預設的時區是設定在 UTC 時間,當你的網站不需要處理跨時區的問題時,最簡單的解法,當然就是調整系統設定,讓你的程式可以直接讀取到台灣時區的時間 (UTC+8),原本我們都設定的好好的,但上周突然決定要改用以 Linux 為主的 App Service Plan,這才發現時區設定失效了,查詢後才發現原來設定不同!這篇文章我將說明如何正確的調整 App Service 的時區設定。

... 繼續閱讀 ...

ASP.NET Core 如何部署到 CentOS 7 作業系統

最近有個專案要上線,客戶提供一台 CentOS 7 的主機給我們部署,但是官網的文件主要都是以 Ubuntu 作業系統為主,並沒有完整的文件說明如何在 CentOS 安裝,我在架設 Labs 環境安裝的時候,也發現部署過程真的有點地雷,所以我打算用這篇文章說明一下實際的安裝步驟。

... 繼續閱讀 ...

如何在 Linux 正確建立自簽憑證並讓 ASP.NET Core 網站可以順利進行連線

我最近漸漸的嘗試將各種前後端開發環境搬遷到 Linux 環境下,無論是在 WSL 或是原生的 Linux 的效能表現都比 Windows 來的出色。然而在微服務架構下,服務與服務間的通訊經常需要使用 TLS/SSL 憑證進行加密連線,但是自簽憑證在 Linux 底下預設是不受信任的,必須特別處理才能解決服務間的安全連線的信任問題。這篇文章我將說明這個過程與解決方法。

... 繼續閱讀 ...

如何在 Ubuntu Linux 解除安裝 .NET SDK 或 Runtime 任意版本

雖然 .NET 有個 Uninstall Tool 可以用來解除安裝任何 .NET / .NET Core 版本,但是目前依然不支援 Linux 版本,可能是 Linux 生態實在是太複雜了,所以一直沒有提供好用簡便的反安裝工具。今天這篇文章我將分享幾個好用的命令,幫助你快速解除安裝現有的 .NET SDK 與 Runtime 版本。

... 繼續閱讀 ...

使用 luit 完美解決 Windows Subsystem for Linux 顯示 Big5 字集的問題

對於 WSL (Windows Subsystem for Linux) 一直無法處理 Big5 字元這件事,對我來說就像在一片白牆上的一個污點,明知這面白牆很漂亮,但就是無法不注意牆上的那個污點,一直覺得不完美,直到昨天都還是解決不了。睡一覺之後,想到了一個新的關鍵字,找到了一個 luit 工具,這就是我昨天一直想要找到的工具!

... 繼續閱讀 ...

分享幾個在 Windows 與 Linux 常見的編碼問題與解決方案

我每隔幾年我就會遇到一次 non-Unicode 的編碼問題,真的不常見,但這些年來也處理過無數次了,每次都被搞的很煩。最近在 Linux 環境又遇到棘手的編碼問題,檔案內容是從 ISO-8859-1 (Latin-1) 字集的 Sybase ASE 資料庫轉出,所以編碼是 ISO-8859-1 字集,但內容其實是 BIG5 字集,而我用 Windows Terminal + WSL 2 又只支援顯示 Unicode 字集的文字,所以文字無法正常在螢幕上顯示或複製。幾經嘗試後,我決定把這幾年累積的心得都寫下來,以免日後又要再花時間研究一次。

... 繼續閱讀 ...