TIPS - 限定 Visual Studio 使用的 C# 語言版本
同事通報:無法編譯簽入的 C# 專案,部分程式碼存在語法錯誤,細查發現是 Visual Studio 2015 Update 3 不認得以下寫法:publicstring Id { get => RawId.ToString(); set => RawId.Parse(value)}原以為這是 C# 6 語法,VS2015 理應支援,進一步確認是 C# 7...
View Article【茶包射手日記】IE11 localStorage 為 null
測試一陣子的專案接到回報,某網頁在某台電腦用 IE11 檢視有錯,用 Chrome 或其他電腦的 IE 則無問題。起初懷疑是 IE 相容模式問題,幸好使用者在同一辦公室,得以親自借用電腦開 F12 查案,追出關鍵點在於問題 IE 的 localStorage 不知何故為 null,而網頁裡的 JavaScript 程式假設網頁會在 IE9+ 或 Chrome 執行,未考慮瀏覽器不支援...
View ArticleVS2015 Update 3 TypeScript 語法標示失效
Visual Studio TypeScript 版本相容問題又來了~ Orz同事 Visual Studio 2015 Update 3 的 TypeScript 版本仍在 1.8,配合專案要升級到 2.3 (相容 2.4 版需修改程式), 沒留神裝成 TypeScript for Visual Studio 2015最新版( 2.7.2,應點開 Detail 才能下載歷史版本),...
View Article當心 Request.Url.ToString() 傳回無效 URL
抓到一個誤用 Request.Url.ToString() 造成的 Bug。由使用者回報錯誤,追出某段程式擷取 Request.Url.ToString() 加工產生的連結有誤。 原本 URL 參數包含另一頁網址,依規定做了 UrlEncode,如: b=http%3A//blog.darkthread.net%3Fm%3D1%26a%3D456 。ASP.NET 程式抓取...
View ArticleSQL 最大伺服器記憶體設定值研究
SQL Server 預設會用光主機所有記憶體(預設上限為 2PB = 2048TB),除非整個資料庫容量小於總記憶體,否則把記憶體當成 Cache 能提升效能、減少磁碟 I/O 耗損,絕對利多於弊。如果同主機有多個資料庫執行個體,或是要與其他應用程式、服務分享記憶體,就必須透過...
View ArticleCODE - C# 推算檔案相對路徑
最近在資料夾比對工具遇到一個需求:要以某個資料夾為基準推算檔案的相對路徑。例如,若基準資料夾為 C:\Folder,則 C:\Folder\SubFolder\Test.txt 的相對路徑為 SubFolder\Test.txt。類似需求以前加減寫過,說穿了全是字串比對的功夫,靠將路徑前方相同部分移除取得相對路徑。如果相對路徑需支援 ..\..\Test.txt...
View ArticleJavaScript 將輸入欄位內容複製到剪貼簿
部落格原本用的程式碼顏色標示(Syntax Highlight)套件是十年前的產物,早就跟不上程式語言演進腳步,上篇文章起網站悄悄改版,改用支援 176 種語法及 76 種樣式並持續更新的 highlight.js。(列入評估的另一選項 prism.js也很出色,頗難抉擇,最後選定 Github 觀注度較高的 highlight.js。延伸閱讀:Top 5 : Best code syntax...
View ArticleHttpUtility.ParseQueryString 還原字串中文編碼問題
在 .NET 裡要解析 URL 參數字串(QueryString,例如: a=1234&b=ABCD),自己拆字串就遜掉了,呼叫 HttpUtility.ParseQueryString()才是王道,這是我很多年前就學到的知識。最近再有個新發現,ParseQueryString() 所傳回的結果表面上是個 NameValueCollection,但骨子裡則是內部型別 –...
View ArticleAngular 1.x 技術支援何時終止?
近一年多來工作主軸移回後端,我在前端方面進展有限,偶爾遇到要寫 Web UI 的場合,還是要靠過去整理好的 Angular 1.x + KendoUI 共用程式庫,歷經時間與實務需求磨練過,功能完整度及穩定性良好,加上使用經驗豐富,三兩下就能拼出所需介面。雖然先前已評估好未來要轉向...
View ArticleCoding4Fun - 別踩白塊兒 App 硬體外掛
小時候我也有段很愛玩電腦遊戲的時光,但玩法跟常人略有不同。眼拙手殘外加沒耐性,不管動作遊戲還是冒險遊戲,對我來說最大的樂趣不在苦練破關,而是偷改遊戲存檔或資料檔,讓角色在遊戲世界有花不完的錢、穿被打如蚊叮的裝,外加天生神力用小木棍也能捅死大魔王,說穿了其實就是作弊啦~ 年輕同學們可能會覺得,作弊有什麼好說嘴?上網 Google 改法、找現成工具不就好了,甚至有些遊戲就內建作弊碼......
View Article【茶包射手日記】ASP.NET 2.0 Web Site 升 3.5 怪異問題一則
分享在同事專案發現的有趣茶包。同事接手超古老的 ASP.NET 2.0 WebSite 專案,第一步先升級成 3.5,從青銅器時代推演到鐵器時代。依過去經驗,3.5 也基於 2.0,除了要將 AJAX 擴充功能轉成內建,幾乎是無痛升級。(事實上,2.0 就算升 4.0/4.5 也很少遇到麻煩)但這回遇上怪事。未升 3.5 前 Build Web Site 成功,升級後出現缺少 ASP.NET...
View Article網頁偵錯鬼問題 - 開了 F12 開發者工具就正常?
分享今天卡到陰,耗掉我半小時青春的鬼問題。有個待辦事項清單網頁,使用者可點選待辦項目以 Modal Dialog 連上位於其他主機的網頁執行作業,待 Modal Dialog 關閉,待辦清單需依據執行結果決定是否將該筆作業註記為已完成,避免重複處理。由於待辦清單與執行作業網站分處不同伺服器,跨站台情境無法使用 returnValue 傳回結果,故我會靠另設狀態程式從中傳話以克服限制。(細節可參考...
View Article解決 TFS 本機工作區項目過多問題
在公司混得愈久,沾染的專案就愈多(講得好像專案是髒東西一樣,咦,不是哦?),每回改程式查程式的第一步就是從 TFS Get Latest 取回最新版本,日積月累留下後遺症。不知從何時起,Visual Studio 中只要是與 TFS 有關的操作都如老牛拖車,讓我有想爆粗口的衝動(大家都知道,我性急如王藍田呀),最近發現,輸出視窗還冒出以下警告:TF401190: The local...
View Article2018 萬金石馬拉松
跑過兩回(2013、2014)萬金石,賽道風景優美全程交管是迷人之處,這幾年更是一路升級銅質銀質等級。不過,雖然大會貼心備有接駁車,凌晨四點前要趕到台北車站搭車,兩點多就得起床,其實挺爆肝的,在我心中並不甜,後來就沒再跑,今年原本也沒計劃要報。萬金石是台灣少數要抽籤的熱門賽事,心想反正抽籤不花錢就隨手填了資料,開獎後驚聞跑步老搭檔忠孝哥沒中籤扼腕不已,感覺自己的中籤信正在閃閃發光,腦波一弱就......
View ArticleCODE–URL調整HTTP/HTTPS、Port、QueryString參數公用函式
前陣子談過用 HttpUtility.ParseQueryString 解析、修改及還原參數的簡便做法,一不做二不休,再來聊聊如果拿到一個 URL, HTTP 要改 HTTPS、主機名稱要換、Port、路徑要改,是不是也有不走字串比對置換的優雅做法?爬文查到好用的 .NET 內建物件 - UriBuilder(.NET 2.0...
View Article【茶包射手日記】詭異的 TypeScript lib.es6.d.ts JSON 重複宣告錯誤
先前處理過幾次 VS2017 TypeScript 版本相容問題,特徵都是專案可編譯但 Error List 有錯誤。在某專案遇到類似狀況,錯誤訊息為 Cannot reclare block-scoped varialbe 'JSON'. @ lib.es6.d.ts。心中警鈴大作,心想應該又是煩人的 TypeScript 版本相容問題。將 TypeScript 版本從 2.5 更新到...
View Article【茶包射手日記】型別更名後 Visual Studio 編譯仍傳回找不到原名稱錯誤
文章標題很繞口,情境也有些複雜,先來個戰情簡報:我有個共用程式庫專案 MyModels.csproj 同時被加入 A.sln 跟 B.sln 兩個解決方案,A.sln 開發過程發現 MyModels 某類別名稱有錯別字,Substitute 誤寫為 Substitue (結尾少一個 t),幸好專案仍在開發階段,趁早更正,省得日後每次見到心煩。使用 Visual Studio...
View ArticleWCF 比 ASP.NET Core WebAPI 更快?
同事轉了一篇探討 WCF 與 ASP.NET Core WebAPI 效能的比較文章: Is WCF faster than ASP.NET Core- Of course not! Or is it?結論出乎意料。作者看到一則 Reddit 上關於 WCF/ASP.NET WebAPI 效能討論 (Reddit可想成國外的 PTT) 就認真了,跑了蠻專業的測試,試了多種組合,WCF 幾乎都輕鬆將...
View ArticleORACLE筆記-使用 CONNECT BY 呈現階層化資料
很久很久以前(轉眼已十年惹)學會用 SQL 2005 Common Table Expression呈現資料表中的階層式資料(組織圖、BOM表),當時還學到 ORACLE 有個 CONNECT BY 語法效果類似。說來慚愧,對它只停在「知道」的層次,沒實地玩過,直到今天遇到必須使用 ORACLE...
View Article2018 三重馬
三重馬第三回(2015 2017)。三重馬在我心中是累積全馬業績的優質賽事,報名費親民、交通便捷、賽道平坦、路線單純、四月氣候冷熱不致極端,補給單調但不愁短缺,賽事小而美,加上主辦單位經驗豐富,幾無踩雷風險,是穩穩賺進一馬的好選擇。這半年來我調整了練跑方式。從美津濃、迪卡儂進化到 Y 拖(愈來愈省錢惹,呵),不再繞跑道改跑河演,晨跑距離也拉長到 10K...
View Article