介紹好用工具 | The Will Will Web

The Will Will Web

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

使用 GnuPG 確保傳輸重要檔案或文件的過程能確保機密性與完整性

當我們要進行機密文件傳輸時,可能會面臨許多不同的傳輸方式,但是過程中必須確保資訊安全,因此你就會需要考量到許多因素。這篇文章我打算分享如何利用 GPG 工具對檔案進行簽章加密,檔案無論透過任何方式傳送給對方,都只有明確指定的對象可以開啟檔案,藉此達到資訊安全的中的機密性(Confidentiality)與完整性(Integrity)要求。

... 繼續閱讀 ...

如何在 LINQPad 7 安裝 LINQPad.QueryPlanVisualizer 外掛 (Plugin)

我最近在研究如何讓 LINQPad 7 可以在每個查詢都使用 LINQPad.QueryPlanVisualizer 外掛來顯示 LINQ 實際執行的成效,顯示 SSMS 常見的執行計畫 (Query Execution Plan)。我發現在特定查詢安裝 NuGet 套件是可以使用的,但是依據官網的指示安裝成 Plugin 的話,就沒辦法正確使用,去 GitHub 提問也得不到什麼有效的答案,經過了好幾天的嘗試,我終於找出正確的設定方法,特別寫文章註記一下。

... 繼續閱讀 ...

介紹好用工具:mssql-scripter (自動將完整資料庫匯出成 T-SQL 的神器)

遷移 SQL Server 資料庫是一件感覺好像很簡單,但做起來可能會很麻煩的工作。其實透過 SSMS 就可以做到很多種不同的資料庫遷移方法,但我想找一個能夠更方便的方式,透過命令列的方式自動化整個遷移過程,最近我找到了這個 mssql-scripter 工具,完全可以符合我的需求。這篇文章我就來說說我的應用情境,以及 mssql-scripter 工具的使用方式。

... 繼續閱讀 ...

分享一組我在啟動 Windows Sandbox 時都會執行的初始設定腳本

在本機進行 Windows 應用程式的測試,最簡易的方法就是啟動 Windows Sandbox 沙盒環境,不用十秒就可以開啟一台臨時的虛擬機,關閉後所有資料都不會保留,非常方便用來驗證許多安裝作業流程。不過 Windows 10 內建的這個 Windows Sandbox 實在是太乾淨了,每次啟動都要手動安裝許多工具才能開始使用,所以我打算用這篇文章記錄一下我會在啟動後執行的自動化命令。

... 繼續閱讀 ...

設定 Angular 專案使用 husky 簡化 Git hooks 設定並用 Prettier 統一風格

我們在團隊中開發 Angular 應用程式,經常需要同步每個成員的程式碼格式,與其訂定 Coding Style (代碼風格),倒不如直接用工具強制所有成員用一致的風格進行程式碼排版。本篇文章我將示範用 husky 搭配 prettier 來設定 Git 的 pre-commit hook,讓每個人在 git commit 之前就自動將變更的程式碼進行排版。

... 繼續閱讀 ...

分享幾個常用的 7-Zip 壓縮與解壓縮命令

我們最近幾年幾乎所有案子都導入 CI/CD,把所有能自動化的工作全部都指令化,所以只要公司需要開發時期用的測試機,或是客戶需要安裝主機,通常都可以在 10 分鐘內搞定所有環境與設定。今天這篇文章我要來分享幾個常用的 7-Zip 命令與參數,因為 7-Zip 在第一次使用 7z 命令的時候,他的使用方式比較沒那麼直覺,所以寫成文章供未來查表參考之用。

... 繼續閱讀 ...

自製編譯器不求人:快速上手 ANTLR 與 .NET 開發環境設定

有時候我們需要自訂 DSL (Domain Specific Language) 領域特定語言,就需要自訂格式、語法,並自製編譯器去解析這份語言。目前最為普遍的作法大概就是 ANTLR 工具了。這個工具主要由 Java 開發而成,但可以自動產生 C# 程式碼,讓你用 C# 去解析這份語言,甚至可以用這份語言產生另一份語言,這也是 DSL 的另一種常見情境。

... 繼續閱讀 ...

使用 .NET CLI 的 dotnet openapi 快速建立 Web API 用戶端函式庫的方法

在 Visual Studio 2019 裡面使用含有 OpenAPI 規格的 Web API 已經是十分便利,只要規格寫的好,Web API 用戶端函式庫只要一秒鐘就可以產生。但其實這些好用的功能背後都是靠 MSBuild 與 NSwag 做到,今天花了一整天把所有技術細節釐清,釐清之後對這整套作法是如此的豁然開朗,感覺很棒。這篇文章我就來寫寫今日的研究心得!

... 繼續閱讀 ...

使用 OpenSSL 與 cURL 檢查網站伺服器支援哪幾種 Cipher Suites

當我們從用戶端透過 TLS 協定連接伺服器時,用戶端會準備一組 Cipher Suites 清單給伺服器端,伺服器端必須選用一個強度最高的 Cipher 加密演算法回應,之後才會進行金鑰交換,並開始使用加密連線,確保網路安全。本篇文章將分享如何透過 OpenSSL 查詢有哪些 Cipher Suites 可用,並示範如何透過 cURL 指定特定 Cipher 進行連線與檢查伺服器是否支援特定 Cipher Suite 加密演算法清單。

... 繼續閱讀 ...

如何停用 Google Chrome 內建的 Ctrl-W 關閉頁籤快速鍵

昨天試用了一下 GitHub Codespaces 這套完全線上使用的整合開發環境,這套基於 Visual Studio Code 的雲端版本功能相當完整,所有在地端 Visual Studio Code 的設定,都可以全自動同步上去,所有擴充套件也都可以用。但唯一的不便之處,就是 Chrome 預設的 Ctrl-W (關閉目前頁籤) 快速鍵,會自動覆蓋掉 Visual Studio Code 常用的 Ctrl-W (關閉目前檔案),可是這個快速鍵又這麼常用,所以一不小心就會關閉線上編輯器。因此,我研究出兩種方法有效避免頁籤被關閉!

... 繼續閱讀 ...