[Azure]-如何Service Bus上透過 IP Rule 設定白名單

在安全要求比較高的企業中,服務放內網是很基本的需求。在 Azure 的世界裡,我們可以透過 Private Endpoint 來完成。

不過在 Service Bus 的定價層中,只有 Premium 以上才支援 Private Endpoint 的功能,不過它的價格相當不斐,如果不是正式環境使用,真的是很難下手。

既然這樣,有沒有其他「俗擱大碗」的方式可以幫助我們達到目的呢?如果你有相同的疑問,你要找的,很可能就是 IP Rule 這個功能!

...繼續閱讀 »

[Azure]-如何使用 Private Link 有效降低 VNet peering 的耦合性(概論篇)

在 Azure 中 VNet 是串起內網通連的基礎,若要讓兩條不同的 VNet 彼此可以互通,我們可以使用 peering 來達成目的。而當產品架構日益龐大之後,VNet 的數量也會隨之增長,此時過多的 peering 會致使服務間的網路拓樸變得錯綜複雜且不易維護,這時可以考慮使用 Private Link 來有效降低過多 peering 所造成的耦合性。本文將簡述網路架構的演進過程以及如何使用 Private Link 來減少 VNet peering 所帶來的耦合關係。

...繼續閱讀 »

[Azure] - 如何在 App Service for Windows 中測試對外連線請求

若提到 ASP.NET 網站託管的 PaaS 服務,Azure App Service 絕對會是首選!它整合了佈署、憑證管理、及日誌等功能,大幅降低了維運成本。

雖然看似簡單,但還是有許多的眉眉角角!最近在管理 App Service 的實務上,就遇到了一些對外連線測試的需求,在幾經摸索後找到了幾個可行的做法,特此記錄一下。

...繼續閱讀 »

[ Tools ] - k6 壓測工具簡介

本次要介紹的是號稱開發者體驗最好的壓測工具 – k6

它在 GitHub 上擁有相當驚人的星星數( > 10w ),受歡迎的程度可想而知。

k6 的一大特點就是簡單易用,只要撰寫 ES6 JS 的腳本就可以進行壓測,

無論你在團隊中是擔任什麼角色,都可以輕易地上手這套工具。

在本文中會簡介 k6 的使用特性,並撰寫一個簡單的壓測腳本

...繼續閱讀 »

[ Tools ] - Visual Studio 2022 Preview 1 程式碼產生功能初探

前言

睽違了兩年之久,

微軟於前幾日正式開放 Visual Studio 2022 Preview1 下載

雖然平時早已被 Rider 慣壞,但是內心深處對 VS 依舊有愛。

廢話不多說,趕緊來瞧瞧這次的版本多了哪些好料吧!

本次的主題集中在探索內建的程式碼產生功能

但因為已經一陣子沒接觸 VS 了,

有些提到的功能可能會與 VS 2019 重疊,敬請見諒。

...繼續閱讀 »

[ Source Generator ] 使用 SyntaxReceiver 快速篩選關注的 Syntax 資訊

Source Generator 是微軟於 .NET 5 所推出的新功能,

它允許我們從原始碼編譯的結果中取得所需的 meta 資訊,

進而根據這些資訊去組出額外的程式碼,並加至最後的編譯結果中。

而當原始碼數量過於龐大時,將篩選 Syntax 的邏輯寫在 Generator 內就會稍顯雜亂。

這時可以使用 SyntaxReceiver 幫助我們快速篩選所需的 Syntax 資訊!

...繼續閱讀 »

[ .NET Core ] 使用擴充方法擺脫 IOptions<T> 的組態設定方式

開發的過程中難免會於組態檔中存取應用程式的特定資訊,

.NET Core 中拋棄了過去存於 Web.Config 的方式,

而將組態預設存放在 appsetting.json 中。

官方預設提供了 IOptions<T> 讓我們能夠以強型別的方式繫結組態,

但是使用起來總覺得不是那麼順手,

本文介紹如何透過自訂擴充方法簡化組態注入方式。

...繼續閱讀 »

[ Azure DevOps ] 將 .Net Standard 函式庫發佈至 Azure Artifact Feed

.NET Standard 最初的願景是作為 .NET Framework.NET Core 的中繼層,

讓開發人員能夠基於這個抽象來開發支援上述兩種 target framework 的函式庫。

這玩意兒出來其實也挺久了,但一直到最近才碰到它。

本篇將介紹如何透過 Azure Pipeline 將 .NET Standrad Library 發布至 Azure Artifact Feed

...繼續閱讀 »

相依性注入起手式 - 「何謂相依」

現今許多前端或後端的框架,

預設都是採用相依性注入的方式進行開發,

對我這種原先較少使用DI框架的開發者而言,

上手適應的確得花一番功夫。

記得某次參加twMVC週四固定聚會時,

我向Bill叔請益有關相依性注入的看法時,他秒回道:

不就是相依,然後再注入而已。

這看似簡單的幾句話,

卻讓當下只會用DI框架的我,

開始反思何謂相依、何謂注入。

此篇我想從「何謂相依」出發,

分別地來談談「相依」及「注入」,

順手記錄自己理解的過程。

 

...繼續閱讀 »

[Azure DevOps]如何跨Organization共享Artifacts Feeds

Azure DevOps是微軟在DevOps領域的一個平臺服務,

性質上與市面上其他DevOps的平臺相近,

提供VCS、CI、CD及Artifacts等功能。

近日在協助公司導入Azure DevOps Server(地端版)時,

在建置Pipelines/Build(CI)流程Nuget Restore Task時,

有些內部套件需要從Artifacts Feeds拉取,

而因為有跨組織專案共享內部套件的需求,

花了些時間才搞懂這些東西如何設定,

趕緊趁著還沒忘記之前記錄一下。

 

...繼續閱讀 »