前端效能調校的技法多如牛毛,但最明顯的效能殺手不外乎是 JavaScript 佔用 Main Thread 而導致頁面無法回應的狀況了。最近研究 Partytown 這個函式庫,他用了一個非常巧妙的技巧,把部分 JS 自動切換到 Web Workers 背景執行。這篇文章我就來分享如何將 Partytown 安裝到任意網站中。
... 繼續閱讀 ...
我最近把我的部落格與公司官網的 jQuery 完整移除,全部都改用 VanillaJS 來實現原本的功能,原本以為網站會需要改很多地方,但實際動手下去實現之後才發現其實也沒那麼難,只要你有強大的工具在手,這件工作其實很簡單,這篇文章我就來分享我的方法。
... 繼續閱讀 ...
我們有個大型的 Angular 專案,原本在 Azure Pipelines 的 CI 都很順利,但是一個月前開始變的不穩定,常常會掛掉,而掛掉的原因是「記憶體不足」造成的。本篇文章我打算分享本次問題的 Log 內容,並提供一個解決方法。
... 繼續閱讀 ...
我一直覺得 Windows PowerShell 是一個讓人又愛又恨的命令列執行環境,其強型別的優點確實是好的讓人無法拒絕,但其執行環境的複雜度、版本相容性與各種 Cmdlet 的奇葩設計,每次遇到也都是讓人心幹神疑心曠神怡,不免嘖嘖稱奇。今天我就來分享一個昨天寫文章時遇到的神奇狀況,也就是我們常用的 Get-ChildItem cmdlet 需注意 -Path
與 -Include
與 -Recurse
的各種用法組合,以及一個 Reparse Points 的問題。
... 繼續閱讀 ...
最近一直在優化我的部落格網站,有常來逛的人應該都可以明顯感受出效能提升,我的其中一個優化項目就是開始使用最新潮的 WebP 與 AVIF 圖檔格式。這篇文章我就來分享如何透過強大的 ImageMagick 工具來批次轉換各種圖片格式。
... 繼續閱讀 ...
前幾天把我的部落格網站啟用 HTTP/2 通訊協定版本,結果意外發現我有個用 WebClient 抓取網頁的程式壞掉了。其實我一開始並沒有發現是 HTTP/2 造成的問題,鬼打牆了一段時間才意識到可能是 HTTP 版本差異造成的問題。這篇文章我就來分享幾種不同的 HttpClient 程式寫法,讓你用 HTTP/2 通訊協定版本抓回遠端 Web 伺服器上的網頁。
... 繼續閱讀 ...
我們公司多奇數位創意的官網去年底全新改版上線,網站上幾乎每頁都有聯絡多奇表單,並透過 AJAX 傳送到後端 API 負責記錄並送出郵件到我們公司的服務信箱,但網站上線一個月以來,已經收到超過 100 條垃圾訊息。因此,我打算將表單加入 Google Cloud Platform (GCP) 的 reCAPTCHA Enterprise 服務,減少收到垃圾訊息的機會,不過我發現 GCP 的文件幾乎找不到任何一份完整的 C# 範例程式,連 ChatGPT 都問不出正確結果。這篇文章我來分享一下完整的開發流程!
... 繼續閱讀 ...
我經常透過 LINQPad 撰寫一些範例程式或實驗一些 C# 的新特性,其中最常使用的一個 API 就是 LINQPad 內建的 .Dump()
擴充方法了,他可以將一些執行結果輸出在結果視窗中,非常方便。如果要說缺點,應該就是沒有語法高亮(Syntax Highlight)了吧!這篇文章我來分享一個小技巧,幫助你在輸出結果呈現語法高亮!👍
... 繼續閱讀 ...
我經常在企業內訓分享 Azure Boards 的專案管理心法,它是一套極其強大的專案管理工具,只要你能突破其門檻,將可有效的掌握專案進度,大幅提昇專案透明度,同時也能減輕 PM 的工作負擔。我們在一個參與人數多達 30 人的專案時,就開始用到了 Teams 與 Areas 的功能與概念,這篇文章我就來分享 Iterations、Areas 與 Teams 這三個概念的差異之處。
... 繼續閱讀 ...