2019-03-13 10:00 PM 14 27,946
很早之前看過一篇關於 HttpClient 生命週期的討論,當時沒什麼感覺,這陣子研究 NSwag,注意到 NSwag 產生的客戶端程式庫,HttpClient 預設被當作建構式參數,由外界傳入生命週期自理。 但一方面它又提供參數允許採用每次呼叫自動建立的可拋做法,並可選擇是否使用完畢要不要 Dis...
2019-03-11 10:47 PM 0 5,863
在部落格分享心得有一項好處,是不時會獲得讀者們熱心回應,補上被我忽略的寶物利器,有些未必學得了跟得上,但保持眼界開闊總是好的,避免淪為資深井底蛙。 Swagger 初試筆記一文發表後,網友再補充了兩件好東西: AutoRest 微軟開發的 OpenAPI 規格客戶端程式碼產生工具 (感謝 Chri...
2019-03-08 11:14 PM 6 18,362
一直以來,開發 WebAPI 我都很習慣用工具自動產生線上文件、線上測試介面以及客戶端程式庫,節省增刪介面方法後要同步調整文件及程式庫的工夫。 在 Swagger 流行之前,有好幾年的時間我都是靠土砲版 CodeGen 工具,用 Reflection 掃瞄 WebAPI 介面,從 XML Docum...
2019-03-07 09:11 PM 1 8,125
網友發問:「 LINQ 可以對物件陣列進行 Pivot 轉換嗎?」 Sure, Of Course, Why Not? 對 Pivot 印象模糊的同學可先溫習這篇:Using PIVOT In SQL 2005,而本文也直接用該文的 Log 統計當例子。 假設原始資料長這樣: LogTime St...
2019-03-05 10:09 PM 10 24,567
LINQ 誕生超過十年(2007 隨 .NET 3.5 一起問市),我平日寫 .NET 程式早已「無 LINQ 不歡」,上癮程度甚至接近「無 LINQ 吾寧死」 (LINQ or Die),但我知道有不少朋友在開發時,會參考前人程式或依循習慣(或現有程式庫),繼續沿用 DataTable,for 迴...
2019-03-03 12:35 PM 0 2,980
前幾天研究過 ASP.NET Core 2.0 升級 2.2,今天手癢把部落格也從 ASP.NET Core 2.1 升到 2.2,遇到兩起小問題,學到一點新經驗,記錄如下: VS2017 建置與執行無誤,但發佈(Publish)出錯 使用 VS2017 修改專案屬性升級到 2.2,並微調 NuGe...
2019-03-02 08:20 PM 0 6,472
ClosedXML 是我用程式操作 Excel 時的奧林匹克指定程式庫(參考:令人驚豔的Excel程式庫 - ClosedXML),在 .xls 格式退休後,在 .NET 中要讀寫操作 Excel 檔案,非它莫屬,尤其結合 LINQ 用來更是得心應手。最近學到一點小眉角,筆記備忘。 假設我有個 Ex...
2019-03-01 08:54 PM 1 3,836
Coding4Fun 過程產生一個統計 FB 按讚數的小需求,手上有一份 URL 清單,我想統計各網頁臉書分享區塊的按讚數。(即下圖中的 239) 之前我用過一個笨方法,用 WebClient 抓該區塊的 IFrame 網址抓回 HTML 再從中解析,這回試試更有效率的正統做法。 Facebook...
2019-02-25 06:44 AM 1 4,806
發現前幾天提到的 ASP.NET Core with Vue 專案範本,因未納入官方支援的版本較舊停在 ASP.NET Core 2.0。 我的 Coding4Fun 專案用 2.0 跑其實也沒有什麼問題,但想想未來難免遇到需升級 .NET Core 版本場合,趁機累積點經驗也好。 ASP.NET ...
2019-02-24 03:31 PM 0 7,628
之前已介紹過在 Linux 執行 ASP.NET Core,並透過 Nginx 反向代理對外提供服務。(參考:ASP.NET Core + Nginx on CentOS 安裝筆記) 先前的做法都是透過 /etc/nginx/conf.d/xxx.conf 定義 server_name www.xx...
2019-02-23 07:31 AM 4 19,647
這兩年前端寫得少,Vue 筆記呈現「外出取柴」狀態轉眼也一年多。這段期間仍在留意 Vue.js 發展,專案上也用 Vue 取代 AngularJS 實作過幾個網頁的 MVVM,但嚴格來說沒什麼長進。 前幾週有網友問起老程式 - 中文編碼解析工具,讓我興起念頭,不如把它改成網頁版順便開源吧! 想當然爾...
2019-02-20 08:42 PM 8 45,343
如果你常看微軟新技術的範例程式碼,應不難發現 async 與 await 關鍵字已如野火燎原,無所不在。 對我這個 .NET 開發老骨頭來說,寫多執行緒、用 Task 處理非同步作業難不倒我,之前甚至也研究過 await Deadlock,但每回要用 async、await 卻有種說不上來的彆扭,琢...
2019-02-17 09:56 AM 4 117,948
岳父大人通知日光燈壞了,連忙切換成水電工模式,趕赴現場現場勘察。狀況為陽台天花板的四尺雙管日光燈壞了一枝,原因為燈管一端的固定燈腳脆化碎裂(如下圖),理論上可以只換燈腳就好,但該燈座用了幾十年,其他三個燈腳也老化可能得一併汰換,加上座身已多處鏽蝕,還是整個日光燈器換新比較省事。 為此做了功課,了解...
2019-02-16 11:59 PM 3 5,463
拜讀小鐵大分享兩篇精彩文章 - 對岸高手用駭客技巧狠狠教訓用裸照勒索女生的渣男及用網拍漏洞偷走手機的騙子的故事。觀犘學習(誤)之餘,忍不住想筆記一下手法,作為防範借鏡。 我人肉了一个用裸照威胁女孩的变态 故事是有個女孩在網路交友過程被某個渣男錄下裸照,並以此要脅見面,女生求助於作者。作者先用 QQ ...
2019-02-14 10:06 PM 4 7,254
金豬年新春開工,一早進辦公室,熱烈歡迎我的竟是枚茶包 - 伴我多年的 Acer P224W 螢幕慘遭年獸毒手,就這麼掛了... 電源開關持續閃爍橘燈,仔細觀察似乎伴隨背光反覆一閃即滅。 用電源燈閃爍爬文,可能故障點很多,電源板、AD板、燈管、面板... 但念在自己說什麼也修好過兩台螢幕,八年前第一次...
2019-02-13 06:52 AM 11 7,856
摸索了一陣子才搞懂如何用 VS2017 在 ASP.NET Core 專案新增或更新 Bootstrap、jQuery、Vue.js 等 JavaScript 程式庫,以下是我的筆記。 在此之前,我學到另一件事 - .NET Core SDK 與 VS2017 的版本採各自獨立更新,更新 VS201...