in

Darkthread

黑暗執行緒
All Tags » Tips (RSS)

Browse by Tags

  • 實戰小技巧 - .NET Exception Message、InnerException 與 ToString()

    前篇文章 提到 try catch 時若只保留 Exception.Message,可能遺失 InnerException 及 StackTrace 錯失破案重要線索。文章迴響顯示這是個值得介紹的實戰技巧,故再補充一篇。 在某些應用情境我們會選擇使用 try … catch 達成特定目的,例如:(註:Exception 的官方翻譯為例外狀況,這裡容我用較口語化的「錯誤」取代) 捕捉可預期錯誤,進行補救並繼續執行程式 例如:發現作業失敗時,Rollback 交易、寫 Log、通知管理員、退回前一步驟請使用者再試一次... 比程式直接 Crash 來得好。 捕捉可預期錯誤,改顯示較易懂的錯誤訊息 例如...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 02-12-2018
  • 【笨問題】在 Windows 檔案總管切換音樂/相片資料夾之詳細資料檢視

    在使用 Windows 檔案總管我常遇到以下狀況 – 遇到滿載 MP3 或 JPG 檔的資料夾,選擇「詳細資料」檢視時檔案總管會自動切成音樂或照片專用的檢視,像是這樣: 遇到音樂顯示標題、演出者、專輯名稱,遇到照片可以帶出拍攝日期、尺寸,對一般消費者來說是很貼心的設計,可依據媒體特性方便排序管理。但對想靠檔案日期及大小查問題的茶包射手來說,這些預設欄位沒半個有用。過去我常用的解決方法是在欄位標題按右鍵新增修改日期、大小欄位: 最近學到一招,其實可以要求 Windows 將這個資料夾切回成一般檔案的詳細檢視。方法是在資料夾按右鍵選內容,在「自訂」頁籤切換「最佳化此資料夾(T)」選項,改回「一般項目...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 02-04-2018
  • 全文檢索筆記–Windows Search SQL經驗談

    因應專案需要,先前研究過 Lucene.Net 。Lucene.Net 功能強大效能佳,又提供極高客製彈性,但缺點是得自己處理 從 PDF、Word/Excel/PowerPoint 檔提取文字 、管理索引排程,瑣碎工作不少。最後,我選擇到超市買牛奶而不自己養牛,決定借用 Windows Search 功能實作網站內容全文檢索,建個目錄把檔案放進去(txt、html、pdf、docx、xlsx、pptx 都成),將其納入索引範圍,在 .NET 程式建個 OleDbConnection,就可以下 SELECT ... FROM SYSTEMINDEX WHERE ... 指令完成全文檢索,很簡單吧...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-21-2017
  • C# 小技巧 - 不必再靠 switch case 副檔名決定 ContentType 囉

    由 ASP.NET 伺服器端傳回檔案內容,需指定適當的 ContentType,瀏覽器才會將其視為圖檔、HTML、CSS 或 JavaScript 處理。過去我都是土法煉鋼,取得副檔名再用 switch … case 針對已知檔案種類列舉對應 ContentType,像這樣: string contentType = "" ; switch (fileName.Split( '.' ).Last()) { case "jpg" : contentType= "image/jpeg" ; break ; case "gif"...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 12-08-2017
  • Notepad++ 7.5 取消預設安裝 Plugin Manager

    在新安裝的 Notepad++ 找不到 Plugin Manager 可用,先前遇過安裝 64bit 版本有些 Plugin(插件) 無法使用,但確定我裝的是 32bit 版本沒錯,所以是哪邊出了問題? (什麼? 你沒聽過 Notepad++,快安裝它取代記事本 Notepad 吧! 好用豈止十倍? 而且還是台灣開發者的開放原始碼專案,舉世聞名獲獎無數,又一項台灣之光! 維基百科 ) Release Note 載明預設安裝的插件只剩 NppExport、 Converter、Mime Tool,確實未包含 Plugin Manager。 再爬文得知是作者厭惡 Plugin Manager 夾帶廣告...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 11-04-2017
  • 小技巧-使用匿名型別快速捏出指定JSON格式

    同事有個小需求,已知城市、區域及郵遞區號要產生如下規格的 JSON 餵到前端: { "rows" : { "row" : [ { "City" : "台北市" , "Area" : "文山區" , "ZIP" : "116" } ] } } 先前介紹過 JObject 結合 dynamic 的 花式玩法 可以快速達成目標: static void TestJObject( string city, string area, string...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-25-2017
  • 在單元測試專案使用 dynamic 出現 CSharpArgumentInfo.Create 錯誤

    在自動測試專案加入使用 dynamic 型別的測試方法後,Visual Studio 2017 傳回編譯錯誤: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create' 在 Microsoft Connect 查到相似 錯誤回報 ,案例集中在微軟單位測試及 NUnit 測試專案(NUnit 可透過更新版本解決),推測為單元測試專案預設未參照 Microsoft.CSharp.dll,而它是使用 dynamic 的必要參照。 問題在為單元測試專案手動加入參照後排除...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-25-2017
  • SQLite 批次 INSERT 的蝸牛陷阱

    假日轉檯寫 Coding4Fun 專案,本週的 Scrum Sprint Planning Meeting 我認領的工作是將 13 萬英文單字轉入 SQLite 資料庫 (謎:認領?快醒醒,這專案從頭到尾只有你一個人吧?)。 心想這有什麼難,涮涮涮寫好以下程式,沒想到其執行速度之慢,嚇得我屁滾尿流失了魂… using (var cnSqlite = new SQLiteConnection(csSqlite)) { cnSqlite.Open(); Stopwatch sw = new Stopwatch(); sw.Start(); var totalCount = list.Count; var...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-16-2017
  • 筆記-使用 Dns.GetHostEntry 解析 IP 位址

    某排程使用以下程式碼產生 IEndPoint 以建立 Socket: IPEndPoint pEndPoint = new IPEndPoint(Dns.GetHostEntry(remoteHost).AddressList[0], remotePort); 其中用了 Dns.GetHostEntry(),好處是不管 remoteHost 傳入的是主機名稱還是 IP,一律可轉成 IPAddress。 排程在正式及測試環境運作多時,今天將程式移到另一網段機器上執行,remoteHost 為 IP 位址(假設為 192.168.1.1),與原本設定相同,確認新主機與 192.168.1.1 間網路暢通...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-21-2017
  • 檔案總管右鍵選單開啟免安裝版Notepad++

    使用安裝版 Notepad++ 的同學請忽略本文,祝你有美好的一天。(同場加映萬用檔案總管右鍵開啟技巧一則,繼續讀下去也無妨。) 如果你選擇 下載 Notepad++ 免安裝版 (zip package、7z package、minimalist package),有個困擾是沒法在檔案按右鍵用「Edit with Notepad++」直接編輯檔案。 為此 Notepad++ 提供一顆元件(NppShell.dll,下載網址: http://notepad-plus.sourceforge.net/commun/misc/NppShell.New.zip ),讓免安裝版也能使用「Edit with...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-05-2017
第1頁,共20頁 (200個項目) 1 2 3 4 5 下一頁 > ... 最後一頁 »
Powered by Community Server (Non-Commercial Edition), by Telligent Systems