The Will Will Web

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

如何調整 GnuPG 背景執行 gpg-agent 時的相關設定並延長密碼快取期限

因為我現在每次 git commit 都會進行 GPG 簽章,但第一次 commit 時會跳出一個視窗輸入 OpenPGP 的密鑰的密碼,接著會自動將 gpg-agent 程式跑在背景,在一定時間內就不用再次輸入密碼。不過 gpg-agent 預設快取時間只有 600 秒 (十分鐘),但我一天內不會每 10 分鐘 Commit 一次,這個快取功能形同虛設,完全沒用!這篇文章將分享如何調整預設值,讓你在一天內都不用再次輸入 GPG 密碼。

... 繼續閱讀 ...

如何解決 WSL 2 底下無法執行 Windows 應用程式的問題 (run-detectors)

我最近經常在 WSL 2 環境下開發,這樣不但可以大幅減少電腦的各種複雜配置與相依問題,有時候執行速度甚至比 Windows 還快。但我其中一台電腦這幾天卻出現了個詭異問題,想要執行 code . 卻會出現 run-detectors: unable to find an interpreter for /mnt/c/Program Files/Microsoft VS Code/Code.exe 的錯誤訊息,無法成功啟動 VSCode 執行,找了好一會兒才解決。

... 繼續閱讀 ...

透過 7-Zip 壓縮 ZIP 檔案時須注意中文檔名無法正確解壓縮的問題

昨天在授課的時候,由於課堂上提供給學員的壓縮檔案中目錄名稱檔案名稱有中文字的關係,導致全班有 3 位學員解壓縮之後這些目錄與檔案全部呈現亂碼,無法開啟與閱讀。經過一番研究之後發現,原來 7-Zip 在壓縮檔案的時候,預設會將檔名編碼為本機電腦系統設定的 Code Page,而不是使用 UTF-8 編碼,這會導致解壓縮的人只要不是用相同的 Code Page 設定,就會解壓縮失敗,檔名出現亂碼。本篇文章就來說說這個問題的始末與解決方案!

... 繼續閱讀 ...

如何使用 .NET CLI 快速產生 ASP․NET Core 的 Controllers 與 Views 程式碼

我們在 Visual Studio 2019 開發 ASP․NET Core 的時候,都可以透過 [加入] / [控制器] 的方式,很便利的快速產生 Controllers 與 Views 程式碼,如果已經有現成的 Models 模型類別存在,還能快速的完成 CRUD 等實作。可惜在 Visual Studio Code 裡面,似乎就沒有相對應的工具可用,這對使用 macOS 或 Linux 的開發者來說,就顯得有點不太方便。不過,微軟官方其實有提供一套 dotnet-aspnet-codegenerator .NET CLI 全域工具,所做的事情跟 Visual Studio 2019 在做的事情完全一樣,本篇文章就來說說這套工具的用法,以及常見的地雷與注意事項。

... 繼續閱讀 ...

如何強制關閉 Azure Web Apps 內建支援的 PHP 執行環境

前幾天有個朋友告知部署在 Azure Web App 的網站被駭客入侵,可能被植入木馬後門之類的程式,我上去查看之後發現,果然被寫入了一個編碼過的 PHP 程式,確認為後門程式。明明是一台只有跑 ASP.NET 的網站,隨便被植入一個 PHP 檔案,竟然也能被執行。而且還沒有關閉的管道,連 Azure Portal 都無法設定關閉。本篇文章將分享強制關閉 PHP 的方法,如果有人也將網站跑在 Azure Web App 網站上,建議花點時間設定一下。

... 繼續閱讀 ...

從館長求救事件談甲方心態:為何甲方總是找不到好的乙方

這幾天因為館長的 "欸~" 直播在資訊軟體圈鬧得沸沸揚揚。由於館長是台灣知名網紅(KOL),架設電商網站所迎來的高流量是完全可以預期的,但他們外包製作的網站上線後撐不住區區數萬人流量,網站時常斷線停擺,工程款項持續追加,導致館長發飆,在直播中求助廣大網友幫助,希望能提供他們一些建議。這篇文章我不打算從「技術」的角度提供「效能調校」的建議,畢竟我並沒有參與網站建置,技術建議不能亂給。反之,我想從「為何甲方總是找不到好的乙方」這個角度著手,剖析問題發生的原因與解決方案。

... 繼續閱讀 ...

如何讓 cURL 可以連接自簽憑證提供的 TLS/SSL 加密連線網站

當我在 Linux 環境下開發或測試 ASP.NET Core 應用程式時,經常會需要用 curl 命令快速測試或取得網站內容,這時如果你連上 https:// 加密連線網址,就會立刻遇到 curl: (60) SSL certificate problem: unable to get local issuer certificate 的問題,關於這個問題我打算用這篇文章徹底搞定它。

... 繼續閱讀 ...

使用 WSL 2 與 Docker Desktop 架設 Kubernetes 多節點叢集環境 (KinD)

在學習 Kubernetes 的時候,單一節點的 Kubernetes 測試環境已經可以讓你理解許多物件的建立與操作,對於「應用程式的開發人員」來說已經足夠。由於 Kubernetes 提供不同層級的「抽象」,照理說在不特別理解 Kubernetes 配置的情況下,應用程式都應該能正常運行才對。但如果想測試一些只有多台節點才能測試的功能,就需要相對完整的叢集才能測試了。本篇文章將分享 KinD (Kubernetes in Docker) 這套工具,可以幫助你在幾秒內成功架設擁有多節點的 Kubernetes 叢集環境。

... 繼續閱讀 ...