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

ECMAScript 之 Let

ECMAScript 之 Let

ECMAScript 2015 是 JavaScript 歷史上最重要的一次升級,也讓 JavaScript 終於趕上主流程式語言的高度,若要明顯的分辨 ES5 與 ES6,最明顯的方式的方式就是看有沒有使用 let

發現 JavaScript 本質

發現 JavaScript 本質

大家在學習 JavaScript 時,是否覺得 JavaScript 跟主流 OOP 程式語言,如 C++ / Java / C# 不太一樣?為什麼 JavaScript 沒有 interface?為什麼 JavaScript 很難使用 OOP Design Pattern ?為什麼我會從很討厭 JavaScript 到很喜歡 JavaScript?

這要從 JavaScript 的本質談起,因為我看到了JavaScript 可愛的一面。

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 設定呢 ?