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

ECMAScript 之 Var

ECMAScript 之 Var

var 從 ES5 就存在,也是 ES5 的代表 keyword,看到 var 就可以判斷為 JavaScript。

var 在 ES6 有了一些改變,重要性也不若以往,TC39 甚至建議完全不要使用 var,改用 letconst

Refactor to LINQ => ForEach

Refactor to LINQ => ForEach

LINQ 是 C# 3.0 實現 FP 重要里程碑,提供大量的 Operator,讓我們以 Pure Function 將 data 以 Dataflow 與 Pipeline 方式實現。本系列將先以 Imperative 實作,然後再重構成 FP,最後再重構成 LINQ Operator。

首先從最基本的 ForEach Operator 談起。

FP 之 Pure Function 與 Side Effect

FP 之 Pure Function 與 Side Effect

Functional Programming 要求 Data 與 Function 分離,其中 Data 要求的是 Immutability,而 Function 要求的就是 Pure Function。這是 FP 的兩大基石,所有其他的特性都是由這兩個基本原則展開。

Pure Function 最簡單的定義就是 不能產生 Side Effect,但究竟什麼是 Side Effect 呢 ?

如何在 WebStorm 設定 ECMAScript 2015+ 與 File Watcher ?

如何在 WebStorm 設定 ECMAScript 2015+ 與 File Watcher ?

雖然可以搭配 Webpack 將 ECMAScript 2015+ 編譯成 ES5,但有時只是想簡單學習 ECMAScript 2015+,此時可以透過 WebStorm 內建的 File Watcher,只要 ECMAScript 一存檔,WebStorm 就會自動呼叫 Babel 幫我們編譯成 ES5。

使用 DefaultIfEmpty() 取代 null 判斷

使用 DefaultIfEmpty() 取代 null 判斷

在使用 LINQ 的 Where(),大部分人都會再搭配 FirstOrDefault(),如此 Where() 找不到時就不會拋出 Exception,而是改判斷 null

但判斷 null 也不是什麼好事,因為 null 就像癌細胞,只要出現 null,就到處都要判斷 null,而且還很容易忘記判斷 null 導致 run-time 錯誤。

如何使用 .NET Core 開發 Web API (GET) ?

如何使用 .NET Core 開發 Web API (GET) ?

當前後端分離後,後端退守 API,使用 .NET Core 實現 Web API 為最常見的功能,本文將以實務上常使用的 查詢會員 為範例,示範如何實作出 GET action 的 Web API。

如何使用 .NET Core 開發 Web API (POST) ?

如何使用 .NET Core 開發 Web API (POST) ?

當前後端分離後,後端退守 API,使用 .NET Core 實現 Web API 為最常見的功能,本文將以實務上常使用的 會員登入 為範例,示範如何實作出 POST action 的 Web API。

如何不啟用 SonarQube 內建的 Rule ?

如何不啟用 SonarQube 內建的 Rule ?

SonarQube 內建很多檢查 rule,但有些 rule 可能不適合團隊,暫時不想啟用,該如何在 SonarQube 設定呢 ?

將 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,讓大家更容易運用在日常開發中。