The Will Will Web

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

使用 Azure CLI 快速建立 Azure 虛擬機器 (Virtual machines)

有時候我們想要在 Azure 很快速的建立一台 VM (虛擬機器) 來用,除了透過 Azure Portal 之外,我想最快速的方式,不外乎是透過 Azure CLI 命令列工具了,只要把之前筆記的 CLI 命令找出來,複製貼上就馬上有一台 VM 可以用。這篇文章我打算分享幾個我之前整理的 Azure CLI 筆記,幫助我日後可以更快速的找到命令。

... 繼續閱讀 ...

如何使用 OpenSSL 工具產製 CSR 憑證要求檔並成功申請正式 TLS 憑證

我們公司有經銷代理 TWCA 網站伺服器憑證,每隔一段時間都會有一些死忠的客戶跟我們定期續約購買,但這個過程很多人沒有經驗,經常搞不清楚該如何申請。如果你是開發人員,透過 mkcert 建立自簽憑證完全沒有難度,但是若要申請一個正式憑證就不是很多人能清楚步驟了。這篇文章我打算來解說一個完整的憑證申請流程,讓每個人都可以輕鬆掌握。

... 繼續閱讀 ...

如何讓 System.Text.Json 支援 Dynamic 型別的序列化/反序列化

我最近因為支援 Quicktype 開源專案,新增了 System.Text.Json (C#) 的程式碼產生器功能,因此更加理解 System.Text.JsonConverter 撰寫方式。在這之前,我其實我都還是偏好使用 Newtonsoft.Json (俗稱 Json.NET) 來進行 JSON 的序列化/反序列化工作,原因就在於 Json.NET 有很多「方便」又「豐富」的功能與特性在 System.Text.Json 都找不到,因此剛入門 System.Text.Json 的人一定會覺得綁手綁腳,很多原本能動的 Code 都不能 Run 了。今天這篇文章,我打算來分享如何讓 System.Text.Json 支援 dynamic 動態型別,讓你可以用「弱型別」的方式操作靈活的 JSON 資料。

... 繼續閱讀 ...

如何避免使用密碼存取 GitHub、BitBucket 或 Azure DevOps 的 Git 儲存庫

現在資安意識抬頭,許多東西都開始採用「零信任」的基礎來進行規劃。今天這篇文章,主要針對在 CI/CD 的環境下,如何透過 Personal Access Token (PAT) 來存取 Git 儲存庫。

... 繼續閱讀 ...

Azure Pipelines 無法刪除 Build Pipeline 的處理方法

有時候我們想要在 Azure DevOps Services 上面刪除一些早期的 Pipeline (Build),但是刪除時卻會遇到 One or more builds associated with the requested pipeline(s) are retained by a release. The pipeline(s) and builds will not be deleted. 的問題,導致我們怎樣都無法刪除。這篇文章我打算來說明一下幾個重要觀念,以及如何才能成功刪除這些用不到的 Pipelines。

... 繼續閱讀 ...

釐清非同步程式設計模型下 Task 與 ValueTask 的使用時機

在 .NET 的世界裡,從 .NET Framework 4.0 問世之前,你只能使用 Thread、APM (Asynchronous Programming Model) 或 EAP (Event-based Asynchronous Pattern) 開發非同步程式碼,其實對不熟悉非同步開發的人來說,是有一點小小的進入門檻。但從 .NET Framework 4.0 開始推出的 TAP (Task-based Asynchronous Pattern) 這種以 Task 為基礎的非同步模式,不但可以透過 async/await 大幅簡化非同步開發的思維模式,還能產生更容易閱讀、好維護的程式碼。今天這篇文章,我將介紹 .NET Core 2.0 搭配 C# 7.0 推出的一個 ValueTask<TResult> 結構,並說明他跟 Task<TResult> 類別的不同之處!

... 繼續閱讀 ...

ASP.NET Core 所有可能用到的 ASPNETCORE_* 環境變數總整理

我們在撰寫 .NET 的時候,有許多「組態設定」可以輕易的透過「環境變數」來進行調整或變更,這裡同時也包含了 ASP.NET Core 內建的許多 ASPNETCORE_ 開頭的內建環境變數名稱,可以幫忙調整許多 .NET 與 ASP.NET Core 的預設行為。今天這篇文章我就來整理一下有哪些可以用!

... 繼續閱讀 ...

到底雲端平台的 PaaS 環境提供的 Auto Scaling 功能應該給予什麼樣的期待

本週 Microsoft Build Cloud Skills Challenge 正式開賽,我在參加 Azure Developer Challenge 的時候,有個 Scale apps in Azure App Service 模組最後的知識檢定提到了一個有點爭議的問題,它提到在哪種情境下適合使用 PaaS 的自動調整功能(Auto-scaling),答案值得讓人深思!

... 繼續閱讀 ...

使用 Angular 的 HttpClient 可以多利用 HttpParams 簡化查詢字串操作

我們在 Angular 使用 HttpClient 的時候,難免會需要在呼叫時加入 Query String (查詢字串),與其用「組字串」的方式來撰寫,倒不如利用 HttpParams 提供的 API 徹底簡化查詢字串操作,同時也可以提升程式碼的可讀性。這篇文章我就來介紹幾個常見用法。

... 繼續閱讀 ...