[小菜一碟] 偽造 ClaimsIdentity 為 Controller Action 做有身份識別的單元測試

我在之前的專案有使用過 ASP.NET Identity 來幫我做驗證的工作,ASP.NET Identity 的出現為驗證身份的方式帶來了更大的彈性,不過如何使用不是這道菜的重點,這道料理要展現的是,當我們為 Controller Action 做有身份識別的單元測試時,我們要如何偽造不同的身份來滿足測試情境?

...繼續閱讀 »

[料理佳餚] 在 Entity Framework 使用 Expression 黑魔法做動態條件查詢

使用 Entity Framework 大都會搭配 Lambda Expression 到資料庫去 Query 資料出來,但是通常我們只能在程式碼中先寫好查詢的條件,當遇到不同條件的時候就要再寫一組查詢的條件,那我們能不能寫一個查詢條件的產生器,可以依照我丟進去的條件參數,幫我產生不同組合的查詢條件?

...繼續閱讀 »

[料理佳餚] ASP.NET MVC 自訂 ModelBinder 將宣告為抽象型別的參數反序列化

如果我們是真的用物件導向在設計程式,那麼一定會用到抽象類的型別(Abstract Class、Interface),在現今當下的資料交換格式中,JSON 算是大家首選的格式,可是當我們的設計相依於抽象之後,序列化及反序列化就變成一個我們必須特別要處理的點,序列化倒是還好,反序列化就比較頭痛了。

...繼續閱讀 »

[創意料理] User Story 提槍上陣作戰

實行敏捷開發的團隊大部分都會用 User Story 來梳理使用者的需求,依照團隊的情況,每個團隊實行的方式也不盡相同,看起來差不多,可是細節卻有差。

User Story 看似簡單,操作起來卻有很多地方需要注意,一不小心很容易成為災難一場,不僅徒勞無功,又累死三軍,下面記錄我最近一次使用 User Story 的經驗,過程多少有一些操作得不是很好的地方,把它寫下來後,希望可以做為我未來調整及修正的方向。

...繼續閱讀 »

[料理佳餚] 十三太保橫練 Windows 跨足 CentOS - 第二式

在第一式 [料理佳餚] 十三太保橫練 Windows 跨足 CentOS - 第一式我們提到了 Linux 的主要發行版本及選擇、目錄結構和常用的主要目錄、作業系統安裝及要注意的步驟,緊接著我們要克服的是 Windows 跨足到 Linux 必須要面對的問題之一 -「可能沒有 GUI」,話說得保守是因為現在 Linux 的世界還是積極地在發展 GUI,但是現今仍是 Command Line 的天下,看到要下指令有些人頭就大了,請不要擔心,我們會用到的指令其實不多。

...繼續閱讀 »

[料理佳餚] 十三太保橫練 Windows 跨足 CentOS - 第一式

我們要解決問題只靠單一的技能會讓解決方案受到限制,Windows Server 友善的 GUI 畫面實在讓人愛不釋手,但偏偏一些好用的開源工具及服務,在 Windows Server 上的支援及資源是比較少的,當我在看到這篇文章 ASP.NET Core – 2300% More Requests Served Per Second 之後想一想,其實花點時間把 Linux 購入工具包有益無害。

...繼續閱讀 »

[料理佳餚] 用 SSL For Free 產生 SSL 憑證上傳給 Azure App Service 使用

Microsoft Azure App Service 可以允許我們自訂 SSL 憑證,雖然 Azure App Service 預設就有 SSL 加密,一開始提供的 http://xxx.azurewebsites.net URL 只要改用 https:// 一樣可以通,不過我們如果要自訂網域的話,SSL 憑證就要自己想辦法了。

我們可以向 GlobalSign、VeriSign、Entrust、…等提供 SSL 認證的業者購買,不過就在去年(2015 年)底有一間叫 Let’s Encrypt 的數位憑證認證機構推出了免費 SSL/TLS 憑證服務,有了這個服務之後我們就能免費申請憑證,有佛心來著的大神就利用 Let’s Encrypt 推出了 SSL For Free 的線上工具,讓我們直接從網路上取得 SSL 憑證,個人覺得整個取得 SSL 憑證的過程還滿順的,沒什麼障礙。

...繼續閱讀 »