早期 Angular CLI 建立的專案都有內建 TSLint 與 codelyzer,但從 Angular CLI v11 開始建議大家開始轉移到 Angular ESLint,直到 Angular CLI v12 直接拔除所有 Linter 設定。本篇文章我將介紹如何從現有 TSLint 的 Angular 專案升級到改用 Angular ESLint 進行撰寫風格檢查,以及從完全沒有 ESLint 的 Angular 專案如何加入 ESLint 的完整流程。
... 繼續閱讀 ...
我一年大概都會幫幾家企業導入 Azure DevOps Server 平台,最近幫客戶導入的過程遇到了一個難題。一個方案檔中有 9 個專案,其中有 4 個 .NET Framework 4.7.2 類別庫專案、1 個 .NET Framework 4.7.2 的 ASP.NET Web Forms 專案、2 個 .NET Core 2.1 類別庫專案、1 個 .NET Standard 2.0 專案、2 個 .NET Core 2.1 類別庫專案、1 個 .NET Core 2.1 的 ASP.NET Core 專案。很少看到一個案子用這麼混搭的技術,而這個案子要做 CI/CD 確實也遇到了問題。這篇文章我將說明問題與解決方法!
... 繼續閱讀 ...
我們在團隊中開發 Angular 應用程式,經常需要同步每個成員的程式碼格式,與其訂定 Coding Style (代碼風格),倒不如直接用工具強制所有成員用一致的風格進行程式碼排版。本篇文章我將示範用 husky 搭配 prettier 來設定 Git 的 pre-commit
hook,讓每個人在 git commit
之前就自動將變更的程式碼進行排版。
... 繼續閱讀 ...
雖然 Azure Pipelines 提供的 Microsoft-hosted agents 大多已經內建了 Adopt OpenJDK 8.0/11.0/13.0 版本可供選擇,但是我們最近有個案子,客戶指定要用 IBM Java SDK 8.0 為主要的 JDK 版本,所以就需要額外下載與設定才能使用。本篇文章將說明完整的設定方法。
... 繼續閱讀 ...
最近在使用 AzCopy 的時候,發現怎麼跟以前差這麼多,這才發現原來最近出現了大改版,命令列的參數都跟以往不一樣了。這個新版改變蠻大的,我覺得對一個用過舊版的人來說,改用新版的第一印象真的不太好,研究的過程中發現了許多地雷,也發現許多優點,所以覺得有必要撰文分享一下心得。
... 繼續閱讀 ...
微軟有個 Adaptive Cards 語言,他可以讓你可以在不同的應用程式之間使用 JSON 宣告出一個跟平台框架無關的 UI 介面,所以針對一些輕量的 UI 介面,例如 Microsoft Teams, Bot Framework, Windows Timeline, Outlook Actionable Messages 之類的介面,就非常適合用 Adaptive Cards 來宣告 UI 介面。這篇文章我打算介紹 Adaptive Cards 如何用在 Microsoft Teams 的頻道中。
... 繼續閱讀 ...
我前陣子分享過 如何讓 Spring Boot 與 Maven 專案成功產製文件站台 文章,當時由於 Spring Boot 預設的 maven-site-plugin v3.3
版本有問題,導致無法成功產生 site 文件站台,因此我們必須明確定義 maven-site-plugin
版本定義才正常。這篇文章我打算分享如何在 site 文件站台上加入 Javadoc 產生的 API 文件,更加豐富我們專案的開發文件!
... 繼續閱讀 ...
之前寫過好幾篇跟 ELMAH 相關的文章,其中 如何在 ASP.NET MVC 4 套用 ELMAH 錯誤紀錄模組 這篇還沒有過時,但剛在看 如何在 ASP.NET Web API 套用 ELMAH 錯誤紀錄模組 這篇文章時發現,現在有更簡單的設定方法,所以特別撰文分享心得。
... 繼續閱讀 ...
我們在寫 ASP.NET (.NET Framework) 的時候,可能會需要利用非同步作業在背景執行一些工作,同時可能也需要偶爾取用 HttpContext
相關資訊。事實上當我們在 ASP.NET (.NET Framework) 使用 await
等待一個 Task 時,會自動紀錄當下的 SynchronizationContext
,並在 Task 完成工作後,取得原始 執行緒 (Thread) 中的資訊。但是如果我們也想在 Task 中取用原本執行緒的內容 (例如 HttpContext
資訊),我們就需要學會如何自行利用 SynchronizationContext
來取用原始執行緒中的內容。今天這篇文章,我將透過一段簡易的程式碼與一個實際應用情境,說明 SynchronizationContext
的運作方式,讓你知道如何正確的使用它。
... 繼續閱讀 ...