學習英文之社群,部落格及原始碼
前言(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 | 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這個網站,它也是我平時去得比較多的地方,因為這裡的知識比較全面且淺顯易懂。如果你仔細挖掘,你會獲得意想不到的收穫。
再其次就是研究一些開源的框架和專案,比如
針對框架的研究,自己也總結了幾點:
1,首先看框架的相關介紹,瞭解相關的背景、功能、架構圖以及其他一些相關資訊——認識瞭解。
2,根據介紹檢視並除錯框架所提供的例項——熟悉功能。
3,自己寫一些相關的Demo,主要是熟悉該框架。如果說要急於做專案,這裡就可以把框架引入到專案當中,然後具體使用之——具體使用。
4,根據該框架提供的詳細單元測試研究其原始碼,這也是我最喜歡研究這些開源框架的原因——原理剖析。
5,通過上面的步驟認真分析其原理及細節——準備重現。
6,自己也根據之前的思路重複開發這個框架,最好能用TDD——框架復原。
7,仔細分析及思考,吸取其中的經驗,最好能打造一個自己的框架(當然這一步是可選的)。
這裡要注意的是:在研究的過程中一定要先熟悉功能,再研究它內部的原始碼和實現,然後再創造出自己的框架。這樣才能激發我們研究的慾望,才會產生作用與反作用力,才會使我們達到深入淺出、舉一反三,進而真正受益的目的!
總結&待續...(Summary & To Be Continued…)
正如我前面所說,《程式猿也愛學英語,有圖有真相(中)》實在太長,為了方便讀者閱讀以及多方面考慮,我把它拆分成了幾篇。今天這篇我們講了社群,部落格以及原始碼,那麼下篇我們將接著說其他的幾個主題,希望能對大家有幫助。
備註:
- 我不是牛人,只是一枚普普通通在海外漂泊的程式猿。寫作本文只是自己一時興起,或者說是自己的興趣使然,保持交流和分享的心態釋出出來。文中的觀點只是自己的學習心得和體會,屬一家之言且鑑於本人不是學英語出身,如有不對的地方,也請大家見諒並指正。
- 歡迎轉載,但請註明作者、出處及保持內容完整(因為本文只是自己個人的一些粗淺認知,錯誤在所難免,也希望讀者能反饋一些資訊,及時糾正和更新以上內容)。
- 最後,如果你覺得文章對你有所幫助,別忘了推薦或者分享,因為有你的支援,才是我續寫下篇的動力和源泉!
相關推薦
學習英文之社群,部落格及原始碼
前言(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學習記錄之HttpResponse,Cookie
檢視在接收請求並處理後,必須返回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): 圖中的紅線將兩邊資料點分開,這條線就是分割直線,同樣的,在三維座標軸中,將兩邊資料點分開的平面,稱為分割平面;更高維的空間座標軸,