改用 VSCode 開發 ASP.NET Core 心得
近一兩年用 Visual Studio Code 寫桯式的頻率愈來愈高。工作專案仍以 Visual Studio 2019 為主,但寫 PowerShell 我就會用 VSCode,至於在家寫好玩的程式,像是玩 ESP/Arduino IoT、C/C++、Golang、Node.js、Vue.js ... Read More
View ArticleChrome/Edge 自動更新及版本檢查 PowerShell 排程
Chrome/Edge Chromium 內建「自動偵測新版本,提醒使用者下載更新」功能。但從資安管理角度,若新版涉及重要安全修補,晚一天更新就多曝險一天。遇到認真積極的網管,沒即時更新 Chrome 可是會被通緝的,只差沒印成懸賞海報貼在茶水間。 依據官方文件說明,Chromium 會自動下載安全... Read More
View Article【茶包射手日記】網頁 TextArea 編輯長文字時反應極慢
使用者回報問題:某個使用 HTML 編輯器元件編輯 HTML 內容的網頁,遇到內容較長(約 250KB),操作會卡頓, CPU 飆高(四核電腦吃掉 25%),點個滑鼠或移輸入游標都要等上十幾秒,甚至會冒出網頁無回應警示。 我的開發機器 CPU 比使用者快 (i7 vs i5),沒能重現無回應警示,但... Read More
View ArticlePowerShell / C# 跨網域搜尋 AD 帳號
在中大型組織,會採用 AD Forest 架構(參考:組織網域樹系模型),子公司或單位各有自己的 AD 網域,整個組織的 AD 再組成一個 Forest。優點是各單位可自行管理網域,網域間又可彼此信任,可以用 Domain B 的帳號登入 Domain A 的網站,讓帳號管理單純化。 分享今天學到的... Read More
View ArticleDjango Hello World 練習
Django (D 不發音,讀音類似「堅狗」) 也是 Python 常用的網站框架之一,跟之前玩過的 Bottle、聽過的 Flask 兩個輕量級網站框架相比,Django 採用 MVT 架構,與 MVC 一樣講求觀注點分離結構嚴謹,適合發展較複雜或中大型應用。抱著沒吃過豬肉也要看看豬走路的心情,我... Read More
View Article在 Hyper-V VM 與 Host 間複製檔案
將 Host 檔案傳到 Hyper-V VM 對我來說一直是件麻煩事,我唯一會用的招式是設定讓 Host 跟 VM 網路相通,把 VM 當成網路上的主機,在遠端桌面登入時分享本地磁碟,或透過網路資料夾交換檔案。理論上應該有更簡單不用透過網路不必設權限的做法,但我一直沒花時間研究,就只會笨方法,今天來... Read More
View Article部署自動化 - web.config PowerShell 更新函式庫
有些 IIS 設定要靠改 web.config 完成,有些環境較一致,可以預先寫好覆寫即可,但如果更新的 web.config 有多個且內容不同,最無腦的做法是寫成操作指示請相關人員執行:「打開 web.conf,找到 system.webSesrver/httpProtocol/customHea... Read More
View ArticleIIS 整合式 Windows 驗證之極簡風 SSO 整合
遇到特殊 SSO 整合需求,在 Windows 上執行的第三方網站服務,登入部分允許客製但不支援整合式 Windows 驗證,如何借用 IIS 的整合式 Windows 簡單實現 SSO 整合呢? 我做了一個超精簡版本,只需一個資料夾三個檔案(sso.aspx、validate.aspx、web.c... Read More
View Article我不是機器人版 reCAPTCHA 筆記
10 年前舊版部落格 CAPTCHA 被攻破遭人狂塞垃圾留言,當時換成卡內基美濃太學發明,能有效阻擋機器人兼邀請人類參與古代書籍數位化的 reCAPTCHA,但第一代 reCAPTCHA 疑似被破解,後來才換成自己寫的陽春版加減計算 CAPTCHA。(防護力跟 reCAPTCHA 無法相提並論,但冷... Read More
View Article【茶包射手日記】.NET Core on Linux 無法存取 Let's Encrypt 憑證網站
在 Linux (CentOS) 主機運作多時的 .NET Core 3.1 排程這幾個月失效,初步檢查是呼叫自訂 WebAPI 時出錯,錯誤訊息如下: Unhandled exception. System.Net.Http.HttpRequestException: The SSL connec... Read More
View ArticleIE 都更筆記 - 汰換 showModalDialog()
這個系列是「將 IE-Only 網站翻修到 Chrome/Edge 相容」過程的瑣碎筆記,有參與古蹟維護的朋友請進。 今天說說網頁裡若出現只剩 IE 支援的 showModalDialog() 要怎麼修改?從 Chrome 43 跟 Firefox 56 之後,showModalDialog API... Read More
View Article在 CentOS 安裝事務機驅動程式進行掃描
小閃光抱怨家裡的 Fuji Xerox M225dw 印表機雖有網路列印及掃描功能,但掃描得開電腦跑 Fuji Xerox 軟體,不能直接傳到手機或平板上,很不方便。 查了一下,Xerox 有個 Xerox Workplace App 但鎖定對象是辦公室用的多功能事務機,透過掃 QR Code 或 ... Read More
View Article命令列工具的 stdout, stderr 輸出與 .NET 整合應用
昨天提到的 Linux 掃描工具 - scanimage,剛好有個經典輸出分流行為,scanimage 將圖檔傳到標準輸出(Standard Output),故可加上 > tab.tiff 轉存成檔案,加上 -v -p 參數,過程會顯示偵錯資訊及執行進度,則是顯示在主控端(Console): ... Read More
View Article在 ASP.NET Core 用 Response.Body.FlushAsync 實現簡易即時進度回報
今年初分享過一個用 Response.Flush 在 ASP.NET MVC 實現即時進度回報的極簡風做法,但 ASP.NET Core 網站架構不同己無法適用。不管在什麼平台,極簡風永遠是我的最愛,所以,ASP.NET Core 版的簡易進度回報寫法來了! ASP.NET Core 移除了 Rep... Read More
View Article.NET 6 圖形處理跨平台注意事項
.NET Core/.NET 6 號稱跨平台,但實際推進到 Linux,有些眉角遇上才會知道。 繼續嘗試在 CentOS 整合事務機掃描功能,掃描結果的圖檔格式是 TIFF,想寫段 C# 程式將它轉成 JPG,這用 Bitmap 來做是小事一椿。要在 .NET 6 使用 Bitmap,可安裝 Sys... Read More
View Article【茶包射手日記】ASP.NET MVC 網站 Controller 網址傳回 HTTP 404
同事遇到的問題 - 某 ASP.NET MVC 專案使用預先編譯發行,檔案部署到 IIS,設好 Web Application,檢視 css、js、png 等靜態檔 OK,但 Home/Index 等 MVC 路徑全數失效,一律傳回 HTTP 404。 經對照調查,問題關鍵在部署時漏放 Preco... Read More
View Article.NET 知識高裝檢 - .pdb 檔、編譯最佳化與偵錯
發現我對 PDB 檔的知識有點模糊過時,特舉辦知識高裝檢。 .pdb 檔的主要用途為何? PDB 提供編譯後程式與原始碼的對映資訊,是錯誤發生時 StackTrace 能指出所在程式位置的依據,另外在進行偵錯時,也需要靠 .pdb 的資訊才能做到檢視變數、設定中斷點、Line by Line 逐行... Read More
View Article在 ASP.NET 用 Server-Sent Events 實現即時廣播
Server-Sent Events 算是蠻古老的技術,可實現伺服器端對瀏覽器的單向串流傳輸,目前除了 IE,所有瀏覽器都支援。 但提到網站串流傳輸,不是已經有 WebSocket、SignalR 了,Server-Sent Events 還有存在的價值嗎?有! 如果是伺服器對瀏覽器的單向串流傳輸,... Read More
View Article更改檔案中文編碼導致 git diff 亂碼之完美解法
大家有遇到 git diff 比對文字檔,因中文編碼更改(例如 Big5 改 UTF-8)導致結果裡有一半中文變亂碼的情況嗎?我想到一個完美解法。(我自己覺得啦,不服來戰) git diff 遇到文字檔中文編碼不同的問題之前處理過(參考:Git 實戰技巧 - 使用 git diff 比對 UTF-1... Read More
View ArticleCoding4Fun - 使用 C# 製作聲音檔,以摩斯電碼為例
很久沒有 Coding4Fun,想玩個有趣的題目 - 用 C# 無中生有產生聲音檔。 做了研究,.wav 檔用未壓縮的 byte[] 記錄聲音波形,只要依規範在檔案開頭填入聲道數、取樣頻率、解析度位元數... 等資訊,輕鬆就能在電腦上生出一段正弦波。(謎:要多無聊才會幹這種事?到底) 不過,大費周章... Read More
View Article