Quantcast
Channel: 黑暗執行緒

為 Managed ODP.NET 新增效能計數器

想觀察某個老 .NET 程式的 Oracle 連線數使用狀況,之前慣用的 v$Session 查詢法在本案因沒有所需 DB 權限行不通。爬文查到 ODP.NET 23.3.2 開始支援 .NET 效能遙測,可整合 .NET OpenTelemetry 串接 Prometheus、Grafana、Az... Read More

View Article


GUID 索引問題新解 - UUIDv7

在系統中產生唯一鍵值,GUID(UUID) 始終是我的首選,老讀者們也都知道我屬於 GUID 陣營。 (註:GUID 是微軟針對 UUID 開放標準的實作,幾十年來我說 GUID 說習慣了,故本文會使用 GUID 這個名稱,但 GUID/UUID 可視為相同的東西。) 用 GUID 當唯一值有很多好... Read More

View Article


為何悠遊卡這麼容易被破解,連高中生也會?

前幾天有則資安相關新聞,有名高中生竄改悠遊卡餘額後去自助退費機台退刷或小額支付購物,成功變現了數十萬元。坦白說,看到新聞我沒太驚訝,因為類似的事 14 年前(2011)已經上演過一次,不意外地人也很快被抓,最後判刑 2 年,緩刑 5 年,另外要賠 100 萬及義務教電腦 240 小時。 由此看來,偷... Read More

View Article

知識補充包 - 將電腦校時到微秒等級之 PTP 協定

前幾天提到以毫秒(ms)級 Unix 時間戳為主體,結合隨機位元,兼顧唯一性與有序性的 UUIDv7,非常適合資料庫索引與分散式系統。 既然 UUIDv7 需要靠時間確保順序,分散系統各主機時鐘的絕對精準就變得極其重要,不然你慢一毫秒,我快兩毫秒,搞到後產生的 UUID 排在前面,不就失去原本的設計... Read More

View Article

NTFS 資料夾之 130 萬魔咒

分享最近遇到的一起案例,讓我對「單一 NTFS 資料夾包含過多檔案」的問題有了新的認知。 Windows 資料夾的同一層放太多檔案會出事已屬常識,過去處理過多次: 超過一百萬個檔案的 NTFS 資料夾… 清理內含 750 萬個檔案的資料夾 常見的副作用通常是:檔案總管開資料夾會卡死甚至搞到桌面凍... Read More

View Article


前端小技 - 免 JavaScript 的刪除確認設計

為了防止使用操作網頁時誤刪或不小心觸發一些不可逆動作,系統規格通常要求刪除前請使用者再次確認。 傳統設計會偏向彈出 Modal 視窗,強迫使用者在【確認/刪除】或【取消】間擇一執行: 圖片來源 我不是很愛這種設計方式,理由使用者在點完【刪除】圖示/按鈕後,畫面會轉換成 Modal 對話框在中央的顯... Read More

View Article

Nginx 筆記 - 封鎖 IP 存取,防止私人網站 DNS 名稱外流

故事是這樣的。我用 HTTPS Nginx Docker 懶人安裝法架了一台私人網站,雖然有 DNS 名稱但從未對外公開。Nginx 設定有限定 server_name private-web.nobody.know.com;,依我的理解,必須知道 DNS 名稱輸入 https://private-... Read More

View Article

隱藏私人網站 DNS 名稱有多難?

昨天分享了 Ngnix 沒設好,導致外界可透過 IP 連上網站得知未公開 DNS 名稱的風險,從讀者們的留言又學到不少新知識(謝謝各位讀者老師,在此就不一一致謝了),再整理一篇筆記。 過去我有個錯誤認知,私用未公開發表的 DNS 名稱,由於 DNS 伺服器不會主動提供已註冊的主機名稱清單,理論上只有... Read More

View Article


前端小技 - 更多確認刪除玩法:長按 3 秒、加按 Shift

幾天前我展示了兩款免 JavaScript 的刪除確認設計,讀者 Dante Lee 主張勾 Checkbox 並不算好設計,它一樣需要額外移動滑鼠加點選,還會讓人想起被迫違背自由意志勾選「我同意」的不愉快回憶 (我他X的根本不想同意啊)。 想想,這說法確實有幾分道理,於是我厚著臉皮交流,索取到一個... Read More

View Article


Coding4Fun - 也來寫個「刪除五秒內可反悔」功能

前幾天試了更多確認刪除玩法,讀者 Chi-Kung Wen 留言再提到「刪除信件後,五秒內可以按【復原】取消刪除」的介面設計。 直覺要做不難,心中也約略有譜,想到最近沒什麼機會寫 ASP.NET Minimal API 都快生疏了,便撿起題目來個 Vue3 輕前端整合 ASP.NET Core 伸展... Read More

View Article