推薦文章

利用 I18Next.Net 實現多國語系

.NET Core 的多國語系套件是 Microsoft.Extensions.Localization,再透過 IStringLocalizer<T> 物件來取得資源檔內容,預設整合了資源檔,上篇介紹了 Tolgee 管理多國語系,它支援了 i18n 的檔案,這篇將記錄使用 I18Next.Net 的方式,再來想辦法將它們整合。

...繼續閱讀 »
on yc421206

通過 SonarQube 進行 C# 程式碼品質分析

SonarQube 是一套程式碼品質分析工具,分析程式是否存在 Bug、漏洞或不好的寫法,第一關品質分析就交給它了,它的運作方式很簡單,透過 SonarQube Scanner 把報告提交到 SonarQube Server,這篇我會用 .NET Core 的專案實驗。
下圖出自官網 https://docs.sonarsource.com/sonarqube-server/latest/setup-and-upgrade/install-the-server/introduction/


 

...繼續閱讀 »
on yc421206

Visual Studio 中透過 WSL 偵錯執行跨平台桌面應用時無法正確顯示中文字

在 Visaul Studio 當中開發桌面應用程式時,可以透過 WSL 直接偵錯執行 Linux 版本的桌面應用 (根據所安裝的 Linux 環境而定)。

而對於一個不太熟悉 Linux 相關設定的小白來說,每當透過 WSL 執行所設計的跨平台桌面應用程式時,若其畫面有中文字要顯示時,就會呈現豆腐塊的結果,著實讓人有點小困擾。

...繼續閱讀 »
on jamestsai

讓程式碼更一致:使用 GitHub Copilot 自訂提示的技巧與設定

  • 147

在使用生成式 AI 來提供程式碼建議的時候會希望產出的程式碼建議會符合自己或是團隊的 Code Style,或是可以在協助做 Code Review 的時候可以幫忙檢查出不符合 Code Style 的程式碼,最近 GitHib Copilot 更新了一個實驗性的功能,可以讓我們方便設定自定義的提示詞,讓 AI 在回覆的時候更符合我們的需求,後面就來說明該如何設定。

...繼續閱讀 »
on anyun

初試 Kafka - 實作生產者-消費者模式(Producer-Consumer Pattern)

過去工作專案大多使用 RabbitMQ 來處理訊息佇列,RabbitMQ 的幾種模式(Direct, Topic, Fanout)都有使用,因為都可以解決大多數的應用情境,所以就沒有想要去使用 Kafak,畢竟多建立一套服務就需要再多花時間去維護。

一直以來也想要找個時間來玩玩 Kafka,於是就利用週末時間學習怎麼使用 Docker 架設服務,程式開發練習怎麼使用 Confluent.Kafka,這是一篇學習筆記。

...繼續閱讀 »
on mrkt

將 Wolverine 接上 RabbitMQ - 使用 WolverineFx.RabbitMQ

前一篇「使用 Wolverine 實作生產者-消費者模式(Producer-Consumer Pattern)」介紹了將原本使用 Channels + BackgroundService 的生產者-消費者模式改用 Wolverine  來實作。

就以現實的問題來看,如果服務是相當頻繁地被使用時,如果 MessageCreatedEventHandler 消費者的處理速度有所延遲,那麼 Channels 裡就會堆積大量的 MessageCreatedEvent 事件,一旦服務出現問題而重新啟動或是有版本更新而需要重新部署,那麼佇列在 Channels 裡的事件就會消失不見了,這可是不得了的事情。所以這篇就來用 WolverineFx.RabbitMQ,生產者將事件發送到 RabbitMQ 裡,然後消費者再去接收存放在 RabbitMQ 裡的訊息,如此的改變就是為了避免因為服務重新啟動而讓佇列在 Channels 裡的事件消失不見。

...繼續閱讀 »
on mrkt

使用 Wolverine 實作生產者-消費者模式(Producer-Consumer Pattern)

之前寫了一篇「使用 Channels 與 BackgroundService 實作生產者-消費者模式(Producer-Consumer Pattern)」是使用 Channels 與 BackgroundService 來實作,而這一次就來改用 Wolverine 這個套件來試試看。

有關 Wolverine 這個套件我也看了好久,一直想拿來試試看,會想要用這個套件,主要是它是一個輕量化的工具,適合用於整合訊息佇列、事件驅動設計和後台任務處理。

而且也因為適合用於整合訊息佇列、事件驅動設計,所以支援了許多第三方服務,例如:RabbitMQ, Kafaka, MQTT, AzureServiceBux, AmazonSqs 等,所以打算之後也繼續玩玩 Wolverine。

...繼續閱讀 »
on mrkt

進修課程