[廚餘回收] Visual Studio 2019 一直出現「warning : Your project does not specify a TypeScriptToolsVersion.」警告

Visual Studio 2019 在建置 ASP.NET Core 專案時,一直出現下面的警告訊息,由於我的專案沒有使用 TypeScript,看到這個警告訊息也是覺得挺詭異的,一直想要把它弄掉。

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\TypeScript\Microsoft.TypeScript.targets(72,5): warning : Your project does not specify a TypeScriptToolsVersion. The latest available TypeScript compiler will be used (3.9). To remove this warning, set TypeScriptToolsVersion to a specific version or "Latest" to always select the latest compiler.

...繼續閱讀 »

[小菜一碟] 在 JavaScript 的 Array.prototype.forEach() 方法實現 continue; 及 break; 的效果

眾所皆知,在 JavaScript 中的 Array 有一個 forEach() 方法很好用(而且 IE 9 以上有支援),大部分的使用情境都可以用來取代傳統的 for 語法,但難免會有需要 continue 或 break 的場景,continue;break; 在 forEach() 方法中是不會有作用的,我們需要換個方式來做。

...繼續閱讀 »

[料理佳餚] 拐個彎的 JavaScript 的私有欄位(Private Field)

這天,我想要在 JavaScript 的 Class 中加入一個私有欄位(Private Field),用來封裝建構式傳入的參數,以提供給唯讀屬性使用,爬文研究之後發現,雖然 JavaScript 有定義私有欄位的語法,但它是實驗性質的功能,不一定每個瀏覽器都有支援,至少目前為止 Firefox 就完全不支援,所以我得拐個彎了。

...繼續閱讀 »

[料理佳餚] 在 CentOS 7 將 RAM Disk 內的檔案於關機前備份、開機後還原。

上一篇文章講到了在 Linux 環境底下建立 RAM Disk 來用,如果要讓它使用上跟一般的磁碟機相似的話,還差最後一哩路,那就是「重新開機之後檔案還在」,要做到這件事,概念上就是「關機前備份檔案」、「開機後還原檔案」,那我們來看一下在 CentOS 7 要怎麼做?(CentOS 8 一樣適用)

...繼續閱讀 »

[料理佳餚] 在 Windows Server 2016/2019 建立 RAM Disk

在雲端上的虛擬機器,其磁碟機會是個瓶頸,以 GCE 為例,如果應用程式需要讀寫大量的小檔,就會發現磁碟機的 IOPS 不太夠用,這時候就要增加磁碟機空間或是增加 CPU 的核心數,磁碟機的 IOPS 才會隨之增加,但是為此所增加的磁碟機空間或是 CPU 的核心數,我們根本就用不了那麼多,所以我就想說建立 RAM Disk,檔案從裡面存取,在離峰時間才執行指令將檔案備份到永久磁碟去,Windows Server 上有方法可以建立 RAM Disk,我們來看看怎麼做?

...繼續閱讀 »

[食譜好菜] 用 Visual Studio 2019 建置整個 ASP.NET Core 框架來下中斷點及追蹤程式碼

在這個時代做程式設計,通常不會自己造輪子,都是使用別人做好的工具居多,難免會出現鬼打牆的情況,倒不見得是工具本身有 Bug,大多是我們對於工具內部的運作機制不熟悉的關係,這時候有原始碼可以參考的話,就能方便我們去處理問題,如果還能建置起來進去工具內部追蹤程式碼,更能加快處理問題的速度,以避免鬼打牆的情況持續太久,這篇文章就來記錄一下如何用 Visual Studio 2019 建置整個 ASP.NET Core 框架?

...繼續閱讀 »

[廚餘回收] 在 ASP.NET Core 使用 ViewLocationExpander 實作 Display Mode 要當心 ViewLocation 的 Cache 機制

這件事情是這樣的,在 ASP.NET MVC 有一個 Display Mode 功能,我們公司把它應用在 AWD(Adaptive Web Design) 機制上,雖然在 ASP.NET Core 被拿掉了,但是我們可以實作 IViewLocationExpander 把它給弄回來,某天發現某個 Mobile 網頁的內容套到了 Desktop 版的 Layout,百思不得其解,最後爬了 ASP.NET Core 的原始碼才知道怎麼回事。

...繼續閱讀 »

[創意料理] 前端及後端常見的 Cache 更新策略:定時更新、準時更新

Cache 是在 Web 應用程式開發領域,無論前端或後端都需要深入了解的一件事情,良好的 Cache 機制是可以降低網頁的回應時間,以及同時節省後端伺服器的運算資源,其中關乎到 Cache 品質的兩項因素是:新鮮度命中率,而影響到這兩項因素的關鍵就在於我們的更新策略。

...繼續閱讀 »