﻿# Visual Studio / C# / ASP.NET MVC / SQL Server 新手上路之學習資源整理

遙望十多年前，我剛出社會的時候，拿著我在大學時期接案的 74 件作品與大學四年的程式開發經驗進入職場，當時所學會的東西跟現在比起來可謂是九牛一毛，在累積了幾年的經驗之後，回頭看見有許多莘莘學子還在為了該學些甚麼而困擾，這便萌生這篇文章的契機，希望整理一些適合新手上路的學習資源，讓大家更有方向的踏入 .NET 開發生涯。

### Visual Studio 開發工具

工欲善其事、必先利其器，人稱地表最強 IDE 開發工具 “Visual Studio” 是任何 .NET 開發人員必備的開發工具，對於個人使用或五人以下團隊使用者，皆可下載 Visual Studio 的社群版本，社群版本所附功能等同於 Visual Studio 專業版 (Professional) 的所有功能，且完全免費！

-   [Visual Studio 下載](https://www.visualstudio.com/zh-tw/downloads/download-visual-studio-vs.aspx)
-   [Visual Studio Community 2013](https://www.visualstudio.com/zh-tw/products/visual-studio-community-vs.aspx)
-   [Visual Studio Community 2015](https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx) (目前還在 RC 階段，預計 2015/7/20 可開放下載正式版)
-   [Visual Studio 2013 學習資源](https://msdn.microsoft.com/library/dd831853.aspx)

### C# / .NET 學習資源

C# 是個程式語言，.NET 是個框架，在學習 C# 的過程中通常會連 .NET Framework 一起學到。我必須耳提面命的說，任何初學者不能也不應該跳過這一塊，更不能馬虎帶過，只要有時間，都應該花時間進修每個細節，因為這是學習一切 .NET 開發技術的基礎。

-   [Learn C# for Beginners – Microsoft Virtual Academy](https://learn.microsoft.com/en-us/shows/c-fundamentals-for-absolute-beginners/)  
    這是在 [微軟虛擬學院 (MVA)](https://learn.microsoft.com/en-us/training/) 裡面關於 C# 最好的一系列教學影片，可惜影片字幕沒有「繁體中文」，但教學內容較新，新手可以邊看邊操作，做中學是最快的學習方法。
-   [C# Fundamentals: Development for Absolute Beginners | Channel 9](https://channel9.msdn.com/Series/C-Sharp-Fundamentals-Development-for-Absolute-Beginners)  
    這是上面這部系列影片的前一版，內容幾乎一樣，關於 C# 的觀念都是有效的，只有使用的工具比較舊一點而已，基本上應該不影響學習，而且還有**繁體中文**字幕可開啟，因此對於英文不好的人來說，在學習上有極大幫助，建議認真看完。
-   [Programming in C# Jump Start – Microsoft Virtual Academy](https://learn.microsoft.com/en-us/shows/programming-in-c-jump-start/)  
    這門影音課程是針對[微軟認證測驗 70-483](https://www.microsoft.com/learning/zh-tw/exam-70-483.aspx) (Programming in C#) 而設計的，對於已經入門甚至於已經會寫 C# 的人進修之用，非常具有深度，且還提供**簡體中文**字幕，看完影片之後甚至可以直接去考張證照！
-   [Visual C#](https://msdn.microsoft.com/zh-tw/library/kx37x362.aspx) (MSDN)  
    這個網頁包含了大量的 C# 學習資源，從最基礎到進階，所有詳細的資訊都寫在這裡，等著你去慢慢發掘。
-   [MSDN 論壇 - Visual C#](https://social.msdn.microsoft.com/Forums/zh-TW/home?forum=233)  
    對於任何與 C# 相關的疑問，都可以到這個 MSDN 論壇發問。

### ASP.NET MVC 學習資源

ASP.NET MVC 是微軟新一代的 ASP.NET 開發框架，有別於傳統 ASP.NET Web Form 開發框架，ASP.NET MVC 採用了業界知名的 MVC (Model, View, Controller) 設計樣式，讓網站建置的過程能夠享受關注點分離的優勢，讓任何大小的網站都將更容易維護，開發人員也將更有彈性的建構真正新潮的網站服務。

-   [邊做邊學 ASP.NET MVC 4 – YouTube](https://www.youtube.com/playlist?list=PL_dAxk7-NoFt9ccYrIjFma1p8iLsQqweq)   
    這是我先前錄製過的 ASP.NET MVC 4 學習影片，透過簡單的實作練習，可以讓你在短短一小時之內大致了解 ASP.NET MVC 的開發過程。
-   [ASP.NET MVC 5 新功能探索 – YouTube](https://www.youtube.com/playlist?list=PL_dAxk7-NoFtMR6s_aW_zAKHpIsCIzTNa)  
    此影片是 Will 保哥在 Tech.Days Taiwan 2013 的演講主題【ASP.NET MVC 5 新功能探索】，在這堂課中，會使用 Visual Studio 2013 來介紹 ASP.NET 新版本的增強，包括新的對話盒精靈、新的 Scaffolding 引擎，以及其它與 ASP.NET 網頁開發相關開發框架 (如: ASP.NET MVC 5, SignalR, Web API 2 等等) 的新功能介紹。
-   [ASP.NET MVC | Microsoft Docs](https://learn.microsoft.com/zh-tw/aspnet/mvc/)  
    來自官網的 ASP.NET MVC 文件，內容深入淺出，看完的話真的會學到很多！
-   [進入 ASP .NET MVC 5 的世界 (台北場)](https://www.youtube.com/watch?v=nW3BO91iwcE)  
    不論是 ASP.NET MVC 的新手，或是已熟悉的老手，這門課將帶領你進入 MVC 5 的世界，並搭配 Visual Studio 2013 來介紹，包括 Scaffolding 的引擎，以及與其它 ASP.NET 開發框架 (SignalR, Web API 2) 的搭配介紹。
-   [MSDN 論壇 - ASP.NET 與 AJAX(ASP.NET and AJAX)](https://social.msdn.microsoft.com/Forums/zh-TW/home?forum=236)  
    對於任何與 ASP.NET / ASP.NET MVC 相關的疑問，都可以到這個 MSDN 論壇發問。

### SQL Server 學習資源

在企業系統開發中，資料庫佔有關鍵的一席之地，無論你學習甚麼框架、甚麼語言，在大多數的情況下，你需要面對資料庫的議題，而在 .NET 的世界中，SQL Server 在企業界又占有一定程度的市場佔有率，所以 SQL Server 也是一個非學不可的技術之一。

-   [Database Training and Fundamentals – Microsoft Virtual Academy](https://learn.microsoft.com/en-us/shows/dbfundamentals/)  
    這套學習課程針對「完全的初學者」提供了鉅細靡遺的教學，從概念到工具無一不談，幾乎可以符合初學者的一切需要，只可惜只有英文字幕，但還是建議初學者認真學習。
-   [SQL Server Courses: SQL Server Online Training – Microsoft Virtual Academy](https://learn.microsoft.com/en-us/training/browse/?products=sql-server)  
    這裡整理了微軟虛擬學院(MVA)所有 SQL Server 的相關課程，當然也包括許多繁體中文的課程可以學習，不容錯過！
-   [MSDN 論壇 - 資料庫與程式開發(SQL Server Development)](https://social.msdn.microsoft.com/Forums/zh-TW/home?forum=240)  
    對於任何與 SQL Server 開發相關的疑問，都可以到這個 MSDN 論壇發問。

以上精選的幾個學習資源有一個共通性，那就是上述都是「免費」的線上學習資源。但市面上其實有許多「付費」且「優質」的學習資源可供選擇，正所謂「花錢買時間」，我們都知道學習一門技術或知識會花上不少時間，而大部分的時間都在探索與嘗試錯誤，人生苦短，雖然說學習的時間不能少，但跟別人用相同的時間學習，卻學習到比別人更多的東西，或比別人更了解一門技術的內涵，有些東西是很難用金錢衡量的，如果今天可以花點小錢換來高速成長的機會，何樂而不為呢？！

在我的成長過程中，**買書**的錢從來沒有省過，只要有人推薦好書，我一定衝去書店查個究竟，覺得不錯就買回家Ｋ，我也是出過書的人，深知出書過程之艱苦，任何一個作者要從草稿到出版需要付出多少心力與校對，你要是買一本書之後，若不好好仔細閱讀，還真枉費作者的一番苦心。

關於「電子書」這件事，我也曾經在我的[粉絲團](https://www.facebook.com/will.fans)分享過，有許多人有收集電子書的癖好，但 99% 收集到的電子書都沒看過，在我看來真的是浪費時間，而且這種收集免費電子書會養成一種習慣，無形之中浪費的無數的時間在搜尋與下載。因此我個人還是建議，如果真的想看書，買一本實體書回來吧，認真看完、作筆記、寫心得文章，都比你收集電子書而不看而來的踏實多了。

報名**實體課程**，也是個快速縮短學習時間的途徑，雖然成本較高，但只要找到好的老師，對渴望提升能力的你來說，絕對是數倍到數十倍的增強，真的不誇張。

購買**付費的教學影片**，也是我認為非常棒的學習方式，在國外經常有許多付費的線上教學平台，一個比一個優秀，內容也一個比一個精彩，我幾乎都是透過這些付費的影片幫助我快速了解一門新知識，再搭配官方文件的閱讀與理解，通常都可以在短時間內上手任何技術，因此也推薦大家嘗試這種學習方式，以下我列出一些我經常學習的線上教學平台：

-   [Pluralsight – Developer, IT & Creative Training by Pros](http://www.pluralsight.com/)  
    Pluralsight 在技術與創意領域來說，應該是全球最大的線上教學平台，目前已經有 3700+ 門課程，只要支付月費，就可以看所有課程內容，非常划算！
-   [LearnVisualStudio.NET](https://learn.microsoft.com/en-us/shows/c-fundamentals-for-absolute-beginners/)  
    專門針對 C# 與 .NET 開發人員設計的教學影片，課程大多為入門課程，但講解得非常到位，學習價格也十分便宜，終身學習價才僅僅 USD 139 美元而已！
-   [WintellectNOW: On-demand video training from the industry's best](https://www.wintellectnow.com/)  
    專門針對**進階的**各種開發議題提供線上學習平台，其內容都蠻有深度的，並不適合初學者學習，但對於有經驗的開發人員來說，這裡確實有許多寶可以挖！

### 心得分享

軟體技術的世界何其廣闊，哪有人敢說自己專業，唯有用謙虛的心，面對每一次的學習與挑戰，才能在這暗潮洶湧的世界中存活下去。想當年我也是從來不碰微軟技術的人，Perl / PHP / MySQL / Apache / Linux 也玩得十分起勁，但從 2005 年開始，致力轉型到 .NET 開發技術，開始改用 Visual Studio 與 ASP.NET 開發網站，這個過程可說是不太輕鬆。因此放眼望去，在我周遭的朋友圈裡，鮮少有人可以順利地從 PHP 或其他開放原始碼領域中走向 .NET 開發，因為差別真的很大。不過也因為當時決定轉向，才幫我打開了一條無窮無盡的康莊大道，不僅對我個人或對我公司來說，幾乎都是正向的發展並不斷進步。善用好的開發工具，更幫助我在商業價值創造與解決核心問題上更加得心應手，而不是像以前那樣死守著自己寫出來的每一行原始碼，而卻不見得能產生價值，這些體會，很難用文字表達，也只能觸動有緣人了。^\_^
