Month: 2022-12

轉眼就要邁入 2023 了,年紀愈大感覺時間過得愈快,記得才剛過完年沒多久,怎麼一年又要過完了。(依據科學家研究,可能原因包含多巴胺減少、同時間長度佔總人生的比例變小、因見識增長及養成習慣,生活中新體驗變少... 等等) 身為一名還沒放棄學習新技術的老兵,在最後一天盤點這一年的學習軌跡及重要事件,為...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 (2022 年初訂下的目標,趁著最後三天,還是把它完成吧~) 區域方法 - 在方法裡可以寫方法。 static void Main() { int x = 10; PrintAndIncrementX(); ...

HttpClient 有個 BaseAddress 屬性,若設定妥當,GetAsync() 或 PostAsync() 時可只傳相對路徑,用起來蠻方便的。 但最近我踩到一個雷,當 BaseAddress 只有主機名稱不包含路徑(例如:http://www.host.net),HttpClient 對...

同事報案,某表單有個連絡電話欄位,Edge/Chrome 的自動填表功能會提示上回填的電話號碼,但使用者選擇帶入上次填寫電話,瀏覽器卻把另一個代理人欄位連帶改成上次填寫的姓名,使用者沒注意到,上傳了錯誤的內容。 我知道瀏覽器有自動填表的功能,最常遇到是在填馬拉松報名資料時但沒細究過,這次看來得花點時...

犯了 async/await 低級錯誤,鬼打牆近半小時,PO 文留念。 .NET 4.5/C# 5.0 開始引進 Asynchronous Function 概念及 async/await 保留字,非同步化函式漸漸成為 .NET 的主流寫法,以取代 WebClient/HttpWebRequest ...

馬拉松生涯邁入第十一年,這兩年被疫情攪和到一團亂,賽事延了又延,再不然直接取消。而去年三級警戒之後,明明跑量大減,我的左膝卻莫名中了一箭,六分速慢跑個十五公里沒問題,若拼遠貪快膝窩就會腫,宣告我的跑步巔峰已過,全馬 PB 就留在 2019 的 3:54:20 吧! 也因此,今年以來我對跑步的熱情已大...

這篇聊聊 ASP.NET Core 的整合測試。 假設我寫了一個沒啥營養的展示用 Minimal API,其中宣告 GuidService 類別並用 DI 註冊成 Singleton (延伸閱讀:不可不知的 ASP.NET Core 依賴注入),MapGet("/guid") 時...

檔案同步工具需要以黑名單方式排除特定路徑及檔案型別,這回我想要高級一點,學習 .gitignore 或 .csproj 的 Include 屬性,支援 Include="Images\**\*jpgs\*.*" 這種萬用字元彈性路徑樣式。(** 代表零到多層子目錄) 經過研究,這...

昨天看到董大偉老師耗資 1800 元進行人體實驗,驗證「綠燈能不能左轉?圓形或箭頭是關鍵」。(延伸閱讀:圓形綠燈到底可不可以左轉?) (看在老師踩雷分享的份上,大家可訂閱或抖內以表支持) 不意外地,討論這個議題一定會冒出兩種聲音: 連這個都不知道,駕照是雞腿換的? 我記得駕照沒有考這個呀! 基於...

這應該是這波 Reverse Proxy 評估的最後一篇,打鐵趁熱,把本次蒐集到的情資一次檢視完。 一樣是分享 HTTPS Nginx Docker 懶人安裝法時有讀者推薦,不沾手實現 HTTPS 的方便選擇 - Caddy Server。 閒扯淡:Caddy 這個命名真的不優,Google 查「C...

上回分享 HTTPS Nginx Docker 之懶人安裝法,許多讀者大推 Cloudflare 的免費 CDN 服務,網站開 HTTP 就好,由 Cloudflare Reverse Proxy 負責啟用 TLS 憑證對瀏覽器走 HTTPS,無腦搞定。 走這條路的先決條件是你有註冊專屬網域名稱(不...

試玩了 Cloudflare CDN 服務,我心目中 CDN 的運作原理是「在全球各區部署多台主機提供相同內容,查詢相同 Domain Name,DNS 依客戶端所在位置提供最近位置的主機 IP,達到分流及快速回應的效果」(註:這觀念並不正確),因此,若將網域名稱 my-server.com 交給 ...