[小菜一碟] 如何在 IIS 上設定 ASP.NET Core 網頁應用程式的 Environment Variable(環境變數)

有考量到資訊安全的程式設計專案,通常都會要求機敏資訊,例如:連線字串、API 金鑰等等,不得直接簽入版控當中,等到應用程式要部署的時候,另外在正式環境中進行設定,這篇文章就來介紹如何在 IIS 上透過環境變數來覆寫 ASP.NET Core 網頁應用程式的組態設定。

...繼續閱讀 »

[食譜好菜] 使用 Cloudflare Tunnel 來取代 ngrok

講到要讓我們正在開發的網頁應用程式,臨時生一個網址來對外服務,就不能不提到 ngrok 這個服務,而且它有免費版,但是免費版斷線重連會重新產生新的網址,即使付 $10 鎂/月(年繳 $8 鎂/月),也只能固定一組網址。

如果不嫌免費版 ngrok 一直換網址麻煩,那 ngrok 就能滿足我們,但如果想要有固定的網址,可是一個月 $10 鎂又付不太下去,那麼 Cloudflare Tunnel 是可以考慮的服務。

...繼續閱讀 »

[食譜好菜] 設定 Azure 虛擬機器(VM)自動關機與自動開機

在雲端上取用資源是非常方便,動動手指我們就能輕輕鬆鬆拿到我們想要的軟硬體資源,不過,相對的,當我們拿到資源的那一刻就開始算錢,以虛擬機器為例,即使在大半夜沒人用,只要開著,錢就一直在算,這篇文章就來記錄 Azure 虛擬機器(VM)如何設定自動關機與自動開機。

...繼續閱讀 »

[廚餘回收] 使用 Azure.Storage.Blobs 從 URL 複製 Blob 時,收到 256MB 大小限制的錯誤。

我們偶爾會有從 URL 複製檔案的需求,這一天,程式在複製一個檔案的時候,收到了一個錯誤訊息:

The source request body for synchronous copy is too large and exceeds the maximum permissible limit (256MB).

錯誤訊息很明白,說程式在進行同步複製的時候,Request Body 超過了 256MB 的限制,我們來看看要怎麼解決這個問題?

...繼續閱讀 »

[小菜一碟] 使用 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

...繼續閱讀 »