去年 10 月做過 ESP8266 耗電實驗,跟讀者 JJC66601 討論到改用繼電器控制供電的可能,當時提到我沒考慮繼電器的理由有二:一是在經驗裡對繼電器的壽命很沒信心,二是靠電磁維持閉路狀態的繼電器,直覺耗電量應該不低,但就只是直覺。當時覺得這是個有趣議題,有時間應要實測看看。趁著年假,我還真...

四年前在 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...