答客問
網友 Adam Lee 在 JavaScript - 程式碼壓縮與最佳化 留言指教,說我的測試程式有問題。因為文章撰寫時間有點久了,也忘了當時有沒有進行測試,那我們就來測試看看吧。
createElement與createDocumentFragment的測試程式碼。
網友 Adam Lee 已準備好一個測試程式 http://jsfiddle.net/z3caE/ 大家可以用不同瀏覽器玩玩看分數如何?
以下是我在本機端的測試程式:
網友 Adam Lee 在 JavaScript - 程式碼壓縮與最佳化 留言指教,說我的測試程式有問題。因為文章撰寫時間有點久了,也忘了當時有沒有進行測試,那我們就來測試看看吧。
網友 Adam Lee 已準備好一個測試程式 http://jsfiddle.net/z3caE/ 大家可以用不同瀏覽器玩玩看分數如何?
以下是我在本機端的測試程式:
Bundling and Minification 在書中 5.6 小節我翻譯為「合併與最小化」,這是一個對於網站而言非常非常非常實用的功能,它能快速合併你所有設置的所有檔案成為一個檔案(多合一)併進行最小化的工作,重點是完全自動化,不需要再去其他類似JavaScript最小化、CSS最小化的網站,或下載工具利用工具在上線前再自己手動進行類似工作。各位可以參考前端優化的幾篇文章。
當 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 的書籍在教發行時,通常都是以本機為實作環境,本機通常會安裝 Visual Studio 開發工具,在安裝 Visual Studio 開發工具時會一併安裝 Deploy 的工具與環境,所以本機實作比較沒問題。但實作發行至遠端伺服器時,怎麼樣就是不給發行,這是因為除了帳號密碼外,伺服器還需要可被佈署的環境。有了可被佈署的環境,我們就能如書中所教的一樣,將MVC專案順利發行至遠端伺服器。
以下 Windows Server 2008 R2 為實作平台。
要確認是否具備佈署環境依以下清單檢查:
以下資訊均來自 Channel9 目前於北美 TechEd 活動影片,主要記錄 DEV-B314 這一場 Microsoft ASP.NET, Web, and Cloud Tools Preview 的筆記。
以下將 Visual Studio 2013 Preview 相關內容整理如下:
Visual Studio 2013 Preview簡化一開始的新增專案的對話視窗,只區兩大類,進入後也只區分為Empty、Web Forms、MVC、Web API、SPA、Facebook、Mobile。
測試伺服器不在局限於IIS Express,也可以設置為外部伺服器。
當我們修改頁面文字、Layout、CSS等,可快速重整所有已連接至Visual Studio測試頁面的瀏覽器。
在新增專案時即可設置認證組態,目前可結合其他外部Microsoft Live Id、Facebook、Google+、twitter等。
Contains()
方法在很多地方都可以使用,主要是用來比較指定物件內是否含有指定的項目。例如:String 型別的 Contains()
方法就經常拿來搜尋或過濾字串使用。
Dim YesNo As Boolean = "Bruce很帥XD".Contains("帥") Console.WriteLine(If(YesNo, "帥", "不帥")) Console.ReadLine()
但今天想瞭解在含有大量資料時,集合與泛型集合內的Contains方法的處理速度。
想瞭解與測試的原因是因為亂馬客寫了一篇 .NET]產生不重覆的數值(List vs HashSet) 的文章,他測試結果是正確的,不過我認為測試範圍可以加大到集合與泛型集合,所以有了以下測試程式碼與測試結果。程式碼參考亂馬客文章進行修改,主要加入了 Counter 變數,記錄下 while
迴圈的執行次數,這樣比較能瞭解誤差值。
程式碼主要是要產生不重覆的數值,所以重點其實只在 while
那一行程式碼,這裡我加大數值的量,由 1 ~ 100000 裡取出不重覆的 90000 個數值。因為我們只單存取一個數值,所以 Key/Value 的集合與泛型集合就不在測試程式碼之內。