我們許多專案,都會有網頁設計師設計版型,然後再交由前端工程師套版。不過有很多版型,都會留有 <a href="#"></a>
這樣的空連結,比較常見的用途都是在「多層次選單」的上層連結。但這樣的連結,在套用至多頁面路由的 SPA 應用程式中時,就會出現問題。由於 SPA 網頁在設計的時候,都會套用 <base href="...">
元素,設定網頁中所有連結的基礎位址 (Base URL),當使用者點擊 <a href="#">
這樣的連結時,就會導致網頁重新整理!本篇文章將解說幾個可能的解決方案。
... 繼續閱讀 ...
最近因為企業內訓的授課需求,需要在 Azure 上建立 20 台客製化環境的虛擬機器(VMs),這個時候正是使用 Azure Lab Services 的最佳時機 (以前的名稱叫做 Azure DevTest Labs 實驗室服務)。由於透過 Azure Lab Services 建立的 VMs 可以設定每天定時自動關機、自動開機,用以節省 Azure 的花費,這是一個非常貼心的設計。不過,客戶這邊的課程並不是每天上課,而是每周上課一次,這個設定就不太好用了。本篇文章我來分享剛寫好的兩份 Azure PowerShell 指令檔,方便日後批次啟動或停止這些實驗室中的虛擬機器。
... 繼續閱讀 ...
當我們手邊拿到一份問卷調查的 Excel 檔案,如果問卷題目是「複選」項目,要在 Excel 中分析出每個選項的出現比例,應該沒有比較方便的做法。我自己研究後發現,還是要透過撰寫 VBA 才能快速完成分析工作,否則如果問卷數過多,就會浪費許多時間整理資料。本篇文章將分享我的資料分析方法。
... 繼續閱讀 ...
在 Visual Studio 2017 開發工具裡,建立單元測試專案有好幾種方法,其中一種是將現有專案增加一個相對應的單元測試專案。在傳統 .NET Framework 專案中,很輕易的就可以建立完成,只要在任一類別上按下滑鼠右鍵,選擇「建立單元測試」即可。但在 .NET Core 專案中就沒那麼方便了,因為這個功能一直沒被實現。本篇文章將分享如何依據現有專案的程式碼,產生相對應的單元測試專案,一步一步帶大家了解建立單元測試專案的過程。
... 繼續閱讀 ...
撰寫 Angular 的開發者,目前應該是最自然接觸 RxJS 的了。每當有機會要用上的時候,就會在這一百多個 RxJS 運算子之間徘迴打轉,因為實在太多相似的 API 可以用,以至於經常鬼打牆寫不出來。今天,我就整理幾個不但常用,命名還很像,更容易用錯的 RxJS 運算子。
... 繼續閱讀 ...
我看過有無數企業在設計 Web API 的時候,會將所有可能的回應訊息,無論成功或失敗,全部一律回應 HTTP 狀態碼 200
(OK)。但這樣的設計完全違反 RESTful 架構精神,我們應該盡可能透過狀態碼表明回應的狀態才對。明明是一份不 OK 的訊息,硬要回應 OK 真的很怪。我就來透過這篇文章,告訴你為什麼大家會這樣設計,以及怎樣設計才正確。
... 繼續閱讀 ...
昨天寫了一個小工具,可以自動將現有 Angular CLI 建立的專案,轉換成有 Hot Module Replacement (HMR) 功能的版本,只要簡單一個命令 ng add hmr-enabled
就可以搞定,非常方便。不過我在發布專案到 npm registry 的過程中,卻意外遺漏了幾個重要的檔案,原來是有檔案被 .npmignore
給忽略掉了,到了今天傍晚才修復。我們就立刻來看看這個錯誤是怎樣發生的!
... 繼續閱讀 ...
這兩個月經常在新竹科學園區進行 Angular 企業內訓,有越來越多的企業意識到 Angular 帶來的高價值(High Value)與低總體成本(Low TCO)。不過,在高度資安的防護下,我經常需要協助學員「離線安裝」完整的 Angular 開發環境,而且必須在「無管理員身分」的權限下進行安裝。雖然我已經寫了不少相關文章,但環境設定上還是沒甚麼效率。今天這篇文章,我特地整理詳細的設定步驟,幫助大家更順利的設立 Angular 開發環境。
... 繼續閱讀 ...
從 .NET Core 2.1 開始,無論是 .NET Core 或 ASP.NET Core 專案,容器映像全部統一由 Docker Hub 上面的 microsoft/dotnet 專案提供。今天這篇文章,我就來說明如何將一份已經寫好的 ASP.NET Core 2.1 網站專案,透過 Docker 部署到容器中。
... 繼續閱讀 ...