建立私有 Docker Registry
深度應用 Docker 容器後常會走到這一步 - 自建 Docker Registry (容器 Image 倉庫)。 不管用 docker 指令或跑 Docker Compose,建立容器都需先載入 Docker Image,若是公開 Image,透過 docker pull 指令、在 docker... Read More
View Article久仰大名,Redis 初試
i5 迷你工作機上線,原本 CPU 太鳥、RAM 太少、SSD 不夠快等限制一掃而空,加上對 Docker、Hyper-V 逐漸上手,以前沒機會實際摸過的新玩意,花幾分鐘便能在我的電腦上與我相見歡。一則以喜一則以憂,能阻止我學東西的硬體限制變少了,但再也無法以沒環境沒機會學當成推拖藉口... 終於,... Read More
View Article用 C# 驗證 Android App 產生的數位簽章
這也是靠新工作機開啟的桃花源,RAM 夠大 SSD 夠快跑 Android 模擬器終於不再卡頓到氣血攻心,封印解除後我寫了第一支 MAUI App 程式 - QR Code 識別: QR Code 掃瞄是我一直想玩的功能。像有些平台提供行動條碼登入,用手機 App 掃一下,不用敲帳號密碼就能登入,... Read More
View Article水電雜記 - 更換電暖器微動開關
接獲報修,電暖器故障,插電無反應。拆機檢查,發現底座偵測機身傾倒斷電的微動開關壞了,按鈕整個塌陷,電錶測量不導電。 下圖箭頭的黑鈕應該要被撐起來的,壞得太嚴重,已看不出原本結構。(運作原理可參考這篇 ,很不想貼農場文連結,但實在找不到原文) 優先考慮跟原廠買零件更換,發現廠商有 LINE 客服,... Read More
View Article吹風機壁掛架 DIY
一直想把吹風機掛到牆上省空間,坊間可以找到現成吹風機壁掛架,但要搭配特定款式的吹風機。我會 3D 列印,為家裡的吹風機設計專屬壁掛架不難,但我有個莫名堅持 - 不釘釘子不鑽牆,在這限制下,解決方案變得難找。 前陣子發現一款便宜好用的自黏壁掛鉤,一個一塊錢,但貼瓷磚超級牢靠,感覺能解決久懸多時的壁掛難... Read More
View Article是時侯學習真正的雲端惹 - 讓 ASP.NET 網站依負載自動擴增縮減
截至目前為止,在雲端開台小 VM 裝 Docker 跑 ASP.NET Core 網站對我已不是難事,甚至寫了懶人安裝腳本一氣喝成。不過我心裡明白,開 VM 跑 Linux 裝 Docker 屬於 IaaS,跟在公司內架主機概念差不多,技術門檻不高,但 OS 需要自己管理設定、定期更新,容量不足時需... Read More
View ArticleAzure 雲端練習 - Docker 容器部署與檔案映對
在上篇文章我們將一個 ASP.NET Core 測試網站部署成 Azure App Service 並設定自動擴增及縮減規則,CPU 負載過重時自動增加執行個體數量,負載降低時自動減少,體驗了真正的雲端威力。 上次練習採用的部署方式是將 ASP.NET Core 專案 Publish 結果檔案 ZI... Read More
View Article在 Azure 儲存連線字串與密碼 - 雲端保險箱 Key Vault
網站放上雲端,通常一次執行多台,分擔流量兼互相備援。這種模式下連線字串、API Key 等機密設定不適合寫在設定檔,最好集中管理並嚴密管控存取。 Azure 在這方面提供的解決方案是 Azure Key Vault (金鑰保存庫),可用來保存 Secret (密碼、Token、API Key... ... Read More
View Article在 ASP.NET Core 自訂登入邏輯
上回提到我想做過手機掃 QR Code 條碼登入 ASP.NET Core 網站,這涉及自訂登入身分檢查邏輯,在 ASP.NET 時代可以呼叫 FormsAuthentication.SetAuthCookie 寫入 Cookie (範例) 模擬登入成功狀態,但換成 ASP.NET Core 要怎... Read More
View Article在網頁等待手機完成操作 - 使用 Server-Sent Event
多因素認證(Multiple Factor Authentication,MFA)網頁常會用到一種技巧,介面停在登入網頁,等待手機 App 操作,網頁能偵測 App 動作是否完成,若驗證成功自動導向已登入畫面。 以 Facebook 為例,若有啟動兩階段驗證,第一次登入網站,輸入密碼後會出現以下畫面... Read More
View Article也來重現「注意看,這個男人太狠了」配音
這些年 FB/YouTube 上的電影解說短片超級泛濫,明知是浪費時間每次還是忍不住點進去看,等發現莫名連看半小時再罵聲幹。 這類量產式電影解說相信大家都有看過,一模一樣的 AI 配音、千篇一律的背景音樂、主角配角永遠叫小帥、大壯、小美、翠花、喪彪,還有經典的「注意看,這個男人太狠了」、「如果不出意... Read More
View Article指令式軟體安裝服務比較:Chocolatey、Scoop 與 winget
這些年我漸漸變成 CLI 愛好者,覺得很多時侯敲指令比滑滑鼠簡單有效率,跟伙伴溝通更精確有效率(例如:「git add Program.cs && git commit -m "poc"」對上「切換到 Git Changes,在 Changes 的 Program... Read More
View Article設定 Outlook 收件匣規則對特定通知信進行花式處理 - 使用 VBA 巨集
Outlook 的收件匣規則應該很多人用過,它能依據事先設定條件,將特定發信者寄來或主旨包含特定關鍵字的信件移到指定資料夾、自動轉寄,甚至直接刪除,當信如潮水般湧來時,至少有基本的分類,還可加上簡單的自動化處理,是常身陷 Email 地獄社畜們的一大救贖。 我有個困擾,信箱會收到大大小小系統自動寄... Read More
View ArticleFull-Code RPA - 使用 .NET 6 搜尋 Outlook 收件匣
這些年 RPA(Robotic Process Automation) 是個熱門話題,日常瑣事的機械化動作丟給機器人處理,讓人類脫離手工作業地獄,怎麼想都是個好主意。不過,業界在談的 RPA 多指採購廠商開發的軟體,強調介面友善功能豐富又容易上手(甚至具備機器學習等 AI 功能),讓不會寫程式或的使... Read More
View ArticleiRent 個資外洩事件是怎麼一回事?我的非專業解讀
這幾天大家應該都有看到新聞,共享汽機車大廠 iRent,被國外資安研究人員發現,因系統設定不當導致資料庫開放匿名存取,只要知道 IP 便能在上面查到客戶姓名、手機、Email、信用卡等個資,經通報廠商遲無回應(可能剛好在年假期間),最後透過數位發展部轉由 TWCERT/CC ( 台灣電腦網路危機處理... Read More
View Article把 ASP.NET Core 變成 Windows 桌面常駐程式
愛用 .NET 寫桌面小工具的我,先前研究出「單一執行檔,啟動時自動啟動瀏覽器進入操作網頁,網頁關閉後自動結束程式」的優雅做法,還寫了 NuGet 程式庫簡化開發流程;一樣是借用 ASP.NET Core 技巧寫桌面程式,卻遠比 Eletron.NET 輕巧,我對這套自創做法還挺滿意的。(延伸閱讀:... Read More
View ArticleMarkdown 轉 PDF
嘗試用 Markdown 取代 Word 寫零散文件,但交付對象只接受 Word 或 PDF 格式,我需要一個方便(而且最好免費)的 Markdown 轉 PDF 工具,找到一個好用的 VSCode 擴充套件 - Markdown PDF,省下自己造輪子的工夫。 官方說明文件頗詳細,很容易上手,在... Read More
View ArticleC# 笨問題 - 唯讀的 ICollection 屬性為什麼能設定初始值?
一時糊塗,被一段程式迷惑。 Foo 類別的 ICollection<string> 屬性設成 { get; } 唯讀,嘗試將 Items 設成某個 List<string> 編譯出錯完全合理,但為什麼用 Items = { "Item3", "I... Read More
View ArticleASP.NET Core Minimal API 快速轉桌面常駐 - 有趣的 Notepad 偵測器
前幾天分享把 ASP.NET Core 變成 Windows 桌面常駐程式的小技巧,一不做二不休,再把它包進 Drk.AspNetCore.MinimalApiKit NuGet 程式庫,方便未來應用。 使用程式庫後,開發桌面常駐小工具的步驟再簡化如下: 建立 ASP.NET Core Minim... Read More
View ArticleCoding4Fun - 年資計算,顯示幾年幾月又幾天 (邀請 ChatGPT 同樂)
不少人資系統有個有趣功能:顯示從到職日到今天你的年資已經有幾年幾個月又幾天。 熊熊想到:若是在 C# 這個邏輯要怎麼寫呢? 在 C#,我們將兩個 DateTime 相減可以得到 TimeSpan 結構,其中有 Days、Hours、Minutes、Seconds 可算出幾天幾小時幾秒 (另外有 To... Read More
View Article