推薦文章

[小菜一碟] 在 TortoiseGit 用 merge --squash 做部分合併(Partial Merge)

在使用 Git 做版本控制的過程當中,無論是個人開發,還是團隊開發,偶爾會面臨到我們另外開分支所開發的實驗性功能或除錯結果,需要合併回主線的時候,有很大的可能我們只會需要合併其中幾個檔案而已,git merge --squash xxx 可以協助我們完成這件事,不過我一直都是使用 TortoiseGit,我們就來看看 TortoiseGit 怎麼做 Squash Merge?

...繼續閱讀 »
on supershowwei

實做 API Management 使用外部授權驗證

  • 31

現在軟體開發使用 API 架構的設計越來越常見了,針對現有或遺留的舊有 API 可以夠過 Azure API Management 來管理,可以快速的加入驗證或是把 API 變成 Paas 服務,可以設計產品套組和不同訂閱,也提供使用者一個開發者介面,可以申請帳號和測試 API,這次針對沒有驗證的 API 來實做套用驗證。

...繼續閱讀 »
on anyun

[創意料理] 用 IL Code 來做一個簡易版本的 FastMember

最近 IL Code 寫得比較多,主要是在練習,目的是希望自己將來遇到效能議題的時候,還有招數可以施展,剛開始練習寫 IL Code 的時候,是先從存取一個 instance 的公開或私有的屬性及欄位開始,這讓我想到一個套件 - FastMember,作者已經至少有 2 年沒有更新了,既然會一點 IL Code,那我能不能弄一套屬於自己的 Chef.FastMember 呢?

...繼續閱讀 »
on supershowwei

[料理佳餚] 在執行時期(Runtime)憑空捏造一個型別(Type)

先前的文章有提到過「在執行時期憑空捏造一個組件」這件事,我是用在自己打造的 Library 之中,而做這件事的最主要目的是在執行時期產生一個類別,用來產生使用端類別的替身,或是用來做一些特殊的識別,我們就來看一下,要在執行時期產生一個類別,需要做哪些事情?

...繼續閱讀 »
on supershowwei

在 LINQPad 中取得 Azure AD Auth Token

  • 13

LINQPad 是我工作上很常使用的工具,可以很方便的連到資料庫並且快速撰寫 LINQ 語法查詢資料,或是想快速測試一些程式碼的時候可以很方便的使用,在 LINQPad 6.10 的更新裡面,提供了一個新的方法,可以方便我們登入 AAD 並且取的 Auth Token,如此一來就可以很方便的測試一些需要微軟 oAuth 驗證的 API,尤其是我工作上會很常需要測試 Azure API ,如果要重頭寫登入驗證那段是比較花時間,透過這個新的方法可以快速的取得 Token 來測試 API,本文就快速的介紹如何使用。

...繼續閱讀 »
on anyun

App Service 中使用 MySQL in App 和 phpMyAdmin

  • 84

微軟在 2016 年就發表了 App Service 提供了 MySQL In App 這個功能,雖然他很陽春,但是在某些情境下使用也是可以省下不少費用和時間,且還提供了 phpMyAdmin 這一套熱門的管理工具,因此我們也不用另外安裝來管理 MySQL,所以在時間和成本考量下,是可以考慮使用這個小功能的。

...繼續閱讀 »
on anyun

[料理佳餚] 用 C# 的 System.Reflection.Emit 撰寫 IL Code 將值指派給私有欄位(Private Field)

程式寫多了,我們多多少少會開發一些 Library 來輔助我們讓程式寫起來更方便一些,這些 Library 通常都獨立於專案之外,除了使用上的彈性之外,還有一個我們會關注的大概就是效能了,既然提到了效能,我們腦海中閃過的解決方案應該會有「撰寫 IL Code」這個選項,IL Code 雖然可讀性極差,但是如果我們有能力可以讀得懂,甚至使用 IL Code 撰寫程式的話,對我們在程式執行狀況的掌握,絕對有正向的提昇。

我就用 IL Code 撰寫一段將值指派給私有欄位的程式來當個起頭,之後如果還有遇到 IL Code 可以發揮的地方,我也會儘量整理成文章分享給大家。

...繼續閱讀 »
on supershowwei

在 App Service 使用 Reverse Proxy

  • 20

過去在 IIS 上面可以安裝 Microsoft Application Request Routing (ARR) 來實做 Reverse Proxy ,但是如果我們需要將程式上雲的話,也就是放到 Azure 的 App Service 的話,如果也想要實做的話,也是可以透過安裝擴充套件來方便啟用這樣的功能。

...繼續閱讀 »
on anyun

[創意料理] 突發奇想的「延遲依賴注入(Lazy Dependency Injection)」

最常見的依賴注入(Dependency Injection)方式,就是從建構式上面,將依賴的服務一一注入,但是實務上多多少少會有一部分的 Instances,在服務被釋放之前都沒有被用到,雖然一般來說,產生 Instance 的成本不大,不過我還是想試一下,能不能將依賴注入這件事移到執行的目標方法裡面,在方法裡面有用到的服務才注入,所以就有了「延遲依賴注入(Lazy Dependency Injection)」這個題目。

...繼續閱讀 »
on supershowwei

進修課程