2021年12月23日 星期四

更換AD 密碼造成SourceTree 無法正常使用

這幾天例行更換了AD 密碼,就在更換了密碼後,原本在 SourceTree 上的 Repository

就都無法正常 Pull,然後一直跳 Git Credential Manager for Windows ,但輸入原本帳

密,但不知道甚麼原因認證沒過,所以一直重複跳出來,這問題有點神祕,需要備份

紀錄一下


2021年11月24日 星期三

使用 Newman 執行 Postman Collections

在Postman 的環境下,可以將相關類型的請求(Requst)放在一個 Collection 下,而 Collection 有支

援 Run 的指令,可以方便一次性的執行而不用手動逐項執行;甚至當Colleciton 底下還有資料夾

做分類,也可以針對該資料夾執行 Run 的動作,同樣會自動執行裡面的 Requests,達到更有效

率確認API 正常運作。


2021年10月9日 星期六

單元測試 - 針對例外錯誤

對於系統可能發生例外的地方,一定都會採取必要措施,並且拋出美化後的訊息給用戶,如何

驗收我們要的「例外」,肯定是需要寫個測試來玩玩,這邊使用 NUnit 搭配 FluentAssertions

2021年9月18日 星期六

第三方套件例外錯誤攔截策略

通常我們在某段成程式加入錯誤的攔截設計(try-catch),是因為覺得這邊可能發生預期的錯誤,

也許是網路或資料庫連結失敗,所以,為了避免發生錯誤時造成使用者體驗不好,通常會紀錄

該錯誤,但會回應使用者較無害的資訊,例如:系統忙碌中,請稍後再試


若是引用第三方套件的API,基本操作上能怎麼處理?

2021年8月8日 星期日

Postman 的 Pre-request 與 Tests

 

Postman 有兩個好物 Pre-request 與 Tests,提供我們在送出Request 前與收到 Response 後,

可以設定參數(前)或驗証回傳值(後)是否滿足期待,亦或是取 token 及測試案例設計都很方便


Postman 的變數設定

使用 Postman 可以很方便的測試 WebApi,一些參數亦可依照待測目標不同,透過類似

config 設定檔的方式,有設定管理介面,輕鬆自在的切換到各環境之間...


2021年7月11日 星期日

透過 Postman Mock Servers 建立 API Server

Postman 這套工具使用率滿高的,當對方API尚未完成,或是需先提供API給對方測試,

使用mock server頂著用,會是一個不錯的選擇,由於設定方式有幾種選擇,紀錄一下。

2021年6月27日 星期日

ASP.NET Core WebApi 分版

之前有使用過MapRoute(參考)分版,效果也不錯,來到.net core 世界,想說來試試看其他

方法,於是就產生了這篇文章。過程中,體驗也是不錯。


2021年6月21日 星期一

ASP.NET WebApi ModelState.IsValid 無法發揮作用時的補救方法

有幸遇到此特殊情境,很特別的經驗,一定要動手紀錄一下,了解之後也不是不能解,

只是,為何要這樣設計呢?也許當時前人評估後這樣效益比較高...,前人的智慧,

博大精深..,凡人無法擋...,祖產...


2021年6月20日 星期日

SQL Server UNION with different column names

最近幫忙調整資料庫,遇到了一個沒看過的寫法,心中產生疑問,自己實務上確實沒這樣寫過

,所以當下以為應該會有問題,但是,其實這段語法已經運作好幾年了,驚訝之餘,也紀錄自

己的孤陋寡聞。當 SQL UNION 與 UNION ALL 欄位名稱不同時,後者會追隨前者的欄位名稱


2021年6月6日 星期日

設定瀏覽器 Extensions Shortcuts

最近調整工作手感,而瀏覽器是很常使用的工具,也會安裝許多套件,除了收納與精簡

相關套件之外,也希望增加使用這些套件的效率,故想到了能不能透過設定快捷鍵的方

式,讓這些套件快速被使用,於是留下這篇文章


2021年6月2日 星期三

SQL Server Sequence

若系統有個功能取號機制,希望相依的幾個功能都依據這個順序處理相關事務,

有時我們會自己寫順序表,然後搭配一些程式邏輯來實現,這邊簡單紀錄一下。


2021年5月15日 星期六

支援 Object 與 Dictionary 互轉

有時候就會有這種需求,Thirty Party 詭異的 Lib 設計,Method 不支援泛型,

也僅能傳入 Dictionary,故需要將 Object 轉成 Dictionary 後傳入...


2021年5月9日 星期日

.NET Core 針對 Internal 類別進行單元測試

之前有在 .net framework 環境設定過,如何測試 internal 類別,使用上挺直覺得,

轉到.net core 環境其實也差不多,只有一個要查一下資料,這邊還是留下紀錄


2021年4月29日 星期四

驗證物件的 Properties 是否為 Null

一般這種需要確保屬性是否有值的動作,大都想到 MVC 有提供 ModelState.IsValid ,

快速且方便檢查Model Prop 上掛載的特性,如,是否可為Null 、長度... 等等;但若

無法在一開始就檢查,也許可以參考以下方式...


2021年4月20日 星期二

ASP.NET Core 3.1 注入 IHttpContextAccessor

一開始懷疑,為何 Controller 需要注入 IHttpContextAccessor 呢?因為原本

的 Controller 就已經可以透過 HttpContext 存取相關值來應用了,待到親手實

作後才發現,原來是因為 DI 走的極致, 不僅僅是 Controller ,而是其他如 

Service 也可能會需要透過 HttpContext 來做存取,如取得 Request、Response、

Session 等等的,以下動手紀錄一下


2021年4月19日 星期一

ASP.NET Core 3.1 注入 HttpClientFactory

需要介接第三方WebApi 時候,後端通常透過 WebClient 或 HttpClient 來達到目的,

由於  asp.net core 2.1 (.net framework 4.6 亦有)即推出了具有 Connection Pool 管理機制

HttpClientFactory,故這邊簡單說明如何使用。


2021年4月6日 星期二

ASP.NET Core 3.1 參考WCF

雖然使用了.net core ,但難免還是衰小會需要介接第三方服務,像是 wcf 或

 web service(你終究是要 .net core 的,為何不一開始就 .net core 呢?)?這邊,

嘗試介接相關服務,以及一些注意事項


2021年4月5日 星期一

ASP.NET Core 3.1 Filters:Global 與 Attribute 執行順序

前篇介紹了 Filter 掛載 Attribute 的方式, 知道 attribute 的方式同樣需要註冊

型別;而實際專案中確實有可能同時出現,全域的與獨立掛載的 Filter ,然而

兩者的執行順序又是如何呢?其實答案很明顯,手癢紀錄一下


ASP.NET Core 3.1 Filters :掛載 Attribute

之前有介紹到 asp.net core 如何使用 filters,那時是使用 Global 方式加入,這次

說明可掛載到方法上的加入方式,還是有一點點的地方需要注意。


ASP.NET Core 3.1 使用 AutoMapper

在 Web 的世界,大量的資料處理與交換是必須的,故對於資料的提供與轉換上

的所花費的工,當然是越少越好;情境上可能會是介接第三方 WebApi 以及回傳

對應的資料格式,要完成這些任務雖不難,但是瑣碎,邏輯管理上也挺繁雜的,

幸好 AutoMapper 可以協助減輕這類的工作。


2021年3月29日 星期一

.NET Core App 客製化 Configuration 來源

前陣子,對於設定檔(appsettings.json)在不同環境上,如何讀取到對應的檔案,

有了一些體會;這邊就來介紹,針對其他來源如何設計自己的 provider


2021年3月28日 星期日

.NET Core App 使用「環境變數」讀取對應 appsettings.json 檔案

之前文章有介紹過如何透過組態設定輸出對應的 appsettings.json 檔,

亦有支援透過「環境變數」來讀取設定檔的實作方式,提供參考。

.NET Core App 使用「組態管理員」讀取對應 appsettings.json 檔案

在 .NET Core 的世界,設定檔是透過 appsettings.json 檔案來完成,

這應該有點類似之前的組態設定檔,只是現在都是以 .json 格式呈現。

2021年3月22日 星期一

將同步方法調整為非同步

有時候,會需要將既有的同步的方法改成非同步,尤其在 .net core 的環境下,

非同步已成顯學,不支援非同步的函式就是不夠潮。


2021年3月21日 星期日

ASP.NET Core 3.1 封包壓縮

由於系統需要透過傳遞資料與使用者及相關服務運作,故會希望傳送效率及

品質越高越好。

ASP.NET Core 3.1 Middleware 幾種例外錯誤處理方式

在MVC 既有的流程中,已有 Exception Filter ,但僅能捕捉到 Action 與 Action Filter 發生的錯誤;

然而 asp.net core 加入了 middleware ,所以middleware 發生的例外錯誤,就交給了

Middleware ExceptionHandler。

ASP.NET Core 3.1 自訂 Middleware 類別

前面文章大概說明了甚麼是 Middleware,針對 pipeline 可加入相關元件,

進而進行相關邏輯運算...等,所以這篇就介紹如何自訂屬於自己的 Middleware 類別。

ASP.NET Core 3.1 新增 Middleware 的順序

在微軟官網有提供建議 Middleware 加入的順序,由於設定也需要一些細節,

就順手紀錄一下,避免煩心。

ASP.NET Core 3.1 認識 Middleware

前篇文章有提到 middleware ,這邊就來介紹一下(亦可參考官網)。 在前文中有提到

Http Request / Response 「Pipeline 」這個名詞。


ASP.NET Core 3.1 初探

這系列主要針對 asp.net 3.1 的使用經驗以及測試歷程紀錄下來,將之前概略的筆記

整理一下並產出文章,未來也方便自己查找(回想)。

2021年3月5日 星期五

解決 ReSharper 造成 jQuery Code Snippets 失效問題

好長一段時間沒寫前端了,這次需要調整的功能會需要調整 jQuery,因舊專案的

jQuery 是標配,一時還是需要最低限度的打字(誤...


2021年3月2日 星期二

鍵盤顯示工具Carnac 安裝筆記

Carnac 是一個鍵盤輸入顯示工具,在練習打字需要錄影檢視時蠻有幫助的;

這工具可以到這邊下載版本(Windows)。但因為我下載之後安裝一直有問題,


2021年2月25日 星期四

使用 EPPlus 讀取CSV 檔案

好一陣子沒用程式處理CSV 檔案了,之前處理資料大都是Excel,那時操作Excel 的套件使用 EPPlus手感與體驗上良好,

留下了深刻的印象,心中萌生若是也可以繼續使用EPPlus 操作那就了,於是就生出了這篇文章。

2021年2月1日 星期一

SQLServer 執行大量Insert時,遭遇「記憶體不足」的解決方法

今天準備好新增語法準備塞入資料時,出現「記憶體不足」的提示,上網找了一下,說明可能因為量有點大,造成SSMS剖析時就出現錯誤,需要使用sqlcmd 來執行。