Harry Chang's Blog

Harry會在這分享各種技術心得, 同時也會分享一些敏捷相關的想法與引導方法!

[Azure]Dotnet Core 3 Log With Application Insights

前言 Application Insights 是微軟推出已久的監控服務,提供強大的分析工具協助診斷系統問題, 只許要在應用程式安裝SDK,簡單設定後即可使用。 先前大多碰到的情境都是將log寫到實體檔案,再透過filebeat 將log 送進elasticsearch, 最後透過Kibana視覺化資料,這種做法有以下兩個缺點。 額外Resource成本 需要額外設計lo...

[.Net Core] .Net Core 2.x Console Application 變成Windows Service!

前言 先前在撰寫Windows背景服務的時候, 通常會透過ServiceBase來讓Service Control Manager(SCM)來控制服務的停啟。 但在.Net Core 3.0之前,並沒有ServiceBase可以直接使用,.Net Core 2.x 該怎麼做呢? 透過一些資料發現可以透過IHostedService讓.Net Core Console Applicat...

[Docker] 如何在Windows Server上安裝Docker

前言 最近發現Windows Server上的Docker非常不穩,常常需要重新啟動Docker服務才會正常, 仔細一查才發現,原來我們的Docker裝的是Desktop版本,所以只要User Timeout被登出後, Docker 也會一起被關閉,決定把Docker 換成EE版本的,照著官方說明安裝一直無法順利安裝, 紀錄一下如何將Docker EE安裝到Windows Serve...

團隊共創法-隨手小記

前言 這篇文章是我上完課後,快速的隨手小記方便自己回憶, 會在找時間慢慢整理,強烈不建議沒上過課的人看這篇文章。 什麼是團隊共創法? 團隊共創法,個人認為最重要的核心是「創」這個字, 藉由一系列的活動,找出團隊共同創造的共識,會特別提創這個字, 因為透過這個活動,很有可能激發出不一樣的想法,進一步創造了不同維度的共識。 內容介紹 - Context 內容介紹最大的目的...

ORID 焦點討論法

前言 去年在受Scrum Master的訓練時,課後Ouch說 「我們來用ORID來回顧一下今天的課程吧!」 , 聽完解釋後當下只覺得ORID是一個討論方法,實際上參與過幾次討論後,發現其實背後有很多技巧與理念在其中, 剛好今年ICA開了這門訓練,自己參與後希望可以透過這篇文章加深印象,也希望大家對這個工具有更進一步的認識。 當然這篇文這因為是我個人發散思考並收斂後的結果,歡迎大家一...

[EasyNetQ]如何透過EasyNetQ API 來操作RabbitMQ

前言 部門近期決定導入RabbitMQ取代Redis Pub/Sub,主要有以下缺點才促使我們更換 有掉訊息的淺在風險(致命傷) 監控不易 訊息無法持久化 剛好RabbitMQ可以解決上述問題,與部門成員討論後決定將這個技術導入到現有專案來, 本篇文章將透過EasyNetQ操作RabbitMQ。 介紹 網路上很多關於RabbitMQ的介紹,這邊分別介紹幾個訊息...

[C#] Null 條件運算子(Null Conditional Operators)

今天在同仁的Code裡面看到陌生的運算子,如下: 1 2 3 4 5 private string GetCustomerDetail(Customer customer) { var id = customer?.Id ?? "123456";        //ToDo.... } 先不管這個Method的用處,看內容會發現「...

[Asp.Net] Connection Pooling

最近系統時不時就出現「已超過連接逾時的設定。在取得集區連接之前超過逾時等待的時間,可能的原因為所有的共用連接已在使用中,並已達共用集區大小的最大值。」的錯誤訊息。 在協助解決時,發現有關於Connection Pooling觀念不是了解得很透徹,於是想藉由這篇詳述一下Connection Pooling的運作! 一般來說,我們再透過SqlConnection 開啟一個連接閘道的時候,...

[Asp.Net MVC] Razor Engine

Razor 是MVC 裡面很重要的View Engine,我們在MVC裡面可以很直覺的Return「.cshtml」或是「.vbhtml」的檢視畫面, 但若不在MVC架構上時,該如何Render Razor View 呢? RazorEngine 可以幫助我們在非MVC架構上,又需要Render Razor View 時, 可以幫助我們Compile Razor View 轉成標準...

[Web API 2] 客製化ModelBinder

產品API在模型細節(Model Binding)上有特別的需求,因此必須自行客製化模型細節的方式, 網路上有非常多資源在講述如何客製化,個人比較推薦這篇「Parameter Binding in ASP.NET Web API​」, 詳細作法這邊不再重述,今天要談的是在實作ModelBinder 碰到的問題。 首先我依照範例,實作了一模一樣的類別如下, 1 2 3 4 5 6 7...

icon_wechat.png