星期二, 2月 28, 2023

[C#] Tuple

紀錄 Tuple 實務上常使用重點,Tuple 版本
  • C# 4.0 推出 Tuple 為 reference type
  • C# 7.0 推出 ValueTuple 為 value type
C# 4.0 Tuple 為人詬病在於名稱為 item1、item2,沒有辦法賦予有意義名稱,以往使用時為了方便辨識每個真正的意思,會在備註上說明,C# 7.0 ValueTuple 推出後解決名稱問題,並廣泛應用在 method 回傳多值情況
/// <summary>
/// Tuple 回傳值範例
/// item1:姓名
/// item2:年齡
/// item3:生日
/// </summary>
public Tuple<string, int, DateTime> TupleReturn()
{
    return Tuple.Create("張三", 10, new DateTime(2013, 2, 28));
}
宣告並指定名稱
/***** C# 4.0 Tuple *****/
// 使用 new 建立
Tuple<string, int, DateTime> person1 = new Tuple<string, int, DateTime>("張三", 10, new DateTime(2013, 2, 28));

// 使用內建靜態方法建立 
var perosn2 = Tuple.Create("張三", 10, new DateTime(2013, 2, 28));

/***** C# 7.0 ValueTuple *****/
// 方法一
(string name, int age, DateTime birthday) personWithName1 = ("張三", 10, new DateTime(2013, 2, 28));

// 方法二
var personWithName2 = (name: "張三", age: 10, birthday: new DateTime(2013, 2, 28));
回傳多值
// 傳統使用 out 回傳多值
public void ReturnMultiValue(out string name, out int age, out DateTime birthday)
{
    name = "張三";
    age = 10;
    birthday = new DateTime(2013, 2, 28);
}

// 使用 ValueTuple 回傳多值
public (string name , int age , DateTime birthday) ReturnMultiValueByValueTuple()
{
    return ("張三", 10, new DateTime(2013, 2, 28));
}

星期二, 2月 21, 2023

[Shopify] 啟用第三方貨運業者計算運費

在官方文章-啟用第三方貨運業者計算運費 內有該段文字說明
To activate the third-party carrier-calculated shipping, your store needs to be on the Advanced Shopify or Plus plan. If you're on the Shopify plan, then you can add this feature for a monthly fee or switch from monthly to yearly billing. For more information, contact Shopify Support.
Basic Plan 是無法使用,並要寫信去 Shopify Sppport 申請啟用

第三方貨運業者計算運費是否啟用,可以在 [運送和配送] => [貨運業者帳號] 內查詢到,下圖為未啟用前畫面

[Shopify] 啟用第三方貨運業者計算運費-1

Shopify Support 申請時會需要選擇主題,路徑為訂單管理 (Order management) => 設定運送資訊 (Setting up shipping) => 啟用第三方貨運業者計算運費 (Activating third-party carrier-calculated shipping)

[Shopify] 啟用第三方貨運業者計算運費-2

另外建議使用英文版 Shopify Support,才會有 Chat with us 選項 (官方建議),中文只會有留言 (Leave a messge) 選項,事後才發現有這差異

[Shopify] 啟用第三方貨運業者計算運費-3

第三方貨運業者計算運費啟用後畫面

[Shopify] 啟用第三方貨運業者計算運費-4


最後要特別注意,萬一有重新挑選 Plan 的話,要注意是否需要重新啟用,我申請完後手殘又去按一次年繳 Shopify Plan,發現又變成未啟用狀態

星期六, 2月 18, 2023

[Gandi.net] 轉址服務

透過 Gandi.net 官方文章
來實作轉址服務,目標是把 https:\\fb.example.com 轉到 https://www.facebook.com/example 去,以下就實作重點流水帳紀錄一下

Gandi LiveDNS
為了確保網頁轉址成功,您的域名必須使用 Gandi LiveDNS 名稱伺服器。
初次接觸想說 LiveDNS 是甚麼,後來發現把 ns 放在 Gandi 上就是,因為是故意把網域從 Hinet 上移轉過來,所以 ns 還是掛在 hinet 上 ,設定轉址過程中有提醒是否切換,雖然非一定要的設定,但還是從善如流囉

HTTP 與 HTTPS 轉址
如果您建立的是 HTTPS 的轉址,系統會自動建立一個免費的 SSL 憑證,請記得點擊憑證確認信中的驗證連結以啟用憑證
HTTPS 必須搭配憑證使用,重點是要記的去收 mail 啟用憑證

[Gandi.net] 網址服務-4

在 [SSL 憑證] 內就可以找到該憑證,如下圖

[Gandi.net] 網址服務-1

另外文件上有該貼心提醒
當您建立新的網頁轉址時,建議您先設定 HTTP 轉址,並確認轉址正常運作,接著,再將轉址設定為 HTTPS 或 HTTP 與 HTTPS 同時轉址;這個設定方式可以幫助您在開始使用 SSL 憑證前偵錯,例如當您遇到轉址問題時,能夠區分是 SSL 造成的問題或是單純的轉址設定問題。
轉址設定要多久才會生效?

這對剛接觸的小白來說,真的要特別紀錄,初次接觸大概花 2 hr 把轉址設定起來,等待設定生效時真的很難熬

轉址設定步驟

基本上沒有難度

星期三, 2月 15, 2023

[Shopify] FAVICON

FAVICON 就是瀏覽器分頁左方圖示,詳見下圖

[Shopify] FAVICON-1

佈景主題 => 自訂 => 佈景主題設定內就可以看見 FAVICON 選項

[Shopify] FAVICON-2

星期二, 2月 14, 2023

[SQL] 警示應用 - 連線偵測

研討會上聽到的管理手法來實作練習,處理情境為當連線數超過指定數字時會發出 mail 通知

建立 Alert 並指定使用 [SQL Server 效能條件警示],相關設定值
  • 物件:General Statistics
  • 計數器:User Connection
  • 發出警示的時機為計數器達:筆記方便只設定高於 10 就觸發,實務上應該要先監測 product 環境上正常連線數範圍,再加上一個緩衝數量來監測

[SQL] 警示應用 - 連線偵測-1

設定通知操作員,使用 mail 發出通知信,相關設定請參考 Database Mail 相關文章

[SQL] 警示應用 - 連線偵測-2

設定回應之延遲,避免觸發太頻繁,該筆記是設定 1 分鐘

[SQL] 警示應用 - 連線偵測-3

因為只設定超過 10 條連線就觸發 alert,基本上查詢視窗多開幾個就會超過 10 並觸發 alert 才是

星期日, 2月 12, 2023

[SQL] Database Mail 搭配 Gmail 發信 - 應用程式密碼

[SQL] Database Mail 搭配 Gmail 發信 內有提到 20220530 Google 安全性變更,導致 Database Mail 要透過 gmail 發信,gmail 必須開啟二階段驗證並使用應用程式密碼,該篇記錄取得應用程式密碼流程

[SQL] Database Mail 搭配 Gmail 發信-4

Google 帳號 => 安全性 => 應用程式密碼   

[SQL] Database Mail 搭配 Gmail 發信 - 應用程式密碼-1

應用程式密碼 => 選取應用程式 - 其他(自訂名稱) 並輸入自訂名稱 

[SQL] Database Mail 搭配 Gmail 發信 - 應用程式密碼-2

取得應用程式密碼

[SQL] Database Mail 搭配 Gmail 發信 - 應用程式密碼-3

至 Database Mail 設定檔內去進行更新,這樣就可以透過 gmail 發信

[SQL] Database Mail 搭配 Gmail 發信 - 應用程式密碼-4

星期六, 2月 11, 2023

[Shopify] 行銷選項

購物流程走到須知時,有一個選項 - [以電子郵件傳送最新消息和優惠活動給我],如下圖

[Shopify] 行銷選項-1


該選項可以在 [設定] => [結帳功能和帳戶] => [行銷選項],把電子郵件勾選掉,就不會出現

[Shopify] 行銷選項-2