在命令列環境下執行程式,這個世界普遍有個共識,那就是應用程式的結束狀態碼(Exit Code)為 0
時,就會被視為是「沒有錯誤」的結果。任何非 0 的結束狀態碼,都代表有一定程度的錯誤發生。因此在 Azure Pipelines 或任何其他 CI 平台上,預設遇到應用程式回傳 Non-Zero 的結束狀態碼,就會自動報錯。誰知道 ROBOCOPY 原來複製成功,也會回傳非 0
的結束狀態碼!
... 繼續閱讀 ...
每次要開始寫一個 Node.js 搭配 TypeScript 的專案,都沒有一個能讓自己滿意的專案範本,不然就是網路上經常找到不完整的參考文件。這篇文章我打算建立一個 Node.js 搭配 TypeScript 進行開發的專案範本,完整交代整個建置過程,並用一個簡單的例子說明開發與執行的注意事項。
... 繼續閱讀 ...
上次寫這個主題已經是 2009/2/8 的事情了,原來我已經用 ASP.NET MVC 寫了超過 12 年。時至今日 ASP.NET MVC 5 已經非常穩定,而且微軟還有團隊在維護這套框架,但不會增加新功能,只會修正社群回報的 Bug 而已。由於最近正在進行 ASP.NET MVC 5 開發實戰課程,我也非常建議學員可以下載原始碼回來研究,所以這篇文章我將說明下載原始碼編譯的幾個重要步驟。
... 繼續閱讀 ...
Azure SQL Database 的 Elastic pools (彈性集區) 對於我們這種需要大量測試用資料庫,但又大多都是低用量的用戶使用,可以節省大量的雲端費用。不過 Azure SQL Database 還是有幾個很雷的地方,一不小心就會燒掉很多錢。
... 繼續閱讀 ...
由於 Azure Logic App 的 HTTP Trigger 不支援 Transfer-Encoding: chunked
的 HTTP 要求,而 HttpClient 的 PostAsJsonAsync 擴充方法只支援透過 Transfer-Encoding: chunked
發出 HTTP 要求,這個問題是我嘗試了將近 30 分鐘才發現的魔鬼細節,真的是雷到一整個無以復加。今天這篇文章,我要來說明如何讓 HttpClient 的 PostAsJsonAsync 擴充方法支援 chunked 資料傳輸,以及 Transfer-Encoding: chunked
這個 HTTP 標頭到底是什麼。
... 繼續閱讀 ...
最近公司正在急速的成長,經常需要新增 Azure DevOps Services 使用者帳號並設定專案權限,我今天特別將這些步驟全部寫成指令碼,之後直接複製貼上就可以單鍵完成設定。
... 繼續閱讀 ...
現在越來越多環境都跑在 Docker 環境下,但不知道你是否有遇過想要停止容器,但執行 docker stop
之後卻無法立即停止的狀況?這個問題會牽扯到我在 當 .NET Core 執行在 Linux 或 Docker 容器中如何優雅的結束 文章中提到的 訊號(Signal) 是如何傳送到容器的程序。這篇文章我將更深入的探討這個問題,以及提供解決方法。
... 繼續閱讀 ...
我們最近幾年幾乎所有案子都導入 CI/CD,把所有能自動化的工作全部都指令化,所以只要公司需要開發時期用的測試機,或是客戶需要安裝主機,通常都可以在 10 分鐘內搞定所有環境與設定。今天這篇文章我要來分享幾個常用的 7-Zip 命令與參數,因為 7-Zip 在第一次使用 7z
命令的時候,他的使用方式比較沒那麼直覺,所以寫成文章供未來查表參考之用。
... 繼續閱讀 ...
有時候我們需要自訂 DSL (Domain Specific Language) 領域特定語言,就需要自訂格式、語法,並自製編譯器去解析這份語言。目前最為普遍的作法大概就是 ANTLR 工具了。這個工具主要由 Java 開發而成,但可以自動產生 C# 程式碼,讓你用 C# 去解析這份語言,甚至可以用這份語言產生另一份語言,這也是 DSL 的另一種常見情境。
... 繼續閱讀 ...