念念不忘,必有迴響。有一口氣,點一盞燈,有燈就有人。

將 Using Statement 重構成 Using() Function

將 Using Statement 重構成 Using() Function

C# 有個著名的 using statement,對於實踐 IDisposable 的物件特別好用,但 using 是個 statement,在 Imperative 世界沒問題,但在 Functional 世界,statement 就類似 句點,讓我們無法繼續 Pipeline 或對其他 function 做 Compose,我們能否比照將 foreach statement 重構成 ForEach() function,也將 using statement 重構成 using() function 呢 ?

FP 之 Higher Order Function

FP 之 Higher Order Function

Higher Order Function (HOF) 可以說是 FP 的精華,就算是目前主流 OOP,也大都接受了 HOF 概念,但實務上要活用 HOF 並不容易,需要時間與訓練,本文整理出實務上最常使用 HOF 的 4 種 Pattern,讓大家更容易運用在日常開發中。

如何使用 VS Code 開發 Haskell ?

如何使用 VS Code 開發 Haskell ?

Haskell 是個非常純的 FP 語言,如所有 data 都是 Immutable,所有 function 都是 Lazy Evaluation,這些觀念都是一般程式語言所沒有的,透過 Haskell,可以讓我們學習更純的 FP 概念,而不是 workaround 式的 FP,進而改變思考方式。

Haskell IDE Engine 是基於 LSP (Language Service Protocol),讓我們在 VS Code 就可以享受如 IDE 強大功能。

Functional Programming 簡介

Functional Programming 簡介

這幾年由於 Reactive Programming 興起,使得 FP 這古老的 Programming Paradigm 又成為顯學,FP 大都使用 JavaScript、Haskell … 等偏 FP 語言闡述,很少人使用 C# 來談 FP,本系列將使用大家的老朋友 C#,帶領大家一步一步進入 FP 世界。

如何使用 SonarQube 顯示 .NET Core 專案 Code Coverage ? (Docker)

如何使用 SonarQube 顯示 .NET Core 專案 Code Coverage ? (Docker)

SonarQube 除了能檢查 C# 品質外,還可以當成 dashboard 使用,讓整個團隊有統一入口關注專案的 Code Coverage。

SonarQube 支援 OpenCover 與 dotCover 兩種格式,本文將以 NUnit + Coverlet + OpenCover 介紹。

如何讀取 JSON 格式設定檔 ?

如何讀取 JSON 格式設定檔 ?

在實務上不少資訊我們不想寫死在 code 中,會以 config 形式由 client 設定,目前最主流的 config 就屬 JSON 格式,.NET 也提供了 ConfigurationBuilder ,讓我們輕易的讀取 JSON 格式的 config 檔。

如何使用 SonarQube 檢查 .NET Core 專案 ? (Docker)

如何使用 SonarQube 檢查 .NET Core 專案 ? (Docker)

SonarQube 是一套 程式碼品質檢查工具,可以幫我們檢查 C# 的 bugs、 vulenrability、code smell 與 duplication。

本文使用 Docker Compose,並同時啟動 .NET Core 與 SonarQube 兩個 container,自動對 .NET 專案進行檢查。

如何在 Parallel Desktop 使用 Docker for Mac ?

如何在 Parallel Desktop 使用 Docker for Mac ?

雖然平時以 macOS 作為開發主力,偶爾還是會需要在 Parallel Desktop 使用 Windows,此時若要使用 Docker,雖然也能在 Parallel Destop 內跑 Docker for Windows,不過由於是 VM 中的 VM,Docker 並不穩定,比較建議的方式是 Windows 搭配 Docker for Mac 使用。

如何使 GitHub Blog 升級成 https ?

如何使 GitHub Blog 升級成 https ?

當 Chrome 在 68 版後會將沒有 https 網站標上 不安全 字樣,讓 blog 升級成 https 已經不能避免的課題,若你是使用 Hexo 且放在 GitHub,則可參考本文的方式。

如何使用 Docker 安裝 PostgreSQL ?

如何使用 Docker 安裝 PostgreSQL ?

若要在 Mac 使用 PostgreSQL,最簡單的方式就是使用 Docker 。本文分別使用 docker rundocker-compose 兩種方式。