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

TypeScript 之 Type Assertion

TypeScript 之 Type Assertion

C# 有所謂的 Object Initializer,讓我們可以很優雅的建立物件,並且將物件的 field 一次填滿,TypeScript 是否也提供如 C# 一樣的寫法呢?

使用 Observable Data Service

使用 Observable Data Service

Angular 也走 Redux 風 (使用 Ngrx) 一文中,我們使用了 Ngrx 這種 Redux 風格的 store 來處理 component 之間共用的 state,雖然可行,但有一點 over design,在 RxJS 出現後,我們使用 Observable Data Service 也能實現出相同的效果。

迪米特法則

迪米特法則

迪米特法則也稱為最小知識原則,是物件導向 SOLID 原則中的 L 其中之一 LKP ( Least Knowledge Principle),是 1987 年 Ian Holland 在美國東北大學所提出,此法則應用在其 The Demeter Project 而得名,是物件導的基本原則。

Angular 也走 Redux 風 (使用 Ngrx)

Angular 也走 Redux 風 (使用 Ngrx)

Redux 起源於 React 社群,算是一種 design pattern,適用於某些情境,也提供一些優點,Angular 也有 Redux 的實作,但 Angular 是否該使用 Redux 呢?

如何在 PhpStorm 繪製 UML?

如何在 PhpStorm 繪製 UML?

PlantUML 讓我們可以使用文字檔的方式描述 UML,且可以直接在 PhpStorm 內使用,非常方便。

如何在 PhpStorm 使用 Refactoring (重構)?

如何在 PhpStorm 使用 Refactoring (重構)?

PhpStorm 最強悍的就是 Refactoring,這也是文字編輯器無法達到的,善用 Refactoring 將可大幅增加 code review 之後重構 PHP 的速度。

深入探討 Angular 的 DI 與 Provider

深入探討 Angular 的 DI 與 Provider

DI (Dependency Injection) 對於很多前端開發者是個陌生的名詞,畢竟以前沒有 DI 時,也沒有什麼東西寫不出來,為什麼 Angular 要全面提供 DI 與 provider 呢?

如何在 TDD 使用「重構九式」?

如何在 TDD 使用「重構九式」?

TDD 不僅是先寫測試而已,當第一個 綠燈 之後,剩下的半壁江山就是拼重構功力,重構的書多半來自於 Java,因此有些 PHP 獨門的重構技巧在 Java 書上是看不到的,也因為編程思維的持續演進,重構也有了新的面貌,本文整理出自己在實務上,天天必用的 9 個適用於 PHP 重構的 SOP。

如何使用 Forever 搭配 Laravel Queue 寄送 Email?

如何使用 Forever 搭配 Laravel Queue 寄送 Email?

傳統寄送 email 是採用同步的方式,也就是當你寄出一封信,必須等 email server 回應後,才可以繼續後續的程式動作,因此使用者會有明顯的等待時間;若能搭配 queue 機制,寄送 email 後,馬上以非同步的方式回到原來程式繼續執行,會有另外一個 process 去消耗 queue,負責寄送 email。

如何使用 PHPUnit 測試 private 與 protected method?

如何使用 PHPUnit 測試 private 與 protected method?

剛開始學習寫測試時,最多人的疑問就是該如何測試 privateprotected method? 理論上不該去測試 privateprotected,本文會介紹一個 PHP 邪惡的技巧來完成測試,但建議除非萬不得已,不要使用此方法。