現在越來越多環境都跑在 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 的另一種常見情境。
... 繼續閱讀 ...
最近熱愛 low-code
或 no-code
的解決方案,簡單拖拉幾個設定,或是複製之前寫好的 JSON,就可以快速完成一個日常的自動化工作,減少越來越多的人工操作,重點是幾乎不用花錢,也不用花心思在部署上。今天我要來整理幾個 Azure Logic Apps 與 Power Automate 會用到的日期函數,因為我的自動化工作大多都跟日期時間有點關係。
... 繼續閱讀 ...
我們有個網站部署在 Azure Function App 之中,不過該 Function App 有設定 Private Link 封閉網路,所以網站部署不能從外網連入,必須從私有 VNet 中的 VM 進行部署。本篇文章我將分享從私有網路環境部署站台到 Function App 的步驟說明。
... 繼續閱讀 ...
今天同事提到一個問題,說他看到客戶用 JavaScript 的 <
或 >
來比對日期字串,但我們要將這份邏輯移到後端 Java 應用程式中,由於 Java 沒看到類似的語法,雖然知道有 Java 字串有個 compareTo()
方法可用,但不知道差異在哪裡,也深怕有個未知的地雷會踩到。因為這個需求,我今天寫了 4 種不同程式語言的字串比對差異比較,看的懂程式碼的話,未來應該就知道這幾種語言字串比對的差異在哪裡了。
... 繼續閱讀 ...
在 Azure DevOps Service 上面的 Wiki 有兩種類型,一種是隨著專案一起建立的 Project Wiki 文件庫,另一種是隨著 Git Repo 特定分支的 Code Wiki 文件庫。然而 Project Wiki 一個專案只能有一個,而且建立之後預設是無法刪除的,無論透過 Web UI 或是 Azure CLI 都沒辦法。今天這篇文章我要來說明如何透過 Azure DevOps REST API 來刪除專案的 Project Wiki 文件庫。
... 繼續閱讀 ...
我今天遇到一個緊急事件,我有台 Linux 主機意外的被一個 Bug 吃光所有磁碟空間,導致服務中斷。我原本想將檔案搬移到另一個地方,但是這個資料夾檔案特別多,不但檔案多,資料夾也多,我先用 mv
搬到另一個地方,空出足夠的空間後,先終止搬移作業,打算先修復服務,然後就無法搬了!💥
... 繼續閱讀 ...
我們最近有個專案需求特別複雜,由於是個已經持續維護 10 年的系統要改版,很多商業邏輯已經不可考,只能從程式碼中找尋蛛絲馬跡。不過,有些資料的欄位來自於程式碼,但更多來自於一組極其複雜的動態資料表設計。我們除了從現有的頁面上進行新系統設計外,有時候還會意外的多出幾個莫名的欄位,因此對於資料模型類別的規劃變的異常困難。本篇文章我將分享一種罕見的 Json.NET 資料序列化技巧,幫助你可以做到動態的 JSON 資料回應格式,同時又能保有強型別的設計。
... 繼續閱讀 ...