The Will Will Web

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

透過 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 叢集環境。

... 繼續閱讀 ...

如何在 EF Core 3.1 的模型驗證方法中注入 ServiceCollection 中的服務

由於 .NET Core 大量的使用 DI 技術,所有註冊到 DI 容器(ServiceCollection)的服務,幾乎都可以用「注入」的方式取得物件。只不過有些類別不容易用建構式注入的方式取得服務,這篇文章將分享如何在 EF Core 3.1 的模型驗證方法中注入 ServiceCollection 裡的任何服務。

... 繼續閱讀 ...

如何在 EF Core 3.1 的 Code First 進行資料庫移轉時指定資料庫定序

最近在我的台灣 .NET 技術愛好者俱樂部臉書社團有人問到如何在 EF Core 3.1 的 Code First 進行資料庫移轉時指定資料庫定序 (Database Collation)。我自己也嘗試了一下搜尋,網路上確實都找不到相關資料,但我覺得「理論上」應該很容易辦到,因此自己實驗了一下,也研究出方法,這篇文章將分享我的實際作法。

... 繼續閱讀 ...