你的Visual Studio 2012是灰色還是黑色?

你的Visual Studio 2012是灰色還是黑

如果各位有注意我的文章,Visual Studio 2012 RTM 8/15開放下載時,我的標題使用「VISUAL STUDIO 2012 RTM(正式版)黑黑黑推出」,我是使用「黑黑黑」,後來又寫了「修改VISUAL STUDIO 2012預設選項,增加我的開發效率」,今天因為無法為專案加專案又寫了「MVC專案加MVC專案注意事項」,後來Alex Lee與小朱一直幫我找問題,也真找出問題,原來是Visual Studio 2012預設選項沒有勾選「永遠顯示方案」,所以造成「專案無法加入專案」的正常結果,而不是Visual Studio 2012的問題,小細節我一直沒注意到。但在修改完「永遠顯示方案」按下「套用」那一瞬間,我的Visual Studio 2012不知道為什麼突然變成「全黑」畫面。讓我嚇了一跳,發生了什麼事?

我這才發現,我之前的Visual Studio 2012是灰色的不是黑色的。(各位可以參考我前面的抓圖,全都是灰色的)

還原Visual Studio回到初始值

如果各位和我一樣無聊,可以和我這樣做。

cd "\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE"
devenv.exe /resetuserdata

重新啟用Visual Studio 2012,這樣你就會得到同安裝後一開始設定Visual Studio 2012的畫面。

vs2012 預設環境設定

因為我現在都是寫ASP.NET MVC,所以我選擇「Web程式開發(僅程式碼)」。在我的電腦,現在是灰色。

[VB]在ASP.NET MVC專案裡新增另一ASP.NET MVC專案時的注意事項

WebForm專案內新增WebForm專案

webform專案內新增專案

以前我們在開發ASP.NET Webform專案時,可以直接透過【檔案 | 加入 | 新增專案】來新增另一專案到方案總管中,但一模一樣的操作在ASP.NET MVC並不成功。

ASP.NET MVC專案內新增ASP.NET MVC專案

asp.net mvc專案內新增專案

上圖很簡單,當我們要在MVC專案內加入新專案時,步驟同Webform操作,會如現以下圖示:

增加第二個mvc專案出現錯誤

這讓我一度以為是Bug,但看起來又不像。

修改Visual Studio 2012預設選項,增加我的開發效率

增加我的工作效率

每個人的習慣不同,到手的東西沒有客製化一下實在有許多不習慣的地方,以下是我個人在Visual Studio 2012裡修改【選項】預設值的一些參考,列出來給大家參考一下,有些警告預設是不提示,雖然顯示警告當下是影響工作效率的,但和後面要花費Debug的時間成本相比,我還是覺得警告是增加工作效率的有效方法。

修改Visual Studio選項

  1. vs2012 vb預設值修改。

    Visual Basic的使用者,請參考MSDN的說明「Option Strict 陳述式」,建議是開啟Option Strict On選項,以利早期發現錯誤。不過程式變成要寫的非常嚴謹,看個人吧。(在網頁開發上還是使用Off就好><")

  2. vs2012 字型和色彩修改

    老人家眼睛不好,大小我是設14,字型看個人吧!

    我們twMVC的開國功臣之一的Demo,看到我的圖片後,非常好心的提供我一組金光閃閃的字型,使用後讓眼睛非常「舒服」,也推薦給大家,如果你看Code的時間比看女朋友和老婆還多,大推給各位。詳情請參考「程式設計師該用的字型

  3. vs2012 回復時間修改

    這要看你能接受多少時間的程式碼損失,時間設太短常常會有打程式碼打到一半"鈍"一下,設太長又不敢保證電腦軟硬體都天天正常,我是改10分鐘,這也是看個人。

  4. vs2012 CSS格式化修改

    個人習慣CSS用半展開,色彩選擇器是新增選項,我看到以十六進位居多。

  5. vs2012 css驗證修改

    預設不啟用CSS 3.0偵測錯誤,建議可開啟。

Windows XP將死

洪流不會停止

時代的洪流不會停止。 你可以選擇止步不前; 你可以選擇順流而下; 你可以選擇逆流而上; 每一種都是你的選擇。

從Dos 6.22說起

老弟有辛,摸過DOS 6.22、Windows 3.1,這代表我年紀大了此。

老弟有辛,看過Windows 95與IBM OS/2的大戰。老實說,IBM OS/2比Windows 95好很多,但結果不是誰比較好重要,而是市佔率誰比較高重要。

從Windows 95之後的,Windows Me、Windows XP、Windows Vista、Windows 7,至Windows 7為止,就作業系統而言,我是看到了一個很有趣的現象。微軟在作業系統方面,雖然從Windows 95之後就打片天下無敵手,但不知是不是把所全世界的用戶當成白老鼠,然後盡情的做實驗,微軟在作業系統的成就,不是大好就是大壞。
  • Windows 3.1讓DOS用戶眼睛為之一亮,原來玩電腦不是背指令,用一個叫滑鼠的東西,點一點也是會動。
  • Windows 95…練入侵功夫的好系統,沒什麼安全性可言。藍白畫面的始組,我在Windows 95看過的藍白畫面比Windows 3.1多很多。不過最少Windows 95在市佔率是非常成功。
  • Windows 98/98 SE,藍白畫面之多,有一個笑話,如果一次藍白畫面微軟就要付給消費者一美元的話,那微軟可能早就破產了。不過,它是個Not Good, Not Bad的作業系統,它改良自Windows 95。市佔率是高,但那是因為消費者沒其他選擇。我就不相信,早期版本的Linux沒有IT背景的人裝的起來。
  • Windows Me,作業系統第一次大壞的代表。
  • Windows XP,作業系統第一次大好的代表。雖然監白畫面依然不斷,安全性普普通通,經過三次Service Pack的洗禮後驅向平穩,也是目前微軟作業系統裡壽命最長的一代宗師。(Windows XP裡面住著一隻怪物,讓網頁程式設計師恨之入骨的IE6,就是Windows XP太成功,想不理IE6都不行,恨呀!)
  • Windows Vista,第一代64位元先鋒,號稱安全性最高的作業系統,也是讓使用者最火大的一代作業系統。以資訊人員的角度來看,安全性重於一切,Fine。以使用者角度來看,麻煩、難用、肥大的怪物,最火大的事是X64的驅動程式很難找。第二次大壞的代表,因為市場接受度不好。
  • Windows 7,個人認為是微軟最目前最好的一套作業系統,在執行效能、安全性、驅動程式…等各方面取得平衡,第二次大好的代表,本應該很有機會成為取代Windows XP的代表人,但市場變化太快,以前一套產品買十年,現在一套產品可以買三年就已經偷笑。

安裝或更新Visual Studio 2010 for ASP.NET MVC 4最新版本(2012/8/13)

Visual Studio 2012 RTM之後

隨著Windows 8 RTM與Visual Studio 2012 RTM之後,相信陸續慢慢會有更多技術在不久的將來都會RTM。和我吃飯傢伙有關的當然是ASP.NET MVC相關。ASP.NET MVC團隊在2012/8/13已經有對ASP.NET MVC 4更新,主要是針對Visual Studio 2010的更新,比Visual Studio 2012還要早,各位之前如果有在Visual Studio 2010安裝過ASP.NET MVC 4,或現在想玩ASP.NET MVC 4但無Visual Studio 2012,都可以下載回去安裝在Visual Studio 2010開發ASP.NET MVC 4,不會和Visual Studio 2012裡的ASP.NET MVC 4有差異。

ASP.NET MVC 4 Version

Visual Studio 2012 RTM(正式版)黑黑黑推出,你download了沒


關於Windows 8 RTM與Visual Studio 2012 RTM

美國時間8/15日對於開發者是個大日子,因為有兩大產品Windows 8 RTM與Visual Studio 2012 RTM。(說好的Windows Server 2012呢?)前一晚,MSDN網站應該有感受到強的F5 DDoS攻擊,說好的時間一到,全世界的開發者時按著F5更新著網頁,希望看到Windows 8與Visual Studio 2012正式版的出現。我最長等過約40多秒MSDN網站才有反應。因為還有工作在進行,我無法馬上安裝Windows 8 RTM版本,考慮到,如果Windows 8安裝上去,如果無法馬上可以工作,這就代誌大條了!心有不甘,想想,那就退一步,先把Visual Studio 2010由RC升為RTM,這不過分了吧。

RC插曲

在使用Visual Studio 2012 RC的過程裡,Visual Studio 2012 RC版本相當穩定,小Bug有,但不是會影響工作的Bug。不過就在昨晚出現了史上第一次的:

vs2012 rc error

另一位MVP Sky也和我同一天碰到那史上第一次的停止運作。合理懷疑,RC版裡有彩蛋,時間一到就停止運作,這樣開發者才會用最快的時間更新至RTM版本。

Visual Studio 2010 正式版安裝

  1. 第一步:沒有RC字樣
    vs2012 rtm setup 01
  2. 第二步
    vs2012 rtm setup 02
  3. 第三步
    vs2012 rtm setup 03
  4. 第四步:重開機第一次
    vs2012 rtm setup 04
  5. 第五步:安裝完成,重開機第二次
    vs2012 rtm setup 05

Windows Essentials 2012安裝失敗for Windows 7篇

Windows Essentials 2012安裝失敗for Windows 7篇

Windows Essentials 2012安裝錯誤

上週得知Windows Essentials 2012已經推出,今日本想由Windows Essentials 2011升級至Windows Essentials 2012,誰得知不管我怎麼試,就是會出現上圖的錯誤。差點以為要進入無MSN可用的日子了。

黑大的一篇文

實在試不出方法,也上去Answers去尋求高手解答時,不到幾分鐘的時間,突然黑大跑出一篇文「Windows Live Essentials 2012安裝失敗」,這是天意嗎!老天有眼!

結果一看一試,人家是Windows 2008 R2的解決方法,我的Windows 7已經是最高權限管理員。正在失落之際…就是那個光。

Windows 7也有Administrator

還好平常有讀書。

在Windows 7剛完成安裝時,會要求我們設定一組常用的登入帳號,而且登入帳號是系統管理員,這讓我有了錯覺。其實在Windows 7之內還是有Administrator帳戶的存在,只是被隱藏起來,黑大的那篇文章給了我靈感,難到一定請出從星際大戰裡退引江湖的黑暗絕地大師嗎。沒辦法,死馬當活馬醫。

JavaScript大量元素選取器效能大PK(含HTML5)

何謂大量元素選取器

這裡所談的JavaScript大量元素選取器是指getElementsByTagName()之類的元素選取器,此類元素選取器與getElementById()不同,getElementById()只回傳一個元素物件,而大量元素選取器會回傳一個陣列物件,陣列物件中包含所有合乎規則的元素內容。在撰寫HTML5程式碼時,心裡面突然有個念頭,這些大量元素選取器(含HTML5才提供的功能)在走訪一個又大又深DOM時,效能如何?

HTML 4主角有:getElementsByName(),getElementsByTagName()

HTML 4派出兩位主角分別是getElementsByName()與getElementsByTagName()。

  • getElementsByName(屬性名稱):以元素屬性 name="value" 的value來取得所有符合名稱的元素集合。
  • getElementsByTagName(元素名稱):以元素名稱,例如"p",來取得所有p元素集合。

HTML5主角有:getElementsByClassName(),querySelectorAll()

HTML5派出兩位主角分別是getElementsByClassName()與querySelectorAll()。

  • getElementsByClassName(類別名稱):以元素屬性 class="value" 的value來取得所有符合名稱的元素集合。
  • querySelectorAll("CSS Selector"):直接透過CSS選擇器規則來進行選取,符合CSS選擇器規則(支援CSS3的虛擬類別)的元素將被選取。

又深又長的DOM

以下JavaScript程式要建立一個又深又長的DOM,以增加走訪DOM的難度。

// 先在頁面上新增一個
元素 var test = document.getElementById("test"); for (var i = 0; i < 1000; i++) { var d = document.createElement("div"); d.setAttribute("id", "div" + i); d.setAttribute("class", "div100") for (var j = 0; j <= 1000; j++) { var para = document.createElement("p"); para.setAttribute("class", "sale"); para.setAttribute("name", "sale"); var txt = document.createTextNode(j); para.appendChild(txt); d.appendChild(para); } // 讓層數加深 if (i === 0) { test.appendChild(d); } else { var dp = document.getElementById("div" + (i - 1)); dp.appendChild(d); } }

每一個div裡有1001個p元素,第1002個是div元素,再包1001個p元素,第1002個是div元素...會有1000層的深度及1001000個p元素。

// 測試取得大量元素的時間
var star_time = new Date();
var select_para = document.getElementsByName("sale");
//var select_para = document.getElementsByTagName("p");
//var select_para = document.getElementsByClassName("sale");
//var select_para = document.querySelectorAll("p");
//var select_para = document.querySelectorAll(".sale");
var end_time = new Date();

console.log("取得p元素個數: " + select_para.length);
console.log("Start: " + star_time.getMinutes() + ":" +
                        star_time.getSeconds() + ":" +
                        star_time.getMilliseconds() +
                        ", time: " + star_time.getTime());
console.log("End: " + end_time.getMinutes() + ":" +
                      end_time.getSeconds() + ":" +
                      end_time.getMilliseconds() +
                      ", time: " + end_time.getTime());

這邊讓我偷懶一下,用偷懶的寫法。這樣就可以取得每個大量元素選取器的執行時間。

升級MS SQL Server 2008 R2到MS SQL Server 2012注意事項

升級MS SQL Server 2012注意事項

用了一些時間,將MS SQL Server從2008 R2升級到2012版本,中間只碰到一點小問題,記錄一下。

從舊版本升級絕大部分都是在按【下一步】,有個地方產生錯誤:

Reporting Services Error

圖示那兩個服務是Report Service,在MS SQL Server 2008 R2中,服務是被我停用,所以第一次進行這一步(第15個下一步)時,出現紅色X圖示,處理方式也很簡單:

  1. 先按【上一步】
  2. 開啟MS SQL Server 2008 R2的【組態管理員(Sql Server Configuration Manager)】
  3. 啟動【SQL Server Reporting Services】服務
  4. 回安裝程式按【下一步】

此時,如果你再把【SQL Server Reporting Services】停用,回安裝程式按【上一步】【下一步】,都會得到正常綠色勾勾。整個升級過程費時半個小時以上,建議升級前把所有在【組態管理員(Sql Server Configuration Manager)】中將所有名稱【MSSQLSERVER】執行個體的服務全部啟用,這樣應該就不會出現我碰到的錯誤訊息。

另外注意,如果你同時在本機有安裝【MS SQL Server Express】版本,不同執行個體必須另外再執行一次升級作業,也就是說,【MSSQLSERVER】執行個體需要執行一次升級作業,【SQLEXPRESS】執行個體需要再執行一次升級作業(需另外下載Microsoft SQL Server 2012 SQLEXPRESS的進行升級安裝程式)。

MS SQL Server Version

在近二十步的【下一步】加一個小小【上一步】,MS SQL Server 2012降臨,版本號11.0.2100.60。

話說,MS SQL Server 2012 Service Pack 1都快出來了!XD

補充:附加範例資料庫

如果可以到http://msftdbprodsamples.codeplex.com/releases/view/55330下載到最新的AdventureWorks2012 Data File,下載回來是一個AdventureWorks2012_Data.mdf(193,536KB)檔案,你必須用附加方式來加入資料庫中,你可以先將mdf檔案移至C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA下。因為我們是採用升級的方式,所以會沒有DATA此目錄,請先自行建立。

  1. 開啟SSMS,登入
  2. 選擇【資料庫】→【附加】
  3. 選擇【AdventureWorks2012_Data.mdf】所在路徑
  4. 刪除【記錄檔】
    移除記錄檔
  5. 再來,你應該會又碰到錯誤訊息,就算你把SSMS以系統管理員身份執行、或修改登入帳戶權限,都還是會出現無法附加的錯誤訊息。
  6. 原因很簡單,因為我們是使用升級,而且我們DATA目錄是自建,所以少了必要的權限:
    MSSQLSERVER權限不足
  7. 將DATA目錄設定給【MSSQLSERVER】帳戶→【完全控制】權限
  8. 重新按確定即可正確附加