ES6 引進 Module(模組化) 概念,每個 Module 自成獨立 Scope,各 Module 可自由定義變數、型別,要開放外界存取的項目再透過 export 開放。當需要引用其他 Module 時,則必須明確使用 import 匯入才能使用。如此各 Module 可獨立開發維護而不彼此...

身為程式開發人員,多少都有這種經驗: 線上系統出錯,原開發者已浪跡天涯,程式碼沒人熟,老闆面色猙獰問誰會修。 (遇到這種擦屁股的屎缺,同事們默契十足全都退了一步 ) 老闆說「很好,想不到你剛進公司就想立此奇功!好好幹,公司不會虧待你的」... 你說「暗陰羊...

「寫 Log」是很有效的線上系統偵錯手段,就像飛機黑盒子或行車記錄器,能在事故發生後提供寶貴資訊,釐清肇事原因,還能用於責任歸屬舉證。例如: 系統不定期爆炸,由 Log 歸納每次發生在某使用者進行某項操作之後 客戶否認下單,調閱 Log 舉證登入時間,來源 IP 以及操作順序,萬...

在網路上看到這篇 - Modern JavaScript Cheatsheet - Modern JS Cheatsheet,給既有 JavaScript 開發者看的小抄,指出因應 ES6/ES2015 新標準的注意事項。(註:如果你被 ECMAScript 6、ES6、ES2015 等術語搞到...

我的 VAIO T13 筆電入手於 2012 年 Windows 8 上市之際,近五歲高齡但狀況不差,直到前陣子異常頻傳: 開始是桌面偶爾凍結,滑鼠游標能移動,但點選及鍵盤操作全無反應,關電重開機有效,但沒多久又再發生,常要重開數次才能完全排除,排除後可正常使用一陣子,但當機頻率愈來愈高。 終...

小木頭跑來報案,房間冷氣完全不冷。 前陣子蝦皮免運時失心瘋採購一批儀器,把居家度量衡全面電子化(左起 PH 酸鹼計,土壤濕度酸鹼日照三用錶,電子游標卡尺,紅外線測溫槍),這回輪測溫槍派上用場了。 冷氣機出風強弱、運轉模式、溫度調整等操作一切正常,唯一有問題是即使溫度調到 20 度,出風口...

鹹蝦專案(利用閒暇經營的 Side Project)遇到的需求,先前把 MP3 音效資料整進 SQL 資料表轉成 IMAGE 資料型別,查詢起來像這樣: 如果我想試聽這段聲音該怎麼辦? 網路上可以找到一些 T-SQL 範例,將 SQL 裡的二進位資料匯出成檔案。不過這樣子每次試聽的步驟有點麻煩:...

網友 Danny 在舊文留言提問關於 NPOI 讀取 Excel 日期,"2017/9/23"被轉成"23-九月-2017"的問題,我已棄用 NPOI 投向新歡 ClosedXML 多年,沒打算再花時間研究,於是題目改成: 面對相同文件,ClosedXML 能否順利過關? 取得 Danny 提供的...

一個詭異的狀況。 為了在測試網站測網頁,我透過該主機的網路分享建立一個 HTML 檔案,測完一回,調整程式想存檔時 Notepad++ 彈出以下訊息: 這是 Notepad++ 寫入檔案存取被拒的貼心 SOP,當寫入本機檔案遇到權限不足,改用管理者身分多可克服;但本案例檔案來自網路分享資...

附檔管理模組裡採用 JSON 格式保存暫存物件,將附檔物件序列化暫存成檔案,稍後寫入資料庫時再還原取出資料,直覺又方便。不料因附檔物件內含檔案內容(byte[])體積龐大,在處理極端案例時踢到記憶體不足的鐵板。 批次作業程式為 32 位元模式,依經驗記憶體上限約 1.8 GB,一開始很直覺...

用慣 LINQ 後不太能忍受回頭用 foreach 處理集合物件,List<T>、IEnumerable<T> 及物件陣列可直接 Where()、Select() ,基本上涵蓋大部分應用情境,但有些時候還是會遇到一些不支援 LINQ 擴充方法的集合物件。這篇筆記將介紹透過簡...

一個古老問題,在 ASP.NET 呼叫 Response.End() 會觸發 ThreadAbortException,假警報常會干擾偵錯與問題追查,之前寫過文章但沒整理完整的替代方案,今天補上筆記。 使用以下程式重現問題,WebForm 網頁包含一枚按鈕,按下時透過 AJAX 呼叫同一程式,...

這是一個老鳥失足,程式沒寫好吃光 CPU 的故事。開始前推薦大家兩篇先修知識: WinDBG 應用實例:找出 ASP.NET CPU 100% 原因 ASP.NET CPU 飆高問題之傻瓜分析工具-DebugDiag Tools 接獲通報,某主機在離峰時段出現 CPU 維持...