The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

PowerShell 的 Get-ChildItem 需注意 -Include, -Path 與 Reparse Points 地雷

我一直覺得 Windows PowerShell 是一個讓人又愛又恨的命令列執行環境,其強型別的優點確實是好的讓人無法拒絕,但其執行環境的複雜度、版本相容性與各種 Cmdlet 的奇葩設計,每次遇到也都是讓人心幹神疑心曠神怡,不免嘖嘖稱奇。今天我就來分享一個昨天寫文章時遇到的神奇狀況,也就是我們常用的 Get-ChildItem cmdlet 需注意 -Path-Include-Recurse 的各種用法組合,以及一個 Reparse Points 的問題。

... 繼續閱讀 ...

設定 .NET 的 HttpClient 使用 HTTP/2 通訊協定發出 HTTP 要求

前幾天把我的部落格網站啟用 HTTP/2 通訊協定版本,結果意外發現我有個用 WebClient 抓取網頁的程式壞掉了。其實我一開始並沒有發現是 HTTP/2 造成的問題,鬼打牆了一段時間才意識到可能是 HTTP 版本差異造成的問題。這篇文章我就來分享幾種不同的 HttpClient 程式寫法,讓你用 HTTP/2 通訊協定版本抓回遠端 Web 伺服器上的網頁。

... 繼續閱讀 ...

ASP.NET Core 網站如何整合 Google 的 reCAPTCHA Enterprise 功能

我們公司多奇數位創意的官網去年底全新改版上線,網站上幾乎每頁都有聯絡多奇表單,並透過 AJAX 傳送到後端 API 負責記錄並送出郵件到我們公司的服務信箱,但網站上線一個月以來,已經收到超過 100 條垃圾訊息。因此,我打算將表單加入 Google Cloud Platform (GCP) 的 reCAPTCHA Enterprise 服務,減少收到垃圾訊息的機會,不過我發現 GCP 的文件幾乎找不到任何一份完整的 C# 範例程式,連 ChatGPT 都問不出正確結果。這篇文章我來分享一下完整的開發流程!

... 繼續閱讀 ...

如何讓 LINQPad 輸出的 JSON 結果可以顯示語法高亮

我經常透過 LINQPad 撰寫一些範例程式或實驗一些 C# 的新特性,其中最常使用的一個 API 就是 LINQPad 內建的 .Dump() 擴充方法了,他可以將一些執行結果輸出在結果視窗中,非常方便。如果要說缺點,應該就是沒有語法高亮(Syntax Highlight)了吧!這篇文章我來分享一個小技巧,幫助你在輸出結果呈現語法高亮!👍

... 繼續閱讀 ...

一次搞懂 Azure Boards 的 Iterations, Areas 與 Teams 差異之處

我經常在企業內訓分享 Azure Boards 的專案管理心法,它是一套極其強大的專案管理工具,只要你能突破其門檻,將可有效的掌握專案進度,大幅提昇專案透明度,同時也能減輕 PM 的工作負擔。我們在一個參與人數多達 30 人的專案時,就開始用到了 Teams 與 Areas 的功能與概念,這篇文章我就來分享 Iterations、Areas 與 Teams 這三個概念的差異之處。

... 繼續閱讀 ...

快速上手 SQL Server 的 JSON 操作能力

我們都知道 SQL Server 是一套強大的關連式資料庫系統,但從 SQL Server 2016 開始就加入了對 JSON 格式的支援,讓我們可以直接在 SQL Server 透過 T-SQL 就能處理 JSON 資料結構,讓我們有機會在關連式資料庫這種「結構化資料」中加入類似 NoSQL 這種「半結構化」的資料,增加了我們在架構設計與資料處理上的彈性,真的非常方便。這篇文章我就來帶大家快速上手,體驗一下如何在 SQL Server 操作 JSON 資料。

... 繼續閱讀 ...