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

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

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

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

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

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

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

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

翻到很久以前的內部技術分享投影片,覺得對新手開發朋友們或許有點幫助,整理成文章分享。 先說,這是熱門網站獨有的煩惱,不是每個開發者都需要面對。大家在演唱會訂票、馬拉松報名、疫苗預約… 等秒殺網站爆炸新聞中,應該都有看過一個神祕數字 - 503: 依據網站開發權威參考網站 MDN 的說明,HTTP...

網路效能突發問題說來就來,遇上了往往只能透過事件檢視器或 IIS Log 還原現場,設法拼湊真相推敲出事發原因。 既然跟效能有關,了解不同時間點的請求執行時間變化就顯得格外重要,用耗時變化還原出時間軸常是破案的關鍵,而正確理解及利用 IIS Log 時間與耗時欄位是重要的第一步。 IIS 預設採用 ...

上個月保哥有篇 FB 貼文,聊到當系統規格修改,原本辛苦多時寫成的大段程式碼瞬間報廢,大家會一口氣刪掉眼不見為淨,確保程式碼清爽?還是先註解起來,當客戶改變心意把規格加回去能快速還原? 把不用的程式碼註解起來這事兒我以前常幹,但出發點不太一樣,主要不是預防客戶把規格改回來。舊功能復辟這種事不是沒發生...

問題症狀:企業內部新安裝 Outlook 2021,設定好 Exchange 帳號正確連上信箱,但每次啟動 Outlook 沒多久會彈出一連線中轉圈圈動畫的空白對話框,對話框具強制性(Modal)阻擋 Outlook 操作,要命的是轉圈圈沒完沒了,怎麼等都不會結束或 Timeout。 原以為是新安裝...

「看到東西壞掉會忍不住想把東西修好」,這應該是寫進工程師基因裡的行為模式。網際網路與社群媒體興起,提供了無所不包的知識來源;而網路拍賣平台的出現,則撐起了幾乎什麼零件都買得到的堅實後援。情勢大好,那就修好修滿吧~ 雜記這幾個月我修過的東西。 落地玻璃門鎖 用了幾十年的落地門鎖壞了,拆下來一看,金屬背...