All posts by will | The Will Will Web

The Will Will Web

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

如何在收到 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 的型別檢查提示。

... 繼續閱讀 ...

一次搞懂單元測試、整合測試、端對端測試之間的差異

網站建置不是件簡單的事,我們都知道網站做好之後,有好多細節需要兼顧,所以許多公司花了大量的時間與金錢,耗用人力對維護中的網站進行不斷的、重複的人工測試,想達到的目的不外乎是希望網站不要出錯,可以給客戶/使用者最好的網站使用體驗。但你是否知道單元測試整合測試端對端測試之間的差異在哪裡?本篇文章將闡述他們之間不同的部分。

... 繼續閱讀 ...

如何透過命令列工具快速連接 Windows 內建的 VPN 連線

由於經常在家上班,當需要連接客戶主機時,都要先撥接公司的虛擬私有網路(VPN),然後才能開始連線。但每次都要用鍵盤+滑鼠點個好幾次才能連接完成,覺得太浪費時間了,不自動化不行。所以這就花了點時間研究如何用批次檔或快速鍵來啟動 VPN 連線,本篇文章講解每個步驟與設定技巧。

... 繼續閱讀 ...

介紹好用工具:WSLtty (Mintty as a terminal for WSL)

Windows 下的任何命令列工具,都是基於傳統 Windows Console 介面進行互動,你很難想像 Windows Console 的原始碼已經超過 30 年沒有更新過,所以當 WSL 加入 Windows 之後,所遇到的挑戰比你想想的大許多,更新的速度也非常慢,目前也只有 Windows Insider 版本才能體驗新的功能。本篇文章我將分享幾個我曾經遇到過的問題,還有介紹 WSLtty 工具,幫助你徹底解決這些難題。

... 繼續閱讀 ...

Angular CLI 7.3 使用 ES2015 的 nomodule 屬性載入 Polyfills 函式庫

最近推出的 Angular CLI 7.3 版本,新增了一個相當亮眼的特性。當你的 Angular 應用程式同時要符合 IE 或舊版瀏覽器時,以往都會用 Polyfill 來填充缺少的 HTML5/JS APIs,但這件事到了 Angular CLI 7.3 又變得更貼心了。不但如此,這個新特性一樣可以用在各種 SPA 框架中,像是 Vue, React 或其他函式庫也都可以套用相同技巧。欲知詳情請繼續看下去。

... 繼續閱讀 ...

介紹好用工具:WSL (Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) 對於想開始學習 Linux 的人來說,是個超級棒的入門工具,我未來也預計開設 Linux 新手上路課程,敬請期待。同時你也可以利用 WSL 幫助你管理遠端的電腦,也可以利用成千上百個 Linux 命令列工具幫助你進行開發、測試與整合作業。本篇文章教你如何安裝與使用,並且深入了解關於 WSL 的各項細節。

... 繼續閱讀 ...