推薦文章

快速建立開發環境的 RabbitMQ Cluster - 使用 bat 執行檔的方式

一般來說建立 RabbitMQ Cluster  最快的方式就是透過 Docker 建立,看你是要直接下指令或是編寫 Docker Compose 檔案後再執行都可以,但是會遇到一個問題就是叢集環境建立完成後,還需要再進入 RabbitMQ Management 裡去逐一建立 vhost, User 等等的設定,好一點的話就是有事先匯出一份 definitions.json,這麼一來只需要匯入這個定義檔就可以完成了。

但如果是對一個 Docker 不熟悉更不用說去輸入一條條的指令和一連串步驟的新人來說,上面所說的對他們都是充滿著挑戰性,於是就將建立開發環境 RabbitMQ Cluster 的過程都寫成一個 bat  檔案,新人只要在自己電腦裡安裝好 Docker  環境後只需要執行這麼一個 bat  檔案就可以完成 RabbitMQ Cluster 的建立,裡面所有的設定也都準備好,馬上就可以應用在專案開發上。

...繼續閱讀 »
on mrkt

[筆記] 重置 Microsoft Entra 使用者 MFA

  • 37

有時候 Microsoft Entra (AAD) 使用者會因為一些因素需要重新設定 MFA,比如說手機遺失、換新手機、忘記密碼等,這些情境都有可能沒辦法用原本裝置來取的 MFA 的驗證資訊,因此就會需要請 IT 人員來協助重置 MFA 來重新設定 MFA,步驟很簡單,所以就做一下記錄。

...繼續閱讀 »
on anyun

轉移資料表LOB(Image/Text)資料到其他File Group

當資料表中有nvarchar(max)這種大型欄位時,該資料表資料存放就會有兩個部分,一個是Row Data一個是LOB,當單一筆資料進來時該大型欄位資料內容過大無法在單一Page存放時,就會被SQL放到LOB區域去。

而LOB在建立資料表時不指定存放區則預設會放到Primary這一個File Group中。但如果我們事後想調整更換時該怎麼做呢?

...繼續閱讀 »
on rockchang

透過條件式存取設定 Windows 365 Cloud PC 限制 IP 存取

  • 55

最近在評估和測試微軟推出的 Windows 365 Cloud PC,它可以快速的為企業建置雲端電腦,且也可以方便的管理,公司有授權的員工就可以在何時何地連上去處理工作,對於會需要再外面跑業務或是 WFH 的員工只需要有電腦就可以連上去,這時候要特別注意的當然就是安全性,必須適當的限制,不然何時何地跟不限機器都可以連上也等於開很大一個洞在那邊等人家連,這時候就可以透過條件式存取來設定,而本文要介紹的就是針對 IP 來限制存取,只有指定的 IP 才可以連的上。

...繼續閱讀 »
on anyun

整合測試 - 使用 Flurl 簡化建立 QueryString

其實這也不一定是在整合測試才會用到,一般會呼叫使用到外部 API 時的情境也一樣適用。

當要將一個物件的資料帶入 QueryString 時,每次就會覺得這個步驟很麻煩,甚至有一段時間是自己寫個方法來處理,但總覺得不是一個漂亮的解決方式,

於是就想到可以使用 Flurl 來處理,也的確是可以簡化以前那些繁瑣的建立 QueryString 的作法。

...繼續閱讀 »
on mrkt

整合測試 - 使用 FluentAssertions.Web 對 HttpClient 執行結果進行驗證

在整合測試專案裡要對 HttpClient 執行結果的 Response 內容進行驗證其實有點麻煩... 例如狀態驗證或是要對回傳資料做細部驗證的話,還需要再自己去對 Response Content 做反序列化的處理 也不用寫多一點測試案例才會覺得煩,當你寫了一個測試案例的驗證時就一定會這麼覺得, 當時同事就分享了這麼一個套件「FluentAssertions.Web」來簡化這些回傳內容的驗證。

...繼續閱讀 »
on mrkt

xUnit 使用 FluentDocker 透過 docker-compose.yml 建立 MongoDB 的 Docker Image 和 Docker Container

前一篇「xUnit 完全使用 FluentDocker 建立 MongoDB 的 Docker Image 和 Docker Container」裡用了兩個步驟分別建立 docker-image 和 docker-container,而建立 docker-image  是透過執行 docker-compose.yml  的方式。

如果不想要這麼麻煩地分成兩步驟,而是想要執行一次 docker-compose 就完成 docker-image 和 docker-container 的建立,這篇文章就來簡單說明如何進行。

...繼續閱讀 »
on mrkt

建立測試用 Container 前先建立 Docker Image - 使用 FluentDocker

前一篇文章說明了在進行 Repository  時使用 Testcontainer  建立測試用 MS SQL Server  容器

如果另外一個專案並非使用 MS SQL Server  而是使用 MongoDB,而且為了測試需要必須要使用自己所打包好的 Docker Image  來建立容器,

Testcontainers 是有提供 Docker Image Build  的功能,但是我卻在建立 Docker Image  時一直出現錯誤,

在無法使用 Testcontainers 解決問題的情況下,我又想起了之前一直在用的 FluentDocker,FluentDocker  有支援 Docker Compose  功能,

於是這就是這篇文章所要說明的內容

...繼續閱讀 »
on mrkt

不使用 HttpContext 傳遞 Context 的寫法

上篇 有提到可以透過 ASP.NET / ASP.NET Core 的 HttpContext 來傳遞狀態,由於他的生命週期很短,每一個調用者擁有獨立的狀態,很適合用來跨層傳遞狀態;現在,我想要降低對 HttpContext 的依賴,改由自訂的 ContextAccessor 保留物件的狀態,傳遞系統所必要的狀態,統一由一個點進行修改,比如登入帳號、追蹤 Id,其他的點,只能取用不能修改。

...繼續閱讀 »
on yc421206

[小菜一碟] Microsoft SQL Server 2017 所有支援的繁體中文定序清單

每每要在 Azure SQL Database 建立資料庫,設定定序這一關一定都會卡住,我必須用鍵盤輸入定序的完整名稱,可是完整的名稱有幾個人能記得住?而它那個尋找定序的功能又不太好用,再加上官方又沒有 SQL Server 所有支援的定序資訊,所幸我就來把跟繁體中文相關的定序放到部落格上,以後要查就有。

...繼續閱讀 »
on supershowwei

通過 Refitter CLI,從 Swagger / OpenAPI Specification 檔案,產生 Refit Interfaces Client

一直以來都是用 NSwag 來產生 OpenAPI Client & Server Code,但它所產生出來的 Client Code 會 throw Exception,這讓我在商業流程的控制需要額外付出一些心力,為了解決這問題,我會額外再墊一層,最近逛到有人分享 Refit 這個套件,它所產生出來的具名 Method 不會拋出例外,讓我可以根據 HttpStatusCode + Error Content 控制商業流程。

...繼續閱讀 »
on yc421206

Azure OpenAI Service 10 - 使用 BetterChatGPT 在 Azure 部署私有的 ChatGPT 站台

OpenAI 有提供獨立的 ChatGPT 服務,那如果我們想要使用 Azure OpenAI Service ,又想要有類似 ChatGPT 一樣的站台,這時候就可以用 BetterChatGPT 這一個開源的 UI來架設自己的 ChatGPT 站台,並且使用自己的 ChatGPT 模型來執行,雖然也是可以直接用已架設好的服務直接使用,但是透過 App Service 架設自己的站台,還可以加上一些驗證或是防火牆設定等,才可以達到我們要的私有站台,後面就來說明如何建構自己的私有站台囉!

...繼續閱讀 »
on anyun

進修課程