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

The Will Will Web

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

ASP.NET MVC 5 搭配 EF6 無法啟用 MvcBuildViews 建置檢視頁面的解法

今天在示範 MSBuild 如何設定 MvcBuildViews 屬性時,發現只要有 *.edmx 存在於專案中,建置的時候就會導致出現 Could not load type 'System.Data.Entity.Design.AspNet.EntityDesignerBuildProvider' 的問題,這個問題想從 Visual Studio 2019 裡面很難看出個端倪,必須改用 MSBuild 才能看出脈絡。今天這篇文章,我將分享這個問題的細部分析,並提供解決方案。

... 繼續閱讀 ...

OKD (OpenShift Origin) 3.11 與 Ubuntu 18.04 LTS 建置筆記

最近因為有客戶的 Infra 環境採用 OKD (The Community Distribution of Kubernetes that powers Red Hat OpenShift) 平台,為了能夠在我公司建立一套跟客戶一樣的環境,所以就自行架設了一套來用,大約花了兩天時間研究,雖然建置的過程不太順利,但發現越玩越熟就越覺得好用。還好我已經有 Kubernetes 的底子在,研究 OKD 其實觸類旁通,雖然有卡關,但還好都有解決。本篇文章就分享我的 OKD 3.11 建置過程與心得!

... 繼續閱讀 ...

存取 Azure Container Registry (ACR) 的多種認證授權方法

Azure Container Registry (ACR) 是 Azure 雲端平台非常重要的基礎建設,不但可以用來儲存 Docker Images,也可以用來儲存 Helm Charts 在上面。除此之外,企業所需的身份認證授權功能也相當完整,但只要扯到認證授權,事情就會複雜許多。這篇文章我將深入探討 ACR 各種不同的認證授權方法,幫助企業導入 ACR 使用。

... 繼續閱讀 ...

如何停用 Google Chrome 內建的 Ctrl-W 關閉頁籤快速鍵

昨天試用了一下 GitHub Codespaces 這套完全線上使用的整合開發環境,這套基於 Visual Studio Code 的雲端版本功能相當完整,所有在地端 Visual Studio Code 的設定,都可以全自動同步上去,所有擴充套件也都可以用。但唯一的不便之處,就是 Chrome 預設的 Ctrl-W (關閉目前頁籤) 快速鍵,會自動覆蓋掉 Visual Studio Code 常用的 Ctrl-W (關閉目前檔案),可是這個快速鍵又這麼常用,所以一不小心就會關閉線上編輯器。因此,我研究出兩種方法有效避免頁籤被關閉!

... 繼續閱讀 ...

如何利用 kind 與 WSL 2 測試 Open Service Mesh (OSM) 範例應用程式

昨天在 Kubernetes Summit 2020 主持了一場實戰工作坊,幫助大家體驗 Istio 強大的 Service Mesh 能力。今天在家抽空玩了一下原先由微軟主導的 Open Service Mesh (OSM),這套最近貢獻給 CNCF (雲端原生運算基金會),正式成為 CNCF 沙盒專案的成員之一,十分有發展潛力。本篇文章就帶大家試試這套 SMI 服務網格介面 (Service Mesh Interface) 實作。

... 繼續閱讀 ...

如何調整 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 的問題,關於這個問題我打算用這篇文章徹底搞定它。

... 繼續閱讀 ...