Browse by Tags

實戰小技巧 - .NET Exception Message、InnerException 與 ToString()
前篇文章 提到 try catch 時若只保留 Exception.Message,可能遺失 InnerException 及 StackTrace 錯失破案重要線索。文章迴響顯示這是個值得介紹的實戰技巧,故再補充一篇。 在某些應用情境我們會選擇使用 try … catch 達成特定目的,例如:(註:Exception 的官方翻譯為例外狀況,這裡容我用較口語化的「錯誤」取代) 捕捉可預期錯誤,進行補救並繼續執行程式 例如:發現作業失敗時,Rollback 交易、寫 Log、通知管理員、退回前一步驟請使用者再試一次...
Posted 12 February 2018 09:06 PMJeffrey | 4 comment(s) 3,906
Filed under: ,
【笨問題】在 Windows 檔案總管切換音樂/相片資料夾之詳細資料檢視
在使用 Windows 檔案總管我常遇到以下狀況 – 遇到滿載 MP3 或 JPG 檔的資料夾,選擇「詳細資料」檢視時檔案總管會自動切成音樂或照片專用的檢視,像是這樣: 遇到音樂顯示標題、演出者、專輯名稱,遇到照片可以帶出拍攝日期、尺寸,對一般消費者來說是很貼心的設計,可依據媒體特性方便排序管理。但對想靠檔案日期及大小查問題的茶包射手來說,這些預設欄位沒半個有用。過去我常用的解決方法是在欄位標題按右鍵新增修改日期、大小欄位: 最近學到一招,其實可以要求 Windows 將這個資料夾切回成一般檔案的詳細檢視...
Posted 04 February 2018 02:08 PMJeffrey | with no comments 2,369
Filed under:
全文檢索筆記–Windows Search SQL經驗談
因應專案需要,先前研究過 Lucene.Net 。Lucene.Net 功能強大效能佳,又提供極高客製彈性,但缺點是得自己處理 從 PDF、Word/Excel/PowerPoint 檔提取文字 、管理索引排程,瑣碎工作不少。最後,我選擇到超市買牛奶而不自己養牛,決定借用 Windows Search 功能實作網站內容全文檢索,建個目錄把檔案放進去(txt、html、pdf、docx、xlsx、pptx 都成),將其納入索引範圍,在 .NET 程式建個 OleDbConnection,就可以下 SELECT...
Posted 21 December 2017 08:42 PMJeffrey | with no comments 4,445
Filed under:
C# 小技巧 - 不必再靠 switch case 副檔名決定 ContentType 囉
由 ASP.NET 伺服器端傳回檔案內容,需指定適當的 ContentType,瀏覽器才會將其視為圖檔、HTML、CSS 或 JavaScript 處理。過去我都是土法煉鋼,取得副檔名再用 switch … case 針對已知檔案種類列舉對應 ContentType,像這樣: string contentType = "" ; switch (fileName.Split( '.' ).Last()) { case "jpg" : contentType...
Notepad++ 7.5 取消預設安裝 Plugin Manager
在新安裝的 Notepad++ 找不到 Plugin Manager 可用,先前遇過安裝 64bit 版本有些 Plugin(插件) 無法使用,但確定我裝的是 32bit 版本沒錯,所以是哪邊出了問題? (什麼? 你沒聽過 Notepad++,快安裝它取代記事本 Notepad 吧! 好用豈止十倍? 而且還是台灣開發者的開放原始碼專案,舉世聞名獲獎無數,又一項台灣之光! 維基百科 ) Release Note 載明預設安裝的插件只剩 NppExport、 Converter、Mime Tool,確實未包含...
Posted 05 November 2017 11:11 AMJeffrey | 2 comment(s) 9,252
Filed under:
小技巧-使用匿名型別快速捏出指定JSON格式
同事有個小需求,已知城市、區域及郵遞區號要產生如下規格的 JSON 餵到前端: { "rows" : { "row" : [ { "City" : "台北市" , "Area" : "文山區" , "ZIP" : "116" } ] } } 先前介紹過 JObject 結合 dynamic 的 花式玩法 可以快速達成目標: static void...
Posted 25 August 2017 11:44 PMJeffrey | with no comments 7,179
Filed under: ,
在單元測試專案使用 dynamic 出現 CSharpArgumentInfo.Create 錯誤
在自動測試專案加入使用 dynamic 型別的測試方法後,Visual Studio 2017 傳回編譯錯誤: Missing compiler required member 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create' 在 Microsoft Connect 查到相似 錯誤回報 ,案例集中在微軟單位測試及 NUnit 測試專案(NUnit 可透過更新版本解決),推測為單元測試專案預設未參照 Microsoft...
Posted 25 July 2017 10:24 PMJeffrey | with no comments 1,942
SQLite 批次 INSERT 的蝸牛陷阱
假日轉檯寫 Coding4Fun 專案,本週的 Scrum Sprint Planning Meeting 我認領的工作是將 13 萬英文單字轉入 SQLite 資料庫 (謎:認領?快醒醒,這專案從頭到尾只有你一個人吧?)。 心想這有什麼難,涮涮涮寫好以下程式,沒想到其執行速度之慢,嚇得我屁滾尿流失了魂… using (var cnSqlite = new SQLiteConnection(csSqlite)) { cnSqlite.Open(); Stopwatch sw = new Stopwatch...
Posted 16 July 2017 06:42 PMJeffrey | 1 comment(s) 12,047
Filed under: ,
筆記-使用 Dns.GetHostEntry 解析 IP 位址
某排程使用以下程式碼產生 IEndPoint 以建立 Socket: IPEndPoint pEndPoint = new IPEndPoint(Dns.GetHostEntry(remoteHost).AddressList[0], remotePort); 其中用了 Dns.GetHostEntry(),好處是不管 remoteHost 傳入的是主機名稱還是 IP,一律可轉成 IPAddress。 排程在正式及測試環境運作多時,今天將程式移到另一網段機器上執行,remoteHost 為 IP...
Posted 21 June 2017 10:30 PMJeffrey | with no comments 5,571
Filed under: ,
檔案總管右鍵選單開啟免安裝版Notepad++
使用安裝版 Notepad++ 的同學請忽略本文,祝你有美好的一天。(同場加映萬用檔案總管右鍵開啟技巧一則,繼續讀下去也無妨。) 如果你選擇 下載 Notepad++ 免安裝版 (zip package、7z package、minimalist package),有個困擾是沒法在檔案按右鍵用「Edit with Notepad++」直接編輯檔案。 為此 Notepad++ 提供一顆元件(NppShell.dll,下載網址: http://notepad-plus.sourceforge.net...
Posted 06 June 2017 06:11 AMJeffrey | 3 comment(s) 6,800
Filed under:
【笨問題】在 Chrome 如何檢視 SSL 憑證?
一直以來, 遇到 Chrome 提示 安全連線問題 ,我的第一個動作是在網址前方按右鍵查看問題並檢視憑證資訊:(如下圖) 不知從哪一版 Chrome 起,在不安全警示的右鍵選單不再顯示憑證問題詳細資訊,也無法檢視憑證資訊,只有一個「瞭解詳情」連結指向一篇 FAQ 說明。 不得其門而入,迫不得已我只好改用 IE 開啟查詢憑證問題。 鄉愿了好一陣子,今天痛下決心,認真爬文,才知道這是 Chrome 56 版做的 調整 。憑證資訊搬家了-按 F12 開發者工具,在 Security 頁籤下,有比以前詳細的問題說明...
Posted 04 June 2017 08:21 AMJeffrey | with no comments 6,291
Filed under:
TIPS-以不同使用者身分執行程式
在一些情境下,我們需要切換成其他使用者身分執行程式,例如:以 UserA 登入 Windows,因特殊需求改用 UserB 帳號啟動特定程式。一個經典範例是 SSMS,如下圖所示,當選擇「Windows Authentication」認證方式,Username 欄位固定為當下登入帳號,無從改變。 要改變 SSMS 中的 Windows Authentication Username,就必須改用其他使用者身分執行 SSMS。Windows Vista 起有個內建命令列工具 Runas 能指定執行身分...
Posted 02 March 2017 09:41 PMJeffrey | with no comments 4,809
Filed under:
在 Chrome/Edge 網頁用 IE 開啟超連結
這是 IE Only 網站親衛隊才有的困擾。 許多內部系統年代久遠,寫於全天下瀏覽器只有一種(IE)的時代(2004 年 IE 市佔高達 95% [ 參考 ]),寫成 IE Only 也是很合理的事。但你我都知道,時代不同了,滿天都是飛機啊,滿街都是電腦啊,HTML5 世代 IE 早已不是最好的瀏覽器選擇。望著公司那堆 IE Only 的 生財工具 營運系統網站,即使它們遲早要汰換,但也不是說翻就翻?有些規模數十人月的大專案,問君能有幾副肝,恰似鞭炮爆不完? 所以囉,繼續再跟 IE Only 網站和平共處十年...
Posted 22 January 2017 11:51 PMJeffrey | 8 comment(s) 9,872
Filed under:
TIPS-在 Windows 批次刪除 N 天前的檔案
工作上常遇到的需求:Log、暫存檔案多半有保留年限,如何用一個指令刪除某個期限前的舊檔? 今天才學到一個好用的 DOS 指令- forfiles ,參數不多,簡單易用: /p 路徑名稱 查詢對象,省略時為現在所處資料夾 /m 檔名限制 可配合萬用字元限定檔名或副檔名,例如:*.log、ex1610*.log /s 指定搜尋範圍包含子目錄及其下層目錄 /c "對找到檔案執行的動作" 例如:"cmd /c del @path"為刪除檔案,省略參數時預設為"cmd...
Posted 26 October 2016 09:54 PMJeffrey | with no comments 14,368
Filed under:
檔案部署指令實戰技巧整理
比起滑滑鼠,我更喜歡開DOS視窗敲鍵盤下指令解決問題,效率高,操作程序可以保存並加以優化,成果可反覆使用並散佈供他人使用。當手指飛快在鍵盤上躍動,還有種自己正忙著拯救世界,或是藝術家沈醉在表演中的錯覺 XD 前陣子分享過產生批次指令部署檔案的 小工具 ,在最近上線過程耍得虎虎生風,習得實戰技巧幾則,特筆記備忘。 COPY 三寶 COPY、XCOPY、ROBOCOPY 三者各有無法被取代的特色,視場合使用,俗稱 COPY 三寶(喂!不要亂取名字啦)。完整參數介紹: COPY 、 XCOPY 、 ROBOCOPY...
Posted 16 October 2016 10:16 AMJeffrey | 4 comment(s) 7,693
Filed under:
更多文章 下一頁 »

搜尋

Go

<April 2018>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication