Month: 2022-01

四年前在 YouTube 看到香港 8 歲小妹妹展示電子 DIY 豪華設備 - 「焊接小幫手」,很是羨慕,網路有成品販售但價格驚人。於是我買了車床用的萬向噴油管跟鱷魚夾,在撿到的木板挖洞再 3D 列印固定座,土砲了一組。 不過,萬向曲管有個大缺點。畢竟它是設計用來噴氣噴油的,講究管道密合,無法彎曲出...

先前展示過用 50 行 Program.cs 寫個 ASP.NET Core CORS 上傳服務,從讀者 Joker 留言我學到新名詞 - Minimal API,身為極簡主義者,它絕對是我的菜,特整理一篇備忘。 對於 Minimal API,官方文件有篇完整介紹 - Minimal APIs ov...

牛年最後一枚茶包。(希望啦) 某個重要又緊急的案件,ASP.NET 網站對外呼叫 WebAPI 功能出現錯誤,因網路環境設定有狀況,連瀏覽器測試都時好時壞,導致無法確定是網路不通還是程式出錯。經過一番努力,狀況進展到瀏覽器檢視 HTTPS 網址 OK、PowerShell Test-NetworkC...

前期提要:去年分享過重啟網站才能解決的 TypeInitializationException 錯誤,依當時觀察與研究,靜態建構式或靜態欄位初始化只會執行一次,若發生錯誤 TypeInitializationException 會類似被 Cache 住,後續試圖存取該型別時.NET Runtime ...

每位老司機,對常見程式演算需求多半有自己一套方法,兵來將擋,水來土掩,行之有年。甚至有些寫法在 VBScript 時代習得,之後搬到 JavaScript 用過,到了 .NET 稍調語法繼續發光發熱。舉個例子,在處理檔案路徑時,有時要判斷相對路徑或絕對路徑做不同處理,我慣用的解法是寫個 IsAbso...

處理了一個 Chrome 問題,因江湖經驗不足,多花了點時間搞定,筆記備忘。 測試台網站更新後,使用者回報版面還是錯的,但從我的機器看則正常。先懷疑是 Cache 問題,但按了 F5 重新載入甚至重啟 Chrome 仍無法解決。增加兩個對照組:使用者改用無痕模式以及用另一位同事 Chrome 的檢視...

昨天介紹了只用 50 行的 Program.cs 程式寫出一個支援 CORS 上傳案的 ASP.NET Core 服務,下一步我想把它轉成 Windows Service 常駐執行。 (註:由留言我才知道這種極簡風網站寫法有個專有名詞叫 Minimal APIs,跟 NancyFx 一樣是我的菜,感...

寫 JavaScript 在別人家的網頁跑,若想將產生結果存成本機檔案,有一些做法,例如:產生一個 href 為 Data URI 的連結供點選下載(範例:用 100 行實現 HTML5 可存檔塗鴉版)、靠伺服器端程式實現自動下載 (範例:Canvas.toDataURL()另存檔案)... 等等。...

在 web.config PowerShell 更新函式庫中,我借用 git diff 比對 web.config 修改前後變化。由於並非所有主機都會安裝 Git for Windows,我想到讓工具自帶可攜版 Git for Windows Portable 的解法,但有點美中不足,Git for...

遇到一堆跟憑證有關的 Windows 服務問題,想自己架個 Windows CA 做研究,開了 VM,練習用 PowerShell 安裝 AD 及 CA 伺服器。 安裝 AD Domain Controller (AD DS)   若 Win Server 原本用 DHCP,要先改為靜態固定 IP...

當磁碟空間不足,要查空間被誰用掉是使用電腦的日常,最早我用過 DiskInfo 跟 Folder Size For Windows,後來的新歡變成 WinDirStat,今天來談另一種選擇 - 如何用命令列工具完成。 有用 Linux 的同學對 df、du 指令應該不會陌生: df 用來看剩餘空間...

講到網站或程式部署,已有不少現成檔案同步工具,過去有介紹過: 檔案部署指令實戰技巧整理 在TFS 2012 Build Service使用Robocopy實現自動部署 如果考慮商業軟體,BeyondCompare 更是其中的王者 自動產生專案部署相關文件(使用BeyondCompare) 要忽略...

在 Hugo 中關聯文件的方式有兩種,對於有結構性的固定內容,可以自己在 Markdown 寫連結,例如: 關於詳細步驟,請參考[安裝章節](/install/)的說明。 另一種是偏條列式,項目會隨時間移減的項目,則由 Hugo 自動產生清單是較省事的做法。在前一篇的範例,faq 加入 _inde...