如何使用 C# 單元測試 internal 類別

在用 C# 開發的方法或類別時,可以用存取修飾詞來限制存取範圍層級,例如用 internal 來修飾某個類別只能讓相同專案的程式碼使用,而不開放給其他專案使用,不過 internal 也造成了無法讓單元測試專案直接使用該方法或類別,這時候可以怎麼處理呢?

SonarLint 程式碼品質分析工具

SonarQube 是一套程式碼品質分析工具,你可以自架伺服器並設定掃描規則來檢查專案程式碼,並可以搭配 CI/CD 工具來做到自動化掃描,例如在 Azure DevOps 上使用 SonarQube 進行程式碼品質分析,這對維持團隊開發品質有很大的幫助。然而如果每次都要提交程式碼到版控平台,再透過 CI/CD 去掃描,就太浪費時間了,若能在 IDE 或 Editor 等開發工具上接套用 SonarQube 上所自訂的團隊規則,直接在工具中掃描當前的程式碼,這樣的開發體驗才不會被影響。

Microsoft 認證的考試時間和題型

之前有提到我所認為的證照的意義和如何準備 AZ-900,但對某些第一次參加這種技術類型的考試的人來說,會想多知道一些有關考試的基本資訊,也就是考試時間和考試題型,來了解看看吧。

ASP.NET Core 搭配反向代理的虛擬目錄問題

當網頁應用程式前面用了 Nginx 來做反向代理的時候,遇到一個狀況是,Nginx 可以在同一個網域下去建立如同虛擬目錄的路徑,例如 domain.net/YOUR-APP,這個 YOUR-APP 其實是不存在的目錄,然而在 ASP.NET Core 中要如何將處理像這樣的虛擬目錄的問題呢?

如何檢查當前系統使用的 PowerShell 版本

PowerShell 現在已經發展到 7.1 版,而且還有 PowerShell Core 這個跨平台的版本,我們如何確認當前系統上的 PowerShell 版本呢?方法其實還滿多的。

Polyglot Notebooks 基本玩法

我們已經可以在 Azure Data Studio 中使用 Jupyter Notebooks,那麼地表上最強的編輯器 Visual Studio Code 能否支援呢?當然可以,只要安裝 Polyglot Notebooks 這個擴充套件,就可以玩 Jupyter Notebooks 囉,來看看 Polyglot Notebooks 怎麼玩吧。

如何直接執行 TypeScript 指令檔

TypeScript 是 JavaScript 的超集合,在使用上 TypeScript 必須轉譯成 JavaScript 才能讓 JavaScript V8 引擎執行,這時你就需要像是 TSCBabel 這類的轉譯器幫忙。不過有時候我們只是想單純的執行 TypeScript 指令檔,然後盡速得到結果,這時候 ts-node 就是你的好幫手。

在 Quokka.js 環境下使用 npm 第三方模組

如果有在寫 JavaScript 或 TypeScript,那麼 Quokka.js 絕對是一個讓你隨手測試程式碼的好用工具,可以為當前的程式碼提供即時的執行結果回饋,讓我們可以直接在編輯器中看到運行後的結果,非常方便!不過有時候要測試的程式需要第三方套件,或是其他相依的檔案需要匯入,這時候在 Quokka.js 的環境下可以怎麼操作呢?

.NET 開發者沒有 Mac 也能開發 iOS App

過去要開發 iOS App 時,不管你是用哪種技術,一定要買一台 Mac 搭配 XCode 做建置,才能安裝到手邊的 iPhone 開發機上,如果你是使用 Windows 的開發者,那麼整個開發流程就是很不順暢。如果你是使用 .NET 的 Xamarin 技術開發 iOS App 了話,那一定要知道 Xamarin 搭配 Visual Studio 的 Hot Restart 功能,讓你不用 Mac 也能將建置 iOS App 並安裝到 iPhone 上。

處理型別為介面的 JSON 序列化行為

前陣子我的套件在 GitHub 收到一個 Issue,在使用裡面 ToJson() 這個方法的時候,因為目標屬性是個介面型別,造成原物件的屬性值不會被序列化出來,所以就造成產生出來的 Json 字串無法正確使用了。這裡試著還原當時遇到的情境。