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

The Will Will Web

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

Windows Container 版本相容性與多重架構容器映像介紹

自從 Windows 核心版本 v14393 開始,也就是 Windows Server 2016 LTSC 與 Windows 10 年度更新版,正式開始支援 Windows 容器,這意謂著企業可以開始將傳統 Windows 應用程式正式容器化,透過容器化技術隔離應用程式,最大的優勢,就是容器技術會讓應用程式不會再遇到部署環境變更導致的任何問題。不過 Windows 核心版本不斷更新,也開始出現了相容問題,本篇文章將說明各種容器相容性的解決方案。

... 繼續閱讀 ...

如何修復 Docker Desktop for Windows 各種奇怪的網路問題

Windows Container 的網路有時候會遇到一些奇怪的現象,尤其是在我這台筆電,因為實在安裝過太多版本,作業系統也升級好幾次,有時候為了演講也要調整本機網路設定,所以設定很亂也應該是正常的。這幾天我就發現升級到 Windows 10 版本 1903 之後,網路功能出了一點狀況,這次撰文的過程也徹底將 docker networking 做了深入的研究與理解,收穫頗豐!

... 繼續閱讀 ...

使用 Azure CLI 管理 Azure DevOps Services 服務

Azure DevOps Services 提供相當完整的 CLI 命令列介面支援,早期你可以使用 VSTS CLI 來操作 Azure DevOps Services 與 Team Foundation Server (TFS),但未來你可能要改用 Azure CLI 並安裝 Azure DevOps extension 來管理 Azure DevOps 上的各種資源。本篇文章將介紹新版 Azure CLI with Azure DevOps extension 的相關用法。

... 繼續閱讀 ...

認識 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 的型別檢查提示。

... 繼續閱讀 ...

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

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

... 繼續閱讀 ...