使用開源中國(碼雲)托管代碼
劉未鵬(博客,微博,豆瓣)在「怎樣花兩年時間去面試一個人」一文中說:
我一向認為,很多時候,是否好好看完一本好書,對一個人的提升往往能達到質的區別。就算不好好看完一本好書,馬馬虎虎看完,只要書是真的好書,也肯定會有很大的提高。我在面試的時候就經常詢問對方看過哪些技術書籍,經常上哪些網站,訂哪些博客。這里頭尤其數書籍這一項的區分度最高。此外,好書和壞書的差別,從本質上,就是學習效率和大方向的差別。
劉未鵬(博客,微博,豆瓣)的書單值得大家好好學習,我也有個慢慢完善的書單供大家參考。
但是光有「書單計划」還不夠,因為書籍只能管基礎知識這一塊,一些更難以量化衡量的實戰「能力」又怎么辦呢?
答案是可以Social Coding的 github,使用github的好處:
真實的項目,真實的流程,真實的人名,一切代碼review, check-in, test, build, document, 甚至討論,計划,brianstorming,流程,一切的一切,都是項目歷史的一部分,都可以像棋局那樣復盤。有經驗的面試者只要稍稍掃兩眼一個人的GitHub歷史,挑出幾個check-in歷史看一看,便完全能夠迅速判斷這個人是否滿足他的要求。不再需要費勁心機地去想題目,去觀察,去揣測,去花費大量的時間的同時還只能采樣到幾個極為有限的點。
不像象牙塔里面大作業,這里有源代碼管理系統,自動化build,有check-in,有review,有分工,有合作,最重要的是——這是一個集市,一個超出象牙塔的集市,牛人相互吸引,你可以在互聯網上找到和自己擁有共同興趣的一幫人,真正做起一點事情,而不是交差,不需要受限於幾十個人的一個小班級。
其實這些好處也可以體現在通過博客交作業上,「使用博客園進行學習」有總結。
對於在博客園建博客交作業,在一些微信群中,有人問為何不讓學生自建博客?
鄒欣老師的回應是:
在博客園,學生很容易上手,可以互相點評, 可以看到歷史數據,等等。 自建博客, 大部分學生建不了,別人也點評不了,即使建好了,學期結束就消失了。 我們 2006年在微軟亞洲研究院就做了教學,學生都寫博客, 但是當時決定自己搭博客網站, 當時很爽。后來網站沒人管了,所有資料都沒了。
高手們考慮的問題,有一定的道理,但用於教學還是讓學生使用博客園進行學習比較好。
github用於教學也有類似的問題,理論上github是個理想的平台,但在教育網,需要翻牆就難倒很多學生,即使是信息安全專業的學生。我們上課推薦的是開源中國的碼雲 Git@OSC。
注冊
- 打開碼雲:http://git.oschina.net/,單擊
加入碼雲
按鈕,如下圖:
注意:昵稱要體現學號信息。
在手機上下載OSC客戶端:
版本控制工具git
什么是版本控制?為什么需要版本控制?什么是git? 請參考現代軟件工程講義 源代碼管理。
其他系統學習可以參考:
在Git@OSC上托管代碼
安裝git
Windows下安裝Git,到Git for Windows下載安裝Windows 版git。Git for Windows提供Git Bash,Git GUI,以及與Windows CMD集成三種使用方式。推薦使用專有的Git Bash,安裝時選擇「Use Git from Git Bash only」,其他的按默認選項安裝就行:
安裝完點擊桌面上的「Gib Bash」圖標或在Windows程序列表中選擇「Git Bash」:
在Git Bash中可以運行Linux 命令,我們使用git --version
查看一下安裝的版本,證明Git命令可用:
Windows 10現在內置Bash,參考在新版 Win10 中啟用 Linux Bash 環境啟用后,就可以像在Linux下一樣使用git了。
Linux系統下安裝git:在我們課程推薦的Ubuntu中安裝,只要shell中使用sudo apt-get install git
就可以了。
蘋果的macOS系統下安裝git: 參考homebrew的文檔安裝homebrew,然后在shell中通過brew install git
命令就可以安裝Git了.
使用git
使用git,常用 Git 命令清單中的幾個命令就夠課程中使用了:
我們課上的使用的git命令更少:git init,git add ,git commit, git push.
我們課上的git使用流程是:
-
建立教材(個人項目,團隊項目)項目目錄
-
git init在當前目錄新建一個Git代碼庫(一個項目就git init 一次)
-
平時學習:編寫代碼,編譯,運行,測試沒有問題后
- git add .
- git commit -m "提交信息"
-
周末提交作業前
- git push
git commit -m "提交信息"中提交信息的寫法參考Git 最佳實踐:commit msg,最重要的一點是「One Thing One Commit」,不要寫了一周的代碼,周末提交一次,所有代碼的msg都是「第XX周代碼」
上課學習流程參考代碼驅動的程序設計學習.
代碼推送參考Ubuntu下git的安裝與使用
團隊項目參考使用GitHub進行團隊合作.
作業
-
在Git@OSC上創建賬號(最好包含自己的學號信息)
-
安裝JDK
-
編寫“Hello World程序”並編譯運行,參考Java開發環境的熟悉學習在IDEA下如何調試程序。
-
在Git@OSC創建一個課程項目(repository),命名中體現學號信息,學習委員或課代表匯總大家的鏈接:
關於開源許可證,參考如何選擇開源許可證?:
- 在自己的項目中加入“Hello World”程序
歡迎關注“rocedu”微信公眾號(手機上長按二維碼)
做中教,做中學,實踐中共同進步!
-
版權聲明:自由轉載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你覺得本文對你有幫助,請點一下左下角的“好文要頂”和“收藏該文”