The Will Will Web

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

如何讓 Node.js 應用程式在 GitHub Action 大幅提昇 CI/CD 執行效率

我手邊有個 Next.js 的應用程式,在設定 GitHub Action 的 CI/CD 自動部署到 Azure Web App 的過程,在 CI 的 actions/upload-artifact@v2 這個步驟花費了超級大量的時間上傳 node_modules 資料夾中的檔案,實在是太沒效率了。因此我改在上傳前壓縮整個目錄,結果整體 CI/CD 的時間直接從 26m 34s 降到 8m 58s 之多,部署效率大幅提升。今天這篇文章我就來說說我的寫法。

... 繼續閱讀 ...

深入理解 ASP.NET MVC 與 ASP.NET Core MVC 擴充驗證屬性的改變

我在 2013 年的 ASP.NET MVC 開發心得分享 (24):擴充部分類別的建構子 文章中,是我第一次介紹 .NET Framework 年代的 ASP.NET MVC 如何替「實體資料模型」(Entity Data Model) 在有使用 EDMX 自動產生程式碼的情況下如何還能擴充現有的「實體模型類別」(Entity Model Class) 的「驗證屬性」(Validation Attributes)。但直到 ASP.NET Core 的 MVC 開始,作法有點改變了,這篇文章我來記錄一下這些變化的地方。

... 繼續閱讀 ...

認識 ASP.NET Core 7.0 的啟動設定檔 (Launch Profile)

由於 ASP.NET Core 7.0 與 ASP.NET Core 6.0 的專案範本中的啟動設定檔(Launch Profile)有些許不同,而我最近的 ASP.NET Core 課程剛好有學員提到這個問題,所以我就來整理一下相關知識,幫助大家更好的認識這個 Properties\launchSettings.json 檔案。

... 繼續閱讀 ...

介紹好用工具:ChatGPT 萬能工具箱 (Chrome/Edge 擴充套件)

我最近在公司內寫了不少 ChatGPT 外掛,幫助同仁更好的利用 ChatGPT 來輔助開發或完成例行工作,我趁著這次連續假期,抽了一個晚上的時間來將其中兩個功能打包成 Chrome/Edge 瀏覽器的擴充套件,並且成功上架到 chrome 線上應用程式商店,套件名稱就叫做:ChatGPT 萬能工具箱。這篇文章我就來介紹一下這個工具可以怎麼用!

... 繼續閱讀 ...

如何利用瀏覽器原生的 Clipboard API 讀寫使用者的剪貼簿資料

我們有時候會在一些網站看到「複製到剪貼簿」功能,它不但可以複製我們肉眼看見的文字,還能複製完整的格式讓你可以貼到 Teams 或 Word 之中,有時還能複製完全客製化的內容,其實這背後都是透過瀏覽器內建的 Clipboard API 達成的。今天這篇文章我就來梳理一下 Clipboard API 的一些用法與地雷。

... 繼續閱讀 ...

使用 SPA 單一頁面應用程式設計網頁表單應考量密碼管理器需求

由於我公司有使用玉山商業銀行來處理帳務,我經常需要登入玉山全球智匯網以審核放行一些廠商款項,我一直以來都有使用密碼管理器的習慣,確保我的每個網站所使用的密碼都是不一樣的,強化資訊安全。不過,該網站在我用了數幾年之後,從不久之前開始,該網站完全無法自動登入了,深入研究後才發現,原來他們把網頁上的表單欄位的 id 屬性移除了!這篇文章我來說說我解決此問題的過程,也說說前端工程師應注意的事項!

... 繼續閱讀 ...

介紹好用工具:功能完整且強大的 LFTP 命令列工具

我之前一直想找一套不錯的 FTP 傳檔工具,我說的不是 FileZilla 這種 GUI 工具,而是可以透過批次檔自動完成 FTP 檔案傳輸的 CLI 工具。最近終於讓我找到了一套非常理想的 LFTP 工具,不但支援多種 FTP 通訊協定,其內建的命令與參數也超級多,功能強大好用,今天這篇文章我們就來介紹這套好用的 FTP 命令列工具!👍

... 繼續閱讀 ...