前言(Introduction)
前些天寫了一篇《程式猿也愛學英語(上),有圖有真相》,大概介紹了我學英語的一些基本資料以及心得體會,先後從發音(Pronunciation, 基本常用單詞積累(Vocabulary), 新概念英語(New Concept English), 究竟需不需要學文法(English Grammar?), 走遍美國(Family Album U.S.A.), 常用英語(Daily English Situations), 老友記/六人行(Friends),享受英語的樂趣(Enjoy English)等進行了一些論述。
在寫作這幾篇《程式猿也愛學英語,有圖有真相》文章的過程中,發生了兩件比較重要的事情:
1. 在我的強烈推薦下,老婆也愛上了看《老友記》。因為是無字幕版的,剛開始的時候,她聽不太懂,但是到了第三季的時候就慢慢愛上了它。現在她把一到十季整整看完一遍了,期間整個房間都是她的歡聲笑語!借此機會也想對其他有同樣問題的朋友說:“堅持就是勝利!”
2. 經過幾個月的努力,老婆終于找到自己滿意的工作!對于這個Offer,可以說是來之不易,因為老婆沒有任何跨國公司的經驗且才來新加坡幾個月,是以對她來講是完全在一個不熟悉的英語環境,而且還要面對各種面試,其中的辛酸苦辣我也看在眼裡,痛在心底。作為老公,希望她的工作一切順利!
扯遠了,回歸正題,《程式猿也愛學英語,有圖有真相》實在太長,為了友善讀者閱讀以及多方面考慮,我把它拆分成了幾篇。今天這篇我們就來講一下社群,部落格以及源碼。
社群(Forum)
我經常通路的社群網站很多,不同的時期或者根據當時研究的技術的不同,也會有相應的變化。這裡我總結了曾經自己使用最多以及對我幫助最大的一些社群和網站(可能大家或多或少都曾使用過他們,主要偏向于.NET方向):
| |
| |
| |
| |
| |
| |
| |
還有很多很多,這裡就不一一列出…… |
部落格(Blog )
我認為作為程式猿的我們不應該局限在自己的那一分三畝地(工作的内容),應該多注意以下幾個方面
- 技術動态:了解自己關注的技術的最新動态。
- 技術廣度:擴寬自己的眼界,了解更多的技術。
- 技術深度:更深層次的了解我們所目前所使用的技術。
這個時候你訂閱的國外大牛的技術部落格往往會解決你這幾方面的問題或者給我們更多的參考,讓我們的知識更加全面化、更加體系化乃至更加專業化。
由于我最近幾年一直緻力于微軟架構、管理、教育訓練和企業解決方案,是以關注的部落格也偏向于.NET方向:
部落格 | 位址 | 介紹 |
Scott Guthrie | http://weblogs.asp.net/scottgu/ | Scott Guthrie 被稱為ASP.NET 之父,他的文章涉及的面也比較廣,從ASP.NET ,ASP.NET MVC,Silverlight,Visual Studio,.NET架構以及現在正熱的Windows Azure。 |
S. Somasegar | http://blogs.msdn.com/b/somasegar/ | 如果你關注Visual Studio和.NET架構的發展,你肯定對Soma這個名字不陌生。Somasegar是現任微軟開發工具事業部全球資深副總裁,負責Visual Studio,Expression系列,.NET架構,Team Foundation Server等一系列産品,同時還負責管理MSDN、TechNet等網站。在他的部落格上,可以看到這些産品的最新消息,以及他個人對整個産業的觀點與看法。 |
Martin Fowler | http://www.martinfowler.com/ | 《重構—改善既有代碼的設計(Refactoring)》《企業應用架構模式(Patterns of Enterprise Application Architecture)》 |
Windows Azure Team Blog | http://blogs.msdn.com/b/windowsazure/ | 如果你關注雲計算且關注微軟的雲計算Windows Azure,那麼這裡就有你所需要的資料和訊息。 |
SQL Server Blog | http://blogs.technet.com/b/dataplatforminsider/ | 如果你想了解SQL Server的最新動态以及新版本的特性等,這裡可能有你所需要的答案。 |
ASP.NET Weblogs | http://weblogs.asp.net/aspnet-team/ | 這個部落格應該對做ASP.NET 或者ASP.NET MVC的同學來說并不陌生,裡面有大量ASP.NET 或者ASP.NET MVC的學習資料和最新訊息。 |
Josh Smith | http://joshsmithonwpf.wordpress.com/ | 傳說中的MVVM之父,最開始我也是從他這裡慢慢開始熟悉這個模式,後來便一發不可收拾。 |
Laurent Bugnion | http://www.galasoft.ch/mvvm/ | 如果大家使用過MVVM Light,那麼你一定會認識Laurent Bugnion,這個家夥對技術的熱情很令人欽佩。目前MVVM Light支援WPF,Silverlight,Windows Phone以及時Windows 8。 |
還有很多,這裡就不一一列出…… |
源碼(Source Code)
關于源碼的研究,我曾經在《WPF基礎到企業應用系列7——深入剖析依賴屬性(WPF/Silverlight核心)》以及《WPF企業内訓全程實錄(中)》有所提及。有時候我們需要挖掘更深入的知識或者學習其代碼、規範以及注釋書寫等,研究源碼無疑是一種比較有效的方法,同時也順帶提高了英語。
首先還是研究微軟的類庫,對我們常見的應用進行研究,可以結合Reflector+VS調試内部代碼功能一起研究(IL能幫我們看清楚一些内部原理,但是不推薦細究,因為它會浪費我們很多時間,畢竟是微軟搞出來的這麼一套東西,說不定微軟哪天就換了)。另外微軟也公開了一部分源碼,如果有感興趣的同學也可以下載下傳來看看,裡面注釋都比較詳細。
其次就是研究MONO源碼(www.mono-project.com),這個是個非常好的東西,對.NET的功能大部分都進行了實作,我之前研究它不是因為它的跨平台,是感興趣它的源碼,大家也可以線上檢視它的源碼(位址:www.java2s.com),說到java2s這個網站,也是我平時去得比較多的地方,因為它比較全面和友善。如果你仔細挖掘,你會獲得意想不到的收獲。
再其次就是研究一些開源的架構和項目,比如
BlogEngine.NET(http://www.dotnetblogengine.net/)、Spring.NET(http://www.springframework.net/)、Castle(http://www.castleproject.org)、
log4net(http://logging.apache.org/log4net/)、NHibernate(http://www.hibernate.org/343.html)、iBATIS.NET(http://ibatis.apache.org)、
Caliburn(http://caliburn.codeplex.com/)、MVVM Light Toolkit(http://mvvmlight.codeplex.com/)、Prism(http://compositewpf.codeplex.com/)等等。
針對架構的研究,自己也總結了幾點:
1,首先看架構的相關介紹,了解相關的背景、功能、架構圖以及其他一些相關資訊——認識了解。
2,根據介紹檢視并調試架構所提供的執行個體——熟悉功能。
3,自己寫一些相關的Demo,主要是熟悉該架構。如果說要急于做項目,這裡就可以把架構引入到項目當中,然後具體使用之。
4,根據該架構提供的詳細單元測試研究其源碼,這也是我最喜歡研究這些開源架構的原因——原理剖析。
5,通過上面的步驟認真分析其原理及細節——準備重制。
6,自己也根據之前的思路重複開發這個架構,最好能用TDD——架構複原捷徑。
7,仔細分析及思考,吸取其中的經驗,最好能打造一個自己的架構(當然這一步是可選的)。
這裡要注意的是:在研究的過程中一定要先熟悉功能,再研究它内部的源碼和實作,然後再創造出自己的架構。這樣才能激發我們研究的欲望,才會産生作用和反作用力,進而才會使我們真正受益。
總結&待續...(Summary & To Be Continued…)
正如我前面所說,《程式猿也愛學英語,有圖有真相(中)》實在太長,為了友善讀者閱讀以及多方面考慮,我把它拆分成了幾篇。今天這篇我們講了社群,部落格以及源碼,那麼下篇我們将接着說其他的幾個主題,希望能對大家有幫助。
備注:
- 我不是牛人,隻是一枚普普通通在海外漂泊的程式猿。寫作本文隻是自己一時興起,或者說是自己的興趣使然,保持交流和分享的心态釋出出來。文中的觀點隻是自己的學習心得和體會,屬一家之言且鑒于本人不是學英語出身,如有不對的地方,也請大家見諒并指正。
- 歡迎轉載,但請注明作者、出處及保持内容完整(因為本文隻是自己個人的一些粗淺認知,錯誤在所難免,也希望讀者能回報一些資訊,及時糾正和更新以上内容)。
- 最後,如果你覺得文章對你有所幫助,别忘了推薦或者分享,因為有你的支援,才是我續寫下篇的動力和源泉!