重構筆記 - .NET 壞味道補充包
整理完「重構」一書列舉的壞味道,再補上另一份參考資料。 NDepend 是個評估程式碼好壞,估算技術債的 Visual Studio 擴充套件。它會用事先定義的規則分析專案,清查程式碼的壞味道,給出一組品質指標及技術債(Technical-Debt)估價,技術債的計量單位是預估償債(調整程式)所需的... Read More
View Article【茶包射手日記】資料表部署至新資料庫中文變問號
分享這幾天犯下的 SQL 低級錯誤。 有個新功能上線,資料庫需要配合新增資料表。該功能已在測試台測試多時,將當初建立 TABLE 的 SQL 腳本送交部署人員在正式資料庫建立資料表,不料程式執行出錯: System.Data.SqlClient.SqlException (0x80131904): ... Read More
View ArticlejQuery 小技巧 - :contains() 尋找完全吻合文字
jQuery :contains() 選擇器可用來選取子元素內包含特定文字的元素。最近遇上一個狀況,網頁上有兩個選項,內容分別是【同意】跟【不同意】: <p> <span>同意</span> <span>不同意</span&g... Read More
View ArticlejQuery 模擬網頁檔案上傳
如何使用 JavaScript 模擬 <input type="file"> 選取檔案上傳操作,一直是我寫網頁自動測試的最大障礙。 基於安全考量,瀏覽器禁止 JavaScript 代替使用者為 <input type="file"> 的... Read More
View Article2019 烏來馬拉松
年初跑了烏峽馬因陪跑初馬當了後段班,飽覽美景但與美食失之交臂,徒留遺憾。一聽說邵老師的 Ulay 烏來馬開報,立馬手刀報好名坐等豐盛補給。 接駁車上車地點在新店捷運站,離家算近,但新店到烏來四點發車時間早了點(猜是要配合送志工到會場),凌晨交通順暢,四點四十多分就到了,拱門還沒吹起來... XD ... Read More
View Article2019 貓空半馬暨月入三十萬紀念
去年的貓空半馬跑出 1:55:45 的場地 PB,今年沒有刻意在速度下功夫(年紀漸長,沒膽練間歇操心臟),但是月跑量努力維持在 200K 以上,體能狀況還行。賽前與經紀人(誰?)、教練團(哪來的?)跟六萬人的防護醫療團隊(你狠愛演?)研商結果,將本場定位成台北馬的前哨暖身測試,開放自由配速小試身手。... Read More
View ArticleRHEL/CentOS 離線安裝 Nginx rpm
接到指令要安裝一台 Nginx 當 Reverse Proxy。依過去幾次經驗估計是件簡單任務,應可在半小時內搞定。基本上就是照著(How to install and use Nginx on CentOS 7 / RHEL 7)的步驟,再依先前筆記在 /etc/nginx/conf.d 加入一個... Read More
View Article【茶包射手日記】System.Runtime.InteropServices.RuntimeInformation 無法載入錯誤
為網站寫了自動測試專案,其中引用 PuppeteerSharp 模擬網頁操作。同事由版控取回專案編譯時噴出以下錯誤: System.IO.FileLoadException: '無法載入檔案或組件 'System.Runtime.InteropServices.RuntimeInformation... Read More
View Article講座筆記 - 面對青春期叛逆
去聽了談青春期叛逆的親子講座,家裡恰好有典型活體可資印證,格外有感,不時點頭如搗蒜,但內容繁多節奏飛快,只來得及筆記一些印象較深刻的點: 共生 - 與叛逆不同,俗稱媽寶、公主病,說穿就是寵壞了。認定自己的所有需求父母都應該要滿足,否則就是父母的錯,面對事務缺乏自理能力。有時會在外表現正常,只有回... Read More
View Article.NET Core 3.0 正式版! 告別 .NET Framework ,迎向 .NET 5
.NET Core 3.0 正式版已在 9/23 舉辦的 .NET Conf 2019 同步釋出,而 .NET 版本未來發展的 Roadmap 也已大勢底定,.NET 4.8 將是最後一個 .NET Framework 版本,之後 .NET Core 將更名為 .NET 5,繼承 .NET 路線持續... Read More
View ArticleVS2019 安裝 Spy++
Spy++ 是搞 Windows 桌面程式自動化不可或缺的好幫手,用瞄準鏡功能可快速找出桌面程式視窗的類別名稱、Process ID、座標(如下圖),方便你研究子視窗結構,找出特定的視窗、欄位,能玩出許多有趣的應用,例如:伸手進其他程式讀取內容、用模擬鍵盤滑鼠進行自動化操作... 等等。 最近重操... Read More
View Article【水電工日記】架設定時澆花系統
最近心血來潮想學點園藝,上網看了影片、在市圖借了書。 學到不少園藝知識:盆栽種久根會纏繞充滿盆土導致衰敗,故每隔一兩年應要翻土切掉部分根系,換上新土或換大盆,植物才會長得更好。而放任枝芽自然生長並非最佳狀況,有些如輪生枝、徒長枝、逆生枝、叉生枝、平行枝等會阻礙發育、茁壯,甚至對樹木造成傷害。對果樹... Read More
View Article水族打氣幫浦維修經驗一則
魚缸的打氣幫浦用了兩年多,最近變得軟弱無力。換新前爬文得知,打氣幫浦的原理是靠電磁鐵帶動鐵片左右振動,鐵片上鎖了馬桶吸盤形狀的橡膠半球(術語為鼓風膜或鼓風帽),靠著一推一拉灌入氣體。鼓風帽用久會老化,若破損漏氣就可能導致出氣量變小甚至無法出氣。鼓風帽屬耗材,一顆約 25-40 元不等,水族館買得到。... Read More
View Article使用 PowerShell 查詢 IIS Log 路徑
今天被問了一個問題:「如何快速查詢 IIS 特定站台的 Log 路徑?」 還不簡單,用 IIS 管理員介面一查就有。 等等,LogFiles 目錄下一堆 W3SVC1、W3SVC2、W3SVC3... 誰是誰? 之前的笨解法是看目錄或檔案時間跟檔案大小,再依各站台流量去猜,再不然就是打開 .lo... Read More
View Article【茶包射手日記】在 ASP.NET MVC 站台使用 IIS ARR
收到需求,A 網站某個目錄的內容想改從 B 網站取得,但 URL 要維持 A 的主機名稱。例如: 讓 httq://serverA/SomePath 顯示 httq://serverB/SomePath 的內容,但 URL 保持 httq://serverA/SomePath。 IIS 有個 ARR... Read More
View Article私房小工具 - 通用型 MSDTC 測試 ASPX
先前介紹過用單一 .aspx 檔在線上環境測試 MSDTC 是否正常的小技巧,今天使用時發現一個小缺點:當有多台 SQL 需要驗證分散式交易功能,因為連線字串寫死在程式裡,需反覆修改程式儲存重測,有點麻煩。 順手把 DTC 測試程式改寫成通用版,將連線字串裡的 Data Source (SQL IP... Read More
View Article匯出 Git Commit 檔案並維持資料夾結構
工作上遇到的需求。從他處取得程式碼在本機用 Git 弄了簡單版控(不需要伺服器就可以切分支比對修改歷程,寫錯能退回原版,超讚的),改了幾支程式想將修改結果打包合併回出處。 檔案分散在多層目錄,修改已放進同一 Commit。我想依其資料夾結構整理檔案,壓縮打包後在原專案解開後覆寫,之後簽入原專案的 T... Read More
View Article黑暗猴子 DarkMonkey For IE
遇到網頁的行為不如己意,具有駭客精神的人常會忍不住想矯正它。這類情境便是 Firefox 的 GreaseMonkey 或 Chrome 的 TamperMonkey 登場的時機,針對特定網址加入一段 JavaScript, 把網頁捏成你要的形狀。 至於 IE,在古早時代曾有 Trixie 套件能實... Read More
View Article2019 板橋馬之破四好難
海山馬停辦,今年還沒有跑過浮洲穚河濱段,去年第一次跑板橋馬感覺不錯,回鍋再跑一回。 維持月跑 200K 近一年,上個月再次達成月入三十萬成就,天氣漸涼後已能配速 5:30 無補給跑十公里以上,近況不錯。前一場貓空半馬破了自己的場地記錄,手風正順,加上氣象預報當天是個乾爽睛朗的日子,我萌生瘋狂念頭,何... Read More
View Article【茶包射手日記】ASP.NET Core Kestrel 網站無權繫結錯誤與 Windows 10 Port 限制
修改久未維護 ASP.NET Core 專案,在 Visual Studio 2019 要用 Kestrel 偵錯時冒出以下錯誤: info: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0] User ... Read More
View Article