用 WebClient 爬網頁抓內容已是老生常談,但最近發現抓 ASP.NET WebForm 網頁的特殊眉角,忍不住又想分享。 (是的,「我種了一棵葱,大家快來嚐嚐」的毛病又犯了) 主要關鍵在於當 WebForm 邏輯寫在 Server-Side Event,例如 Button_OnClick()...

我以前常苦勸只會用 WebForm Server-Side Event 寫網頁的同事:JavaScript 一定要學好學滿,Flash 已被賈伯斯賜死,Silverlight 也隨風而逝,在這 HTML5 時代唯有 JavaScript 才是王道,逃避不學 JavaScript 只會 C# 跟人家寫...

十月也算馬拉松旺季,連兩年因撞期缺席,今年十月排了隔週馬(1 2)但日子錯開,念在是舉在自家後院的賽事,免寄物跑完能馬上回家沖澡,不參加說不過去,就跑吧。 早上睡到飽,七點十分才出門,散步晃到會場時間還綽綽有餘,有主場優勢就是爽。今年台灣的路跑比賽大爆發,光 10/28 一天全台大大小小路跑就超過 ...

上篇文章體驗過在 CentOS 用 Docker Container 分別跑 Nginx 跟 ASP.NET Core 網站,並建立 Reverse Proxy 關係,接著探討在實務上當需要多個 Container 協同運作時應如何規劃整合。 一個系統常可再拆解成多個服務。以線上購物網站為例,就可能...

前面研究過在 CentOS 安裝及設定 ASP.NET Core + Nginx,習得徒手在 CentOS 安裝部署伺服器的技能,依循 Roadmap 來到下一階段 - 學習使用 Docker 簡化部署。 容器化及 Docker 這幾年熱到發燙,有些人甚至認為它已在軟體產業掀起一波革命。(我親身體驗...

工作需求,上線前置作業想從 TFS 版控抓出指定期間異動過的檔案清單,懶得尋覓現成軟體或工具,寫幾行程式自幹搞定。 TF.EXE 有個 History 命令可列舉特定期間(/v:Dyyyy-MM-dd~Dyyyy-MM-dd)特定目錄下(/recursive)所有 Changeset,加上 /for...

身為一個程式魔人,在家裡跑個伺服器也是很合理滴~ 最近玩了 ASP.NET Core、CentOS,驚喜發現 .NET Core 跨到 Linux 平台後硬體要求大降,1GB RAM 就跑得動,CPU 要求也不高,便有在家裡弄台伺服器跑家用小程式(像是救救菜英文)的衝動。在家裡架站的念頭想存在已久...

小木頭報案,紅米手機幾天前開始陷入瘋狂吃電狀態,即使關掉螢幕放著,手機一小時就掉電 60% 並發燙。 依據茶包射手準則第四章,調查 SOP 的第一步當然要詢問當事人:「最近有動了什麼變成這樣嗎?」而當事人依報案者檢調詢問攻防指南第三條,自然要回答「沒有,沒做什麼不知為何就變成這樣。」很好,完全符合大...

今天遇到的需很類似先前展示過的正式台測試台 JSON + Dapper 資料搬移術,差別在於資料表匯出的 JSON 個數很多,逐一宣告成強型別類別再反序列化太費工,且日後新增匯入對象就得改程式碼也麻煩。心想 Json.NET 可以 DeserializeObject<List>,直接用 ...

因為業績壓力十月份排了隔週馬,重溫參加過兩回的土地公馬(2015 2016)。 大清早趕到會場。土地公,早安! 五點天色尚暗,從洪爐地向下展望仍是夜景。 全馬人數不足千人,標準小而美,五點半準時起跑。 只記得開頭與結尾的陡坡,忘記華夏科技大學旁有斜度超過 20% 的厭世坡,實地跑個兩分鐘所有記...

跟同事討論到高負載 .NET Logging 議題。某程式有巨量 Log 寫入需求,執行幾小時 Log 量可達數 GB,甚至懷疑寫 Log 可能成為效率瓶頸之一,程式目前使用 log4net,考是是否應更換成其他 Log 程式庫?如果要換,有哪些選擇? 早年用過 log4net,複雜的 XML 設定...

介紹一個比較進階的效能議題 - False Sharing,先分享兩篇文章: 多執行緒程式的效能隱形殺手 - False sharing by Jed False-sharing 以及其解法 (以 Golang 為例) by Genchi Lu False Sharing 是一種開發時不易意識到...