[Angular 大師之路] 透過 DI 容器修正第三方元件的 bug

最進公司內某個專案遇到了一個 bug 是因為第三方套件的已知 bug 導致,但又不可能等人家修好 bug 我們才能處理,於是來詢問我的想法;其實這並不是一個很難的問題,尤其是在 Angular 這種完整個框架下,透過 DI 容器就可以輕易的達成,只是不一定想得到而已,由於大多數我們會使用到 Angular 的 DI 機制常常都是再進行一些組態設定,難得有個案例是用來修 bug 的,就用這篇文章來記錄一下!

繼續閱讀
使用 k6 進行壓力測試

當系統預期有很多人同時上線時,可能會需要進行壓力測試。比起老牌工具 Apache Jmeter 的高學習難度,k6 是一套很好的壓力測試工具,對於開發人員來說非常友善。

本文將簡單介紹如何使用 k6 進行壓力測試。

繼續閱讀
[Visual Studio Code 小技巧] 改變檔案的換行符號

換行符號在不同的作業系統上有不同的表示方式,Windows 會使用 CRLF (a.k.a \r\n),而 Linux 則是使用 LF (a.k.a \n),這樣在不同的作業系統上,如果有人使用不同的換行符號,有時就會出現一些問題,所以我們需要在不同的作業系統上都使用相同的換行符號,這樣才能避免不同的問題。

這篇文章就來說說如何用 VSCode 來改變檔案的換行符號。

繼續閱讀
目前我在 VS Code 中使用的 Git 相關擴充功能 (2022 版)

分享一下目前我有在使用 Git 相關的 VS Code 擴充功能。

繼續閱讀
[NgRx 速成班] 用 Effects 讓元件持續保持單純

前幾天我們已經講 NgRx 狀態管理最重要的幾個核心角色 - Store、Selector、Action 和 Reducer 介紹過了;今天我們來講講 NgRx 另外一個很重要的角色 - Effects。

繼續閱讀
[NgRx 速成班] 更改狀態的基礎 Action & Reducer

上篇文章我們介紹了 NgRx 的 Store 和 Selector,這兩個角色主要是用來存放資料及讀取資料用的,接著我們來看看如何更新儲存的資料 - Action 和 Reducer。

一樣的,基本的程式骨架已經在「使用 NgRx Schematics 快速產生程式碼骨架」建立,接下來將會直接沿用產生出來的程式骨架,繼續調整程式碼。

繼續閱讀
[NgRx 速成班] 讀取狀態的基礎 Store & Selector

對 NgRx 基本架構和程式碼有了一些概念後,接著來看一下如何將狀態讀取出來給程式使用,這會利用到 Store 與 Selector 兩個角色。

基本的程式骨架再上一篇「使用 NgRx Schematics 快速產生程式碼骨架」已經說明過了,這邊將會直接沿用產生出來的程式骨架,繼續調整程式碼。

繼續閱讀
[NgRx 速成班] 使用 NgRx Schematics 快速產生程式碼骨架

在之前的文章「簡介 NgRx」中我們間單的的解釋了 NgRx 的一些基本角色,每個角色都有他的工作,也代表著我們要把一件事情拆成多個角色去負責,每個角色都會有各自獨立的程式碼,我們可以使用 @ngrx/schematics 套件來快速的幫助我們產生所有需要的程式碼!

繼續閱讀
移除 ModuleConcatenationPlugin 以加快 Angular 建置速度

最近接手一個專案,需要將舊 Angular 9 專案加入之前客戶沒有實作的 lazy loading 功能,專案包含了將近 600 個頁面,之後還會增加。

重構的過程是很順利的,不過在 lazy loading 架構完成後,卻出現了 production build 時間大幅增加的問題,花費了不少時間研究,總算是以較低的代價換回了 build 速度。

這篇文章就來分享一下整個過程和結論。

繼續閱讀
如何在 Azure CloudShell 上傳/下載檔案

Azure CloudShell 可以幫助我們直接在 Azure Portal 上直接下指令進行各種資源的操作,不過偶爾我們需要將地端的檔案上傳到 Azure CloudShell 或是需要將在 Azure CloudShell 上面的檔案下載下來,今天分享一些小技巧,讓我們可以輕鬆的在 Azure CloudShell 上傳/下載檔案。

繼續閱讀