1. 程式人生 > >學習英文之社群,部落格及原始碼

學習英文之社群,部落格及原始碼

前言(Introduction)

前些天寫了一篇《程式猿也愛學英語(上),有圖有真相》,大概介紹了我學英語的一些基本資料以及心得體會,先後從發音(Pronunciation, 基本常用單詞積累(Vocabulary), 新概念英語(New Concept English), 究竟需不需要學語法(English Grammar?), 走遍美國(Family Album U.S.A.), 常用英語(Daily English Situations), 老友記/六人行(Friends),享受英語的樂趣(Enjoy English)等進行了一些論述。

在寫作這幾篇《程式猿也愛學英語,有圖有真相》文章的過程中,發生了兩件比較重要的事情:

1. 在我的強烈推薦下,老婆也愛上了看《老友記》。因為是無字幕版的,剛開始的時候,她聽不太懂,但是到了第三季的時候就慢慢愛上了它。現在她把一到十季整整看完一遍了,期間整個房間都是她的歡聲笑語!藉此機會也想對其他有同樣問題的朋友說:“堅持就是勝利!”

2. 經過幾個月的努力,老婆終於找到自己滿意的工作!對於這個Offer,可以說是來之不易,因為老婆沒有任何跨國公司的經驗且才來新加坡幾個月,所以對她來講是完全在一個不熟悉的英語環境,而且還要面對各種面試,其中的辛酸苦辣我也看在眼裡,痛在心底。作為老公,希望她的工作一切順利!

扯遠了,迴歸正題,《程式猿也愛學英語,有圖有真相》實在太長,為了方便讀者閱讀以及多方面考慮,我把它拆分成了幾篇。今天這篇我們就來講一下社群,部落格以及原始碼。

社群(Forum)

我經常訪問的社群網站很多,不同的時期或者根據當時研究的技術的不同,也會有相應的變化。這裡我總結了曾經自己使用最多以及對我幫助最大的一些社群和網站(可能大家或多或少都曾使用過他們,主要偏向於.NET方向):

image_thumb2
名稱:w3schools
描述:這個網站大家再熟悉不過了,W3Schools是於1999年創立的一個網站開發教程門戶。W3Schools由位於挪威提供軟體開發、諮詢的Refsnes Data公司所成立,提供的免費網頁開發教程包括HTML、XML、CSS、JavaScript、PHP、ASP等等。
image_thumb43
名稱:StackOverflow
 
描述:這個就不需要我來做更多的介紹,相信每個朋友或多或少都用過它來找技術答案,Stack Overflow是全球IT界最受歡迎的技術問答網站。
clip_image004
名稱:MSDN 
描述:這個網站是大家學.Net的初始網站,也是.net方面官方和權威的資料,相信大家都知道或經常訪問這個網站。即是初學者的最佳學習資料場地,同時也是中高階開發者的參考資料庫。裡面還包括很多視訊、library、每月技術雜誌、社群等。

image_thumb46

名稱:CodeProject
描述:分類十分的清晰,同時涵蓋了.net技術的方方面面,最關鍵的是幾乎所有文章都帶有原始碼且文章由淺入深、淺顯易懂。如果熟悉這個網站,
你可以學到很多有用的知識,同時也能鍛鍊一下英文。

clip_image008

名稱:CodePlex 
描述:這個網站相信大家也比較熟悉,裡面包含了很多大大小小的開源專案,同時也包含一些官方和非官方的ToolKit,也包含很多成型的開源專案。如果你仔細看,你會發現有很多社群的朋友也上傳了自己的開源專案。
clip_image016
名稱:C# Corner
描述:上面有很多.net技術方面的文章,就像學英語有英語角一樣,這個網站對.net以及和.net互動的技術都有介紹,文章都比較短小,學習起來也比較容易。
image_thumb3
名稱:Careercup
描述:CareerCup是一個非常好的網站,它主要為從事軟體工作的程式猿們提供一些求職面試準備,你可以通過上面的問題來了解包括Microsoft、Google,Yahoo,Amazon等公司的面試流程、常見問題以及注意事項等,同時你可以看到裡面有很多求職的指導。
image_thumb51
名稱:TopCoder
描述:TopCoder,是一家專門組織計算機程式設計競賽的公司。TopCoder 線上舉行演算法競賽(SRMs)、元件設計競賽和元件開發競賽。演算法競賽在世界上與ACM、google code jam並稱為三大賽。相信眾多程式猿們在大學使用過這個網站。
上大學時比較喜歡去做做題,但最近幾年因為工作等原因,就沒有再使用。
image_thumb1
名稱:About.COM
描述:About.com是美國的一個入門網站,創立於1997年,部份內容為付費內容。它主要為網民提供各種各樣的生活瑣碎問題的解答。隨著時間發展,它現時已發展成為一個包含500多個專題的超級指導網站。
我們要關注的是裡面關於工作、求職、面試等資料。

clip_image017

名稱:SourceForge
描述:這個網站提供了軟體開發領域的各個行業的開源專案,語言不限,一般只在上面找對開發有幫助的開源專案。
clip_image014
名稱:InfoQ
描述:是一個時刻關注企業軟體開發領域變化與創新的線上獨立社群,讀者受眾群主要為技術架構師、技術團隊帶頭人(高階開發人員)和專案經理等。
通過由各個技術領域專家提供的最新的新聞、技術文章、視訊訪談、視訊演講和迷你書等,InfoQ 為Java、.NET、Ruby、SOA、敏捷和架構六大社群提供一流的資訊。
image_thumb47
名稱:GitHub
描述:GitHub於2008年上線,目前,除了Git程式碼倉庫託管及基本的Web管理介面以外,還提供了訂閱、討論組、文字渲染、線上檔案編輯器、協作圖譜(報表)、程式碼片段分享(Gist)等功能。正因為這些功能所提供的便利,又經過長期的積累,GitHub的使用者活躍度很高,在開源世界裡享有深遠的聲望,形成了所謂的社交化程式設計文化(Social Coding)。
image
名稱:Microsoft Virtual Academy 
描述:Microsoft Virtual Academy (MVA)提供了大量的微軟課程,這些課程基本都是由一些專業的講師講解,裡面的課程包括11種語言。網站的宗旨是幫助開發者、IT從業者和相關學生學習最新微軟技術、構建自己的知識庫以及更好地完善自己的人生規劃。最重要的是裡面的課程全部是免費的。
Coursera logo.PNG
名稱:Coursera
描述:Coursera 是由斯坦福大學的電腦科學教授吳恩達和達芙妮·科勒聯合建立的一個盈利性的教育科技公司。 Coursera與多家大學合作,給大眾帶來一些線上免費課堂。
這個是身邊的同事介紹的,自己基本沒用。

image_thumb49

名稱:ASP.NET/ ASP.NET MVC
描述:ASP.NET/ ASP.NET MVC學習的最佳場所,裡面可以看到最新的特性和一些培訓的視訊,很有幫助。目前比較熱的ASP.NET MVC 4和Web API等文章和視訊也比較多。
image_thumb50
名稱:Channel 9
描述:Channel 9可以說是.NET最好的視訊網站,裡面除了有大量的技術視訊之外,還有我們熟悉的image_thumb8image_thumb7等。我相信絕大多數.NET程式設計師並不陌生。

image_thumb9

名稱:Java2s
描述:Java2s 是一個比較不錯的技術網站,裡面除了包括Java相關的學習資料以及原始碼外,也包含了諸如C#, ASP.NET, Javascript, C++, Python, Android等,如果你仔細發掘,我相信你會喜歡上這個網站。
image_thumb14
名稱:Youtube
描述:YouTube是世界上最大的視訊分享網站,早期公司總部位於加利福尼亞州的聖布里諾。在比薩店和日本餐館,讓使用者下載、觀看及分享影片或短片。公司於2005年2月15日註冊,網站的口號為“Broadcast Yourself”(表現你自己),所以這裡麵包括了各種各樣的視訊資料。有了它,你基本不用再去下載你需要的視訊。
還有很多很多,這裡就不一一列出……

部落格(Blog )

我認為作為程式猿的我們不應該侷限在自己的那一分三畝地(工作的內容),應該多注意以下幾個方面

  • 技術動態:瞭解自己關注的技術的最新動態。
  • 技術廣度:擴寬自己的眼界,瞭解更多的技術。
  • 技術深度:更深層次的理解我們當前所使用的技術。

這個時候你訂閱的國外大牛的技術部落格往往會解決你這幾方面的問題或者給我們更多的參考,讓我們的知識更加全面化、更加體系化乃至更加專業化。

由於我最近幾年一直致力於微軟架構、管理、培訓和企業解決方案,所以關注的部落格也偏向於.NET方向:

部落格 地址 介紹
Scott Guthrie Scott Guthrie 被稱為ASP.NET 之父,他的文章涉及的面也比較廣,從ASP.NET ,ASP.NET MVC,Silverlight,Visual Studio,.NET框架以及現在正熱的Windows Azure。
S. Somasegar 如果你關注Visual Studio和.NET框架的發展,你肯定對Soma這個名字不陌生。Somasegar是現任微軟開發工具事業部全球資深副總裁,負責Visual Studio,Expression系列,.NET框架,Team Foundation Server等一系列產品,同時還負責管理MSDN、TechNet等網站。在他的部落格上,可以看到這些產品的最新訊息,以及他個人對整個產業的觀點與看法。
Martin Fowler 《重構—改善既有程式碼的設計(Refactoring)》《企業應用架構模式(Patterns of Enterprise Application Architecture)》
Windows Azure Team Blog 如果你關注雲端計算且關注微軟的雲端計算Windows Azure,那麼這裡就有你所需要的資料和訊息。
ASP.NET Weblogs 這個部落格應該對做ASP.NET 或者ASP.NET  MVC的同學來說並不陌生,裡面有大量ASP.NET 或者ASP.NET  MVC的學習資料和最新訊息。
Laurent Bugnion 如果大家使用過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這個網站,它也是我平時去得比較多的地方,因為這裡的知識比較全面且淺顯易懂。如果你仔細挖掘,你會獲得意想不到的收穫。

再其次就是研究一些開源的框架和專案,比如

2010-10-21 16-22-042010-10-21 16-34-312010-10-6 23-54-02

針對框架的研究,自己也總結了幾點:

1,首先看框架的相關介紹,瞭解相關的背景、功能、架構圖以及其他一些相關資訊——認識瞭解
2,根據介紹檢視並除錯框架所提供的例項——熟悉功能。
3,自己寫一些相關的Demo,主要是熟悉該框架。如果說要急於做專案,這裡就可以把框架引入到專案當中,然後具體使用之——具體使用
4,根據該框架提供的詳細單元測試研究其原始碼,這也是我最喜歡研究這些開源框架的原因——原理剖析
5,通過上面的步驟認真分析其原理及細節——準備重現
6,自己也根據之前的思路重複開發這個框架,最好能用TDD——框架復原
7,仔細分析及思考,吸取其中的經驗,最好能打造一個自己的框架(當然這一步是可選的)。

這裡要注意的是:在研究的過程中一定要先熟悉功能,再研究它內部的原始碼和實現,然後再創造出自己的框架。這樣才能激發我們研究的慾望,才會產生作用與反作用力,才會使我們達到深入淺出、舉一反三,進而真正受益的目的!

總結&待續...(Summary & To Be Continued…)

正如我前面所說,《程式猿也愛學英語,有圖有真相(中)》實在太長,為了方便讀者閱讀以及多方面考慮,我把它拆分成了幾篇。今天這篇我們講了社群,部落格以及原始碼,那麼下篇我們將接著說其他的幾個主題,希望能對大家有幫助。

image_thumb161

備註:

  1. 我不是牛人,只是一枚普普通通在海外漂泊的程式猿。寫作本文只是自己一時興起,或者說是自己的興趣使然,保持交流和分享的心態釋出出來。文中的觀點只是自己的學習心得和體會,屬一家之言且鑑於本人不是學英語出身,如有不對的地方,也請大家見諒並指正。
  2. 歡迎轉載,但請註明作者、出處及保持內容完整(因為本文只是自己個人的一些粗淺認知,錯誤在所難免,也希望讀者能反饋一些資訊,及時糾正和更新以上內容)。
  3. 最後,如果你覺得文章對你有所幫助,別忘了推薦或者分享,因為有你的支援,才是我續寫下篇的動力和源泉!

相關推薦

學習英文社群部落原始碼

前言(Introduction) 前些天寫了一篇《程式猿也愛學英語(上),有圖有真相》,大概介紹了我學英語的一些基本資料以及心得體會,先後從發音(Pronunciation, 基本常用單詞積累(Vocabulary), 新概念英語(New Concept English), 究竟需不需要學語法(Englis

馬哥學習-----李洋個人筆記壓縮解壓縮歸檔

壓縮 解壓縮 歸檔 compress 文件名-v 詳細信息 -d 等於 uncompress 默認只識別 .Z 如果使用別的後綴,會導致不識別,解壓縮失敗。也可以使用 -d -c 壓縮包 > 解壓縮的形式,解壓被改了後綴的壓縮包.這種方式不會覆蓋源文件.優點是這種方式不會覆蓋源文件.缺點是

【施工ing】【整理】python各種學習資源:資源網站部落等等

  正確的方法 1  先寫,然後看書,思考總結 2 放棄從0開始,邊幹邊學,而不是從最基礎開始 3 放棄海量資料,1個專案1個專案的幹   堅持正確的方法,做專案學 開始總結模組 自己寫的分享文章不行,原理沒寫清楚,都是堆砌,當然和現

雜談篇執著的部落寫作與君共勉

前言   開心一刻     某日公交車上一大媽下車後發現鑰匙落在了車上,這時公交車已經開始行駛了,大媽追在公交車後面大喊:“我鑰匙在你車上!我鑰匙在你車上!”司機聽見了,加大油門開的更快了,嘴裡嘟囔著:“這大媽死在哪不好,非要死在我車上....”  車說:輕鬆了不少   路漫漫其修遠兮,

Django學習筆記二:實現部落詳情完善文章的分類和標籤

前面我已經學會了使用Django框架搭建一個簡單的部落格框架。接下來學習的就是如何完善部落格的功能。 部落格詳情 功能 當用戶點選文章的“繼續閱讀”按鈕時,實現瀏覽文章的具體內容。即當點選“繼續閱讀”時根據傳入的請求和文章的id引數跳轉到對應的

機器學習(Machine Learning)與深度學習(Deep Learning)資料 文章、部落

介紹:這是一篇介紹機器學習歷史的文章,介紹很全面,從感知機、神經網路、決策樹、SVM、Adaboost到隨機森林、DeepLearning.介紹:這一篇介紹如果設計和管理屬於你自己的機器學習專案的文章,裡面提供了管理模版、資料管理與實踐方法.介紹:如果你還不知道什麼是機器學習

記錄一些用來學習設計模式的部落書籍

一、設計模式的六大原則: 1、開閉原則(Open Close Principle) 開閉原則就是說對擴充套件開放,對修改關閉。在程式需要進行拓展的時候,不能去修改原有的程式碼,實現一個熱插拔的效果。所以一句話概括就是:為了使程式的擴充套件性好,易於維護和升級

Python爬蟲學習筆記微信宮驗證碼的識別(存在問題)

依次 返回結果 ptc 接下來 clas 軌跡 self top http 本節我們將介紹新浪微博宮格驗證碼的識別。微博宮格驗證碼是一種新型交互式驗證碼,每個宮格之間會有一條 指示連線,指示了應該的滑動軌跡。我們要按照滑動軌跡依次從起始宮格滑動到終止宮格,才可以完成驗證,

學無止盡.Net開發者學習Java開篇(一)

項目 width 很多 maven 安裝jdk 比較 一律 uget 分享 Visual Studio是最好的開發工具,沒有之一 最近有空,學習學習以前丟掉的Java內容,已經沒有印象了 寫這篇文章的目的主要是學習Java,當然也是給自己學習Java的鼓鼓勁,萬一哪天就

Vue學習筆記vue-cli專案搭建解析

Vue (一)安裝node.js 首先需要安裝node環境,可以直接到中文官網http://nodejs.cn/下載安裝包。 只是這樣安裝的 node 是固定版本的,如果需要多版本的 node,可以使用 nvm 安裝http://blog.csdn.net/s8460049/art

Linux學習日記yum源的搭建共享

update 鏡像文件 cal rpm -ivh 名稱 arch rhel 系統 mkdir 一.軟件的安裝軟件的安裝有兩種方法,一種是rpm,安裝,一種是yum安裝,rpm安裝缺點是無法解決軟件的依賴關系,對於軟件的依賴關系,需要手動,一個一個的安裝,比較麻煩,yum安裝

Linux從0到1搭建個人部落系統wordpress

一、搭建系統環境 LAMP指的是Linux,apache,MySQL,php組成的網站系統,這是搭建網站最簡單快速的組合 1. 基礎環境(防火牆) 剛部署好的linux伺服器預設開啟了防火牆,假如你在該伺服器裝一個HTTP並啟動,在別的機器訪問該HTTP是不成功的

Mac搭建Hexo部落NexT主題配置優化

前言 最近看到陽春麵的部落格,感覺非常漂亮,正好最近也想自己搭個部落格,記錄一下自己的學習經歷和生活感悟,給自己留下點回憶,同時整理一下自己的思路,於是就想仿照著弄一個類似的靜態部落格網站,正好最近有時間,而且內心搭部落格的念頭越來越洶湧,所以,說幹就幹! 主要內容 拉到陽春

TP5學習第三天檢視輸出回顧

要輸出檢視,必須在控制器方法中進行模板渲染輸出操作 <?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function hello($nam

大資料Linux命令使用者使用者組檢視命令幫助

修改執行命令型別 (1)bash改成false:dudu❌515:515::/tmp:/bin/false 切換使用者:[[email protected] ~]# su - dudu (沒有使用者結果) (2)bash改成nologin:dudu❌515:515::/tmp:/bin/nolo

SpringSecurity學習筆記二:SpringSecurity結構基本配置

Spring Security3.2分為11個模組,如下表所示: Spring Security3.2引入了新的Java配置方案,完全不在需要通過XML來配置安全性功能。如下,展現了Spring Security最簡單的Java配置: @EnableWebSecurity

django學習記錄HttpResponseCookie

檢視在接收請求並處理後,必須返回HttpResponse物件或子物件HttpresponseRedirect。HttpRequest物件由Django建立,HttpResponse物件由開發人員建立。 1.HttpResponse響應物件。 content:返回的內容

機器學習規範化中心化標準化歸一化正則化正規化

一、歸一化,標準化和中心化 歸一化 (Normalization)、標準化 (Standardization)和中心化/零均值化 (Zero-centered) 標準化 資料的標準化(normalization)是將資料按比例縮放(scale),使之落入一個小的特定區間。在某些比較和評價

Java學習筆記--------IO流的原理分類

 IO流的原理 在Java程式中,對於資料的輸入/輸出操作以“流”(stream)方式進行。J2SDK提供了各種各樣的“流”類,用以獲取不同種類的資料;程式中通過標準的方法輸入或輸出資料。  IO流的分類 按照流的方向: 輸入流:資料來源到程式。 輸出流:程式到目的

機器學習筆記十二——SVM原理推導

svm(support vector machine)是一種二分類演算法,它的目標在於尋找一個能將兩種點分離的直線或平面或超平面。 如圖(來自wiki): 圖中的紅線將兩邊資料點分開,這條線就是分割直線,同樣的,在三維座標軸中,將兩邊資料點分開的平面,稱為分割平面;更高維的空間座標軸,