Vue筆記4-Vue.js + TypeScript + ASP.NET Core
這兩年前端寫得少,Vue 筆記呈現「外出取柴」狀態轉眼也一年多。這段期間仍在留意 Vue.js 發展,專案上也用 Vue 取代 AngularJS 實作過幾個網頁的 MVVM,但嚴格來說沒什麼長進。 前幾週有網友問起老程式 - 中文編碼解析工具,讓我興起念頭,不如把它改成網頁版順便開源吧! 想當然爾... Read More
View Article使用 Nginx 將 ASP.NET Core 掛為子網站
之前已介紹過在 Linux 執行 ASP.NET Core,並透過 Nginx 反向代理對外提供服務。(參考:ASP.NET Core + Nginx on CentOS 安裝筆記) 先前的做法都是透過 /etc/nginx/conf.d/xxx.conf 定義 server_name www.xx... Read More
View ArticleASP.NET Core 2.0 升級 2.2 雜記
發現前幾天提到的 ASP.NET Core with Vue 專案範本,因未納入官方支援的版本較舊停在 ASP.NET Core 2.0。 我的 Coding4Fun 專案用 2.0 跑其實也沒有什麼問題,但想想未來難免遇到需升級 .NET Core 版本場合,趁機累積點經驗也好。 ASP.NET ... Read More
View ArticleCODE-查詢特定網址的臉書按讚數
Coding4Fun 過程產生一個統計 FB 按讚數的小需求,手上有一份 URL 清單,我想統計各網頁臉書分享區塊的按讚數。(即下圖中的 239) 之前我用過一個笨方法,用 WebClient 抓該區塊的 IFrame 網址抓回 HTML 再從中解析,這回試試更有效率的正統做法。 Facebook... Read More
View Article使用 ClosedXML 結合 LINQ 操作
ClosedXML 是我用程式操作 Excel 時的奧林匹克指定程式庫(參考:令人驚豔的Excel程式庫 - ClosedXML),在 .xls 格式退休後,在 .NET 中要讀寫操作 Excel 檔案,非它莫屬,尤其結合 LINQ 用來更是得心應手。最近學到一點小眉角,筆記備忘。 假設我有個 Ex... Read More
View ArticleVS2017 ASP.NET Core 發佈與執行問題兩則
前幾天研究過 ASP.NET Core 2.0 升級 2.2,今天手癢把部落格也從 ASP.NET Core 2.1 升到 2.2,遇到兩起小問題,學到一點新經驗,記錄如下: VS2017 建置與執行無誤,但發佈(Publish)出錯 使用 VS2017 修改專案屬性升級到 2.2,並微調 NuGe... Read More
View Article好 LINQ,不用嗎?
LINQ 誕生超過十年(2007 隨 .NET 3.5 一起問市),我平日寫 .NET 程式早已「無 LINQ 不歡」,上癮程度甚至接近「無 LINQ 吾寧死」 (LINQ or Die),但我知道有不少朋友在開發時,會參考前人程式或依循習慣(或現有程式庫),繼續沿用 DataTable,for 迴... Read More
View Article【答客問】用 LINQ 實作 Pivot 轉換
網友發問:「 LINQ 可以對物件陣列進行 Pivot 轉換嗎?」 Sure, Of Course, Why Not? 對 Pivot 印象模糊的同學可先溫習這篇:Using PIVOT In SQL 2005,而本文也直接用該文的 Log 統計當例子。 假設原始資料長這樣: LogTime St... Read More
View ArticleSwagger 初試筆記
一直以來,開發 WebAPI 我都很習慣用工具自動產生線上文件、線上測試介面以及客戶端程式庫,節省增刪介面方法後要同步調整文件及程式庫的工夫。 在 Swagger 流行之前,有好幾年的時間我都是靠土砲版 CodeGen 工具,用 Reflection 掃瞄 WebAPI 介面,從 XML Docum... Read More
View Article再探 WebAPI 客戶端自動產生器 - AutoRest、NSwag 與 .NET 3.5 支援問題
在部落格分享心得有一項好處,是不時會獲得讀者們熱心回應,補上被我忽略的寶物利器,有些未必學得了跟得上,但保持眼界開闊總是好的,避免淪為資深井底蛙。 Swagger 初試筆記一文發表後,網友再補充了兩件好東西: AutoRest 微軟開發的 OpenAPI 規格客戶端程式碼產生工具 (感謝 Chri... Read More
View ArticleHttpClient,using 還是 static?
很早之前看過一篇關於 HttpClient 生命週期的討論,當時沒什麼感覺,這陣子研究 NSwag,注意到 NSwag 產生的客戶端程式庫,HttpClient 預設被當作建構式參數,由外界傳入生命週期自理。 但一方面它又提供參數允許採用每次呼叫自動建立的可拋做法,並可選擇是否使用完畢要不要 Dis... Read More
View ArticleASP.NET WebAPI 2 - 使用 POST Body 傳送多參數
Swagger 背後的生態系統豐富,為享受寫好 WebAPI 後用現成工具自動產生文件、測試網頁、客戶端程式庫的便利,我準備調整 WebAPI 的開發策略。 過去我主要是用 ASP.NET MVC Controller 實作 WebAPI,即(範例教學:使用 ASP.NET MVC 打造 WebAP... Read More
View ArticleNSwag Studio C# 程式產生器客製化
評估過 AutoRest、NSwag、Swagger CodeGen 的客戶端程式碼產生功能,我選擇 Swag Studio,理由是 GUI 介面友善,不依賴第三方套件,且輸出結果為單一檔案,較符合我的要求。 實務應用上,難免需要微調產出結果以符合專案的特殊要求,而我遇到的情境得支援 .NET 3.... Read More
View Article使用 C# 寄出紅色主旨 Outlook 郵件
收到冷門需求。 公司人資會寄一種很炫的通知信,在收信匣萬黑叢中一點紅,十分顯眼。業務單位看到了,舉手說他們也要,希望某系統的重要通知信也能比照變成紅色主旨並跳出提醒,力求從茫茫信海脫穎而出:(如下圖所示) 紅色主旨之前看過,但從沒去想是怎麼辦到的。研究後發現是個 Outlook 小技巧 - 寄信時... Read More
View Articlenpm 安裝套件時發生 unable to get local issuer certificate 錯誤
在公司用 npm 裝 Chromium,因為網路設備會置換 SSL 憑證的緣故,不意外地遇上 unable to get local issuer certificate 錯誤。爬文,較常見的解法是設定 npm config set strict-ssl false 暫時關閉 SSL 檢查,麻煩一點... Read More
View Article2019 蘆竹馬
2019 年我的首場賽事 - 蘆竹馬~ 第一次參加,會場海湖地景公園位於竹圍漁港旁,看報名簡章賽道貼著海岸線,腦中浮現的是萬金石浪濤為伴的奔跑場景,實際跑過,發現它完全不像海岸馬,而是不折不扣的美食強化版國道馬~ 六點整全馬半馬一起開跑,聲勢浩大。 起跑不到兩公里便轉上 61 快速道路,北上車道封... Read More
View ArticlePowershell 學習筆記
前陣子體驗到 Powershell 免編譯可直接修改調整的好處,而明文格式人眼可辨,列入 SOP 移交 OP 接受度較高,加上 Powershell 已取代 VBScript 成為微軟系統管理腳本主力,相關資源豐富,近期手邊有些排程應用,便計劃改用 Powershell 解決。 寫著寫著發現一個問題... Read More
View Article野外求生系列 - 徒手製作 .NET .exe
野外求生系列又來了,今天要示範「如何在沒有開發工具(Visual Studio、VSCode、MSBuild、LINQPad...)的環境生出 Console Application .exe 整合既有 DLL 程式庫做測試?」 情境是這樣的,主機上有某支 .NET 程式出錯,我們嚴重懷疑是某段 O... Read More
View Article野外求生系列 - 使用 Powershell 測試現有 DLL
前篇文章介紹了如何在無開發工具的管制環境撰寫 Program.cs 並轉為 Program.exe,以便在執行環境修改與測試現有 DLL 程式庫重現問題。 前陣子從頭學習了 Powershell,知道 Powershell 可直接引用 .NET 類別,理論上也能做到同樣的事。 但實際做過一回才發現沒... Read More
View ArticleVisual Studio 2019 來了! 新功能快速整理
地表最強開發工具,Visual Studio 於 2019/4/3 釋出 2019 正式版,在 FB 被洗版一整天,不安裝說不過去,所以... VS2019,我來了! 還沒時間細細體驗,先從官方文件了解 VS2019 有哪些新功能,以下是快速整理: (新功能重點整理裡有詳細說明、擷圖及示範影片,值... Read More
View Article