The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

認識 Angular Library 函式庫專案並學會自製 Angular 表單驗證器模組

當 Angular 越用越熟,你將會發現其開發效率極高無比,除了極佳的工具支援外,優異的模組化技術更是不在話下。上週在教 Angular 7 開發實戰:進階開發篇 的時候,有學員許願,說希望我能分享一些 Angular 函式庫的作法,說著說著就這麼願望成真了! 😆 當越來越多專案都用 Angular 開發時,你一定會發現有越來越多的共用元件出現。本篇文章我將設計出一款同時讓 Reactive Forms 與 Template-driven Forms 皆可使用的表單驗證器,並完整介紹如何用 Angular CLI 從頭到尾建立並發行一個自己的 Angular Library 函式庫!

... 繼續閱讀 ...

如何在收到 PFX 或 CER 憑證檔之後使用 OpenSSL 進行常見的格式轉換

由於我們公司有經銷代理 TWCA SSL 憑證,最近有個客戶續約 SSL 憑證時,卻不知道如何進行安裝。這部份我已經寫過很多篇文章,不過我們這次的客戶比較不一樣,因為該客戶佈署的環境有 IIS、Apache 與 .NET Core 2.2 三種不同的網站伺服器,這種情況下勢必面對不同的憑證格式轉換,所以我今天打算用這篇文章整理 PFX 與 PEM 格式之間轉換的技巧。

... 繼續閱讀 ...

深入理解 C# 7.1 提供的 async 非同步 Main() 方法

我們在開發 .NET 應用程式的時候,預設選取的 C# 語言版本為「最新已發行主要版本」(latest major version),如果以 Visual Studio 2017 v15.9.10 來說,內建的 C# 最新發行版本就是 7.3 版,因此主要版本就是 7.0 版。本篇文章要來介紹 C# 7.1 提供的一個語法糖,它能讓你的 Console 應用程式,將主程式的進入點 Main() 方法也能宣告為非同步(async)的版本,好讓你從頭到尾都用非同步的方式開發應用程式,最後還會說明這個新語法背後的技術原理。

... 繼續閱讀 ...

徹底釐清 Windows 10 與 Windows Server 的版本編號

這些年一直對 Windows 10 與 Windows Server 的版本編號困擾著,經常會聽到什麼 Windows 10 周年更新Windows 10 創作者更新 之類的名稱,完全摸不著頭緒,你也至少給個年份或數字之類的吧。從 Windows Server 2016 開始,又開始區分 LTSC 與 SAC 通道,又是一場眼花撩亂了版號大戰。今天我就用這篇文章來好好釐清背後的邏輯吧!

... 繼續閱讀 ...

Windows 10 無法 LISTEN Port 4200 與 Port 3000 的靈異事件整理

前陣子我的 Windows 10 (版本 1809) 電腦發生了一個靈異事件,就是電腦突然無法 LISTEN 常用的 4200 與 3000 通訊埠,我想盡腦汁也想不出為什麼無法 LISTEN,超出了我的認知範圍,雖然最後已經找到解決辦法,但還是有些疑惑尚未釐清。我就用這篇文章整理一下我遭遇的狀況!

... 繼續閱讀 ...

設定 Windows 10 (版本 1809) 的 Windows 容器預設採用 process 隔離模式

從 Windows 10 (版本 1809) 開始,Windows 容器正式支援處理序隔離模式 (--isolation=process),在這之前都只支援 Hyper-V 隔離模式 (--isolation=hyperv),這兩種模式最大的差異在於啟動速度容器隔離性。不過,雖然 Windows 10 (版本 1809) 已經支援處理序隔離,但預設值卻還是以 Hyper-V 隔離模式為主,本篇文章將說明如何將預設值切換到處理序隔離模式

... 繼續閱讀 ...

如何將 Protractor 設定檔 (protractor.conf.js) 加入 TypeScript 型別檢查

現在日常的 JavaScript 已經完全離不開 TypeScript 了,在強型別的保護下,不但不容易寫出錯誤的代碼,還能透過開發工具提供的 IntelliSense 提高開發速度。但是如果手邊的程式碼只能使用 JS 來撰寫,那該怎麼辦呢?像是 Protractor 的設定檔 protractor.conf.js 就是一個典型的例子,本篇文章我將分享如何在現有 JavaScript 檔案下使用 TypeScript 的型別檢查提示。

... 繼續閱讀 ...