很多人並不知道 ASP.NET 的 Session 其實是有毒的!所以我個人會盡一切可能避免使用到 Session 機制,以免頁面遭到鎖定(Lock)狀況,影響使用者操作體驗。這篇文章我打算分享如何在 .NET Framework 的 ASP.NET MVC 5 精準控制不同 Controller 下的 Session 運作機制,避免使用者在多頁籤瀏覽的情況下遭到 Session 鎖定而無法瀏覽網頁。
... 繼續閱讀 ...
我最早接觸 LIFF 的時候已經是 2019 的時候了,當時的 LIFF v1 與現在的 LIFF v2 已經有了蠻大的差異,我想透過這篇文章梳理一下 LIFF v2 新版本的特性,好讓我們可以更方便的在網站上透過 LIFF 提供 LINE 用戶一些好用功能。
... 繼續閱讀 ...
前端效能調校的技法多如牛毛,但最明顯的效能殺手不外乎是 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 都問不出正確結果。這篇文章我來分享一下完整的開發流程!
... 繼續閱讀 ...