JavaScript - createElement vs createDocumentFragment

答客問

網友 Adam Lee 在 JavaScript - 程式碼壓縮與最佳化 留言指教,說我的測試程式有問題。因為文章撰寫時間有點久了,也忘了當時有沒有進行測試,那我們就來測試看看吧。

createElement與createDocumentFragment的測試程式碼。

網友 Adam Lee 已準備好一個測試程式 http://jsfiddle.net/z3caE/ 大家可以用不同瀏覽器玩玩看分數如何?

以下是我在本機端的測試程式:

MVC 4發行至IIS 7.5之後Bundle功能無法運作

MVC 4 - Bundling and Minification

Bundling and Minification 在書中 5.6 小節我翻譯為「合併與最小化」,這是一個對於網站而言非常非常非常實用的功能,它能快速合併你所有設置的所有檔案成為一個檔案(多合一)併進行最小化的工作,重點是完全自動化,不需要再去其他類似JavaScript最小化、CSS最小化的網站,或下載工具利用工具在上線前再自己手動進行類似工作。各位可以參考前端優化的幾篇文章。

IIS 7.5無法運作Bundle功能?

當 Visual Studio 2012 發行 ASP.NET MVC 4 專案至 Windows Server 2008 R2 x64 平台(IIS 7.5)後發現 Bundle 功能無法運作。利用程式碼 BundleTable.EnableOptimizations = True 進行設置依然無效。

在網路上搜尋了一陣子,找不到什麼有關的資料,絕大部分都是討論 Bundle 的設置或 BundleTable.EnableOptimizations 程式不然就是 web.cofnig 裡 debug="true" 這個參數。

然後又花費無數青春,在一陣發瘋似亂搞亂測之後,找到了問題的根源。

發行ASP.NET MVC 4之前遠端Windows Server 2008 R2的環境準備

可被佈署的伺服器環境

ASP.NET MVC 的書籍在教發行時,通常都是以本機為實作環境,本機通常會安裝 Visual Studio 開發工具,在安裝 Visual Studio 開發工具時會一併安裝 Deploy 的工具與環境,所以本機實作比較沒問題。但實作發行至遠端伺服器時,怎麼樣就是不給發行,這是因為除了帳號密碼外,伺服器還需要可被佈署的環境。有了可被佈署的環境,我們就能如書中所教的一樣,將MVC專案順利發行至遠端伺服器。

Windows Server 2008 R2佈署環境準備

以下 Windows Server 2008 R2 為實作平台。

要確認是否具備佈署環境依以下清單檢查:

Visual Studio 2013 Preview - ASP.NET, MVC 5, Web API 2新功能搶先看

來自TechEd North America 2013的第一手消息

以下資訊均來自 Channel9 目前於北美 TechEd 活動影片,主要記錄 DEV-B314 這一場 Microsoft ASP.NET, Web, and Cloud Tools Preview 的筆記。

Visual Studio 2013 Preview改良部分

以下將 Visual Studio 2013 Preview 相關內容整理如下:

單一對話視窗

Visual Studio 2013 Preview簡化一開始的新增專案的對話視窗,只區兩大類,進入後也只區分為Empty、Web Forms、MVC、Web API、SPA、Facebook、Mobile。

Web Application dialog

測試伺服器

測試伺服器不在局限於IIS Express,也可以設置為外部伺服器。

ASP.NET 測試伺服器設置

Browser Link

當我們修改頁面文字、Layout、CSS等,可快速重整所有已連接至Visual Studio測試頁面的瀏覽器。

快速重整已連接至Visual Studio測試頁面的瀏覽器

認證組態

在新增專案時即可設置認證組態,目前可結合其他外部Microsoft Live Id、Facebook、Google+、twitter等。

認證組態1

認證組態2

集合與泛型集合中Contains方法處理效能測試

Contains方法

Contains()方法在很多地方都可以使用,主要是用來比較指定物件內是否含有指定的項目。例如:String 型別的 Contains()方法就經常拿來搜尋或過濾字串使用。

    Dim YesNo As Boolean = "Bruce很帥XD".Contains("帥")
    Console.WriteLine(If(YesNo, "帥", "不帥"))
    Console.ReadLine()
   

但今天想瞭解在含有大量資料時,集合與泛型集合內的Contains方法的處理速度。

測試原因

想瞭解與測試的原因是因為亂馬客寫了一篇 .NET]產生不重覆的數值(List vs HashSet) 的文章,他測試結果是正確的,不過我認為測試範圍可以加大到集合與泛型集合,所以有了以下測試程式碼與測試結果。程式碼參考亂馬客文章進行修改,主要加入了 Counter 變數,記錄下 while 迴圈的執行次數,這樣比較能瞭解誤差值。

集合與泛型集合 - Contains方法

程式碼主要是要產生不重覆的數值,所以重點其實只在 while 那一行程式碼,這裡我加大數值的量,由 1 ~ 100000 裡取出不重覆的 90000 個數值。因為我們只單存取一個數值,所以 Key/Value 的集合與泛型集合就不在測試程式碼之內。