[小菜一碟] 使用 C# 將民國日期的字串轉換成西元日期

四年一次會出現的不是只有總統大選,還有 2 月 29 日的問題,程式如果寫得不夠久大概也不會遇到,像今年就有可能會收到像是「113/02/29」、「113年2月29日」這樣的日期字串,在 C# 中如果直接先轉成西元日期的 113/02/29,再加上 1911 年,像這樣:

DateTime.ParseExact("113/02/29", "yyy/MM/dd", null).AddYears(1911);

那我們的程式應該已經爆了,因為西元 113 年沒有 2 月 29 日,關於閏年的問題,在 C# 我們有更優雅的做法。

...繼續閱讀 »

[小菜一碟] Microsoft SQL Server 2017 所有支援的繁體中文定序清單

每每要在 Azure SQL Database 建立資料庫,設定定序這一關一定都會卡住,我必須用鍵盤輸入定序的完整名稱,可是完整的名稱有幾個人能記得住?而它那個尋找定序的功能又不太好用,再加上官方又沒有 SQL Server 所有支援的定序資訊,所幸我就來把跟繁體中文相關的定序放到部落格上,以後要查就有。

...繼續閱讀 »

[桌邊服務] 我翻譯了一本書「Pragmatic TDD:以 DDD 寫出鬆散耦合、文件化和高品質的程式碼」

去年(2022)年底自告奮勇向博碩文化報名了翻譯勇者,在此之前我已經知道翻譯是件吃力不討好的工作,但我還是跳坑了,僅僅是覺得我應該能為台灣正體中文的翻譯書籍做出那麼一點點貢獻,於是選了一本在技術領域上我還不算陌生的 Pragmatic Test-Driven Development in C# and .NET

...繼續閱讀 »

[小菜一碟] 使用 PayPal 付款前千千萬萬一定要比較匯率

PayPal 是世界知名的第三方支付服務商,過去有一陣子有提供「台灣國內」的交易服務,後來因台灣法規的關係撤出台灣市場,不過如果是國外的交易我還是會用它,避免直接輸入信用卡號付款,降低被盜刷的風險,可是 PayPal 提供的匯率不是很好,付款的時候又預設帶它自己提供的匯率,一不注意就會多付錢,所以就來跟各位朋友分享一下,用 PayPal 付款的時候可以在哪裡選擇對我們比較有利的匯率?

...繼續閱讀 »

[料理佳餚] 使用 SQL Data Sync Agent 同步 Azure SQL Database 到地端的資料庫

先前有寫過一篇文章 - 如何匯出/匯入 Azure SQL Database 的資料庫?,透過這種方式,我們可以將 Azure SQL Database 資料庫的資料還原到地端,除此之外還有其他的方式可以將雲端資料庫的資料弄一份到地端,此篇文章要來介紹另一種方式是使用 SQL Data Sync Agent 來同步資料。

...繼續閱讀 »

[小菜一碟] 如何在 SQL Server Management Studio(SSMS)不撰寫 SQL 指令碼刪除所有資料表?

有時候我們在測試環境想刪除所有的資料表,但不想要重建資料庫,因為 SSMS 的物件總管無法多選資料表的關係,所以我都是用寫 SQL 指令碼的方式來做這一件事情,直到我無意中翻到了 StackOverflow 的這篇貼文才知道不用寫 SQL 指令碼也能做得到。

...繼續閱讀 »

[料理佳餚] 使用 window.history 來實作儲存及還原瀏覽器的捲軸位置

網頁瀏覽器都有一個功能,它會幫我們記住目前頁面的捲軸位置,在我們重新整理或是回到上一頁、前往下一頁之後,捲軸會還原到原本的位置,可是如果我們的網頁 HTML 元件是在前端產生的,因為畫面上 HTML 元件的渲染時機不定,那麼瀏覽器在還原捲軸位置的時候,就會有不穩定的情況,不是無效不然就是位置不對,這個問題我們透過 window.history 就能輕鬆解決,我們來看一下怎麼做?

...繼續閱讀 »

[小菜一碟] 手動為 Windows Form 應用程式加入組態設定轉換(Configuration Transform)

有開發過 ASP.NET 網頁應用程式的朋友,應該對 Web.ConfigWeb.Debug.ConfigWeb.Release.Config 這三個設定檔不陌生,在建置專案的時候,建置程序會依據組態(Debug|Release)進行設定轉換,產出專屬於該組態的 Web.Config,如果換作是 Windows Form 應用程式的 App.Config 的話,該怎麼做?

...繼續閱讀 »

[小菜一碟] 在 CentOS 7 更新 ASP.NET Core Runtime

.NET Core 現在更新的速度大概是 1 個月就 1 個修訂版本(build),這種更新速度算是相當快的,這就變成說原本年初應用程式上線第一版的時候,ASP.NET Core 的 Runtime 是 3.1.18,到了年中要上第二版的時候,ASP.NET Core Runtime 可能就更新到 3.1.24 了,所以更新 .NET Runtime 的頻率會比以前更新 .NET Framework 的時候來得高,本篇文章就針對在 CentOS 7 更新 ASP.NET Core Runtime 做個記錄,它也適用於更新 .NET Runtime 及 .NET Desktop Runtime。

...繼續閱讀 »