怎麼通過 GitHub 和 Stack Overflow 來學習?
stackoverflow就像十萬個為什麼,幾乎各個領域問題都能找到解答,其中不乏有專業水平極高,深度極深的,但大多數問題還是比較簡潔,旨在解決問題。
github廣義上是一個源代碼託管網站,但是到今天其功能已經遠不止如此,簡單列舉幾個github學習的好功能1. 源代碼學習,包括linux在內幾乎最火的open source project都通過github來託管
2. 專業的教程,github上可以架設網站,用markdown來編寫blog,教程等等,典型的有axtaxie在github上寫了一本GOWEB編程的書astaxie/build-web-application-with-golang · GitHub一般如果你開發中碰到問題可以去stackoverflow查找解決方案,我個人覺得這是問題驅動的但是如果你想靜下心來好好學習,建議多看github上的project,他能提供從document到opensource code完整的一套,更加適合系統的學習
PS 兩個東西對找工作都很有用~,你可以在面試時候提供你的github賬號,如果你有很多貢獻,無疑加分很多Github用來學習別人的代碼,或者加入別人的project。stackoverflow用來問問題。
可以讀一讀這篇文章 如何高效利用GitHubstackoverflow 的tag info裡面給我們系統的提供了學習一個語言或者平台的資源。
我講一下自己在這兩個平台上的學習經歷吧。
stack overflow :
因為兩個平台都是全英文的,有的英語渣渣的同學可能感覺無從下手,這個不怕,百度翻譯,谷歌翻譯幫你解決溝通問題,既然你是做軟體開發的最基本的一些語句應該是沒問題的。我第一次到stack overflow上提問就是通過翻譯工具來提問的,沒辦法,英語渣嘛,只要你表達的能夠讓那些大牛們能看懂,那一切都ok,他們看懂了一定會幫你解決的。那次的提問,有個大牛給我的答案特別滿意,他的那種寫法到現在我在國內都沒找到類似的,在國內的一些論壇網站的demo都是抄來抄去,運行起來雖然沒問題,但是那個思路和寫法真的很難理解(如果不加註釋)。還有一次就是不知道怎麼表達,也不知道怎麼解決的時候我就直接上了代碼,又一個大神幫了我的大忙,而且還告訴我其他的思路和用法。解釋的特別詳細。
github:
這個大家應該都有體會,在國內好多的demo和框架都是來自github的,而且那裡的demo都是超經典,你所能查到的demo肯定都是經過前輩們篩選後的經典demo,這些demo就是拿來研究的最好資料。大家應該都知道大學裡學的東西真的是太淺薄,為什麼會這樣?因為沒其他的力量驅使你去必須的學習,工作了有驅動力了,但是能夠快速學習而且用到項目中的唯一途徑就是將前輩們的成果拿過來用。github就是幫助你快速實現項目的平台。
如何學習?
我感覺標題應該改成如何用github和stack overflow來解決問題,我不相信大部分人來到github和stack overflow只是為了學習,我也不信奉先學習再實踐這種方法。我認為所有的學習都是來解決問題的,問題解決了也就學習了,不是嗎?那麼問題就簡單了,如何解決問題?問,問,繼續問。然後實踐,再實踐,繼續實踐。問題解決了,知識點也知道了,實踐幾次你就學會了嘛。
首先, 進入stackoverflow的主頁, 選擇頂部的tags鏈接.
然後, 滑鼠懸浮在你想要學習的標籤上, 比如JavaScript(注意看下邊的info.)
然後, 進入info. 裡邊包含了一些介紹, 以及如何問問題等. 再往下就是學習資源和工具.以及一些優秀的相關回答.最後, 點進你想要學習的網站鏈接, 開始學習.我在github上發起了這個項目
《StackOverflow Java Top100問題(翻譯)》https://github.com/giantray/stackoverflow-java-top-qa歡迎大家參與,一起來提高自己,享受開源樂趣
多看Stackoverflow,多下載Git源代碼學習
Github上關注些同行,從動態里看他們都fork或star了哪些項目,選擇性的看就不錯了。
好問題,stackoverflow這個東西對於一個問題的深入理解絕對是遠遠超出其他網站的,所以如果想更好的利用就努力的工作吧,工作中的問題可以通過這個平台來實現。至於github,我反正是發現不太適合我,我可能比較菜吧
SO主要還是用來解決問題,在解決問題的過程中順便學習。比如上次朋友問我Spring里如何獲得動態代理類所代理的目標類名稱,直接google:aop advice real class,找第一頁出現的SO結果,不到3分鐘就搞定了,順便通過SO答案中的鏈接學習了Spring的一個介面。
請問大家:這兩個網站的數據支持鏡像下載嗎?
推薦閱讀:
※在國內上大學,不想上課,全來泡圖書館是否可行?
※Mac系統上自學編程?
※學完基礎的verilog語言後 如何進一步學習fpga?
※python中利用循環去掉空格,這端函數如何工作的。希望可以解釋一下思考過程,我是小白不要說的太高深?
TAG:編程 | StackOverflow | GitHub | 編程技巧 | 自學編程 |