使用碼雲和博客園學習簡易教程

使用碼雲和博客園學習簡易教程

有了《使用開源中國(碼雲)託管代碼》和《使用博客園進行學習》, 很多同窗可使用使用碼雲和博客園來學習了,也有很多同窗仍是誤用。我以一週的學習過程爲例,寫一個step by step的教程。html

咱們以Linux(Ubuntu)環境下的學習爲例,須要你掌握別出心裁的Linux命令學習法中的內容。java

首先在Ubuntu中安裝配置git,user.name中最好有學號信息:git

sudo apt-get install git
git config --global user.name "20155200rocedu"  
git config --global user.email "rocedu@qq.com"

我在碼雲上創建了課程組織BESTI.IS.Java2017,你們能夠在組織中建立本身的學習項目:web

如今助教和課表明已是管理員了,參考2016-2017-2 《Java程序設計》課程學生博客和代碼託管連接儘快把同窗們加爲「開發者」:vim

咱們能夠在組織中經過點擊「新建項目」創建本身的學習項目了,項目名稱中必定要體現學號信息,語言和.gitignore都選擇Java:微信

建好的學習項目以下圖所示:post

咱們在Ubuntu中經過git clone https://git.oschina.net/bestiisjava2017/ljp20155200_JavaProgramming.git 來克隆咱們的學習項目,
須要注意的是,項目連接有兩種方式HTTPS和SSH兩種,咱們選擇複製HTTPS的連接,這樣不須要公私鑰對,只要碼雲的用戶名和口令就好了。想用SSH的能夠本身學習。學習

如上圖,參考《Java學習筆記(第8版)》學習指導創建教材學習項目目錄,咱們先使用mkdir src,mkdir bin創建src和bin目錄。咱們經過vi src/Hello.javaatom src/Hello.java編輯代碼,輸入如下程序:測試

1 public class Hello {
2     public static void main(String []args){
3         System.out.println("Hello Java World!");
4     }
5 }

下面咱們編譯運行Hello.java程序。最簡單的辦法是到src目錄中使用javac Hello.java,Java Hello進行編譯和運行。這時Hello.java和Hello.class都在src目錄中,以下圖咱們經過javac -d bin src/Hello.java把Hello.class產生在bin目錄中,經過cd bin,java Hello,cd ..來運行Hello.class 並保證工做目錄是項目根目錄:網站

代碼編譯運行沒有問題了,咱們經過git add .,git commit把剛纔的工做歸入版本控制,經過"git push"把咱們的工做推送到碼雲上。

碼雲上 咱們能夠看到本地的代碼和腳本已經上傳到網站上了。

編譯運行咱們能夠經過vim run.sh寫一個腳本簡化,之後可使用Ant,Gradle等讓編譯自動化。

#!/bin/sh

javac -d bin src/Hello.java
cd bin
java Hello
cd ..

注意要用chmod +x run.sh給腳本加上執行權限。腳本測試沒有問題,咱們使用git add .,git commit -m "add run script" 把腳本歸入版本控制中。

咱們使用vim src/Hello.java編輯Hello.java代碼,加入一行打印己學號姓名的代碼:

1 public class Hello {
2     public static void main(String []args){
3         System.out.println("Hello Java World!");
4         System.out.println("Hello 20155200 rocedu!");
5     }
6 }

經過腳本進行編譯、運行的結果以下:

沒有問題,咱們使用git add .,git commit -m "print student id and name" 把新加代碼提交到版本控制系統中。

這樣,參考積極主動敲代碼,使用JUnit學習Java中的學習方法就能夠進行實踐學習了。遇到問題參考《使用JDB調試Java程序》,《Intellj IDEA 簡易教程》進行調試。

咱們每週的學習要經過在博客園發博客,碼雲 也是博客寫做,預覽的好平臺,同時也把博客的寫做歸入了版本控制。

咱們先運行mkdir docs,touch docs/java_homework_week1.md建立docs目錄和空文件「java_homework_week1.md」。

咱們經過git add ., git commit -m "init docs with empty java_homework_week1.md"把做業博客歸入版本控制。

咱們經過git push把做業推送到碼雲 上:

碼雲 上咱們看到了docs文件夾:

點擊docs文件夾,打開「java_homework_week1.md」,點擊「編輯」就能夠寫做業了:

爲了規範做業,我在2016-2017-2 《Java程序設計》教學進程中給出了做業模板的Markdown 內容,做業提交要嚴格按模板提交,咱們先把模板拷貝過來,並進行提交:

提交說明是「拷貝做業模板」,這等價於 git commit -m "拷貝做業模板", 點擊「提交到master」按鈕。

要養成寫一段完整文檔提交一次的習慣。

做業模板包含如下要素,不要遺漏:

  • 教材學習內容總結
  • 教材學習中的問題和解決過程
  • 代碼調試中的問題和解決過程
  • 代碼託管
  • 上週考試錯題總結
  • 其餘(感悟、思考等,可選)
  • 學習進度條
  • 參考資料

咱們給幾個簡單的例子,點擊「編輯」:

首先把標題中的「學號」改爲本身的學號,方便老師識別做者,而後把「第X周」改爲「第一週」

要注意模板中「教材學習內容總結」,之前很多同窗寫做業在此浪費了大量時間,寫總結要:

  • 儘可能簡單的總結一下本週學習內容
  • 儘可能不要抄書,浪費時間
  • 看懂就過,看不懂,學習有心得的記一下

這樣才能體現差別化,固然你也能夠預測老師會考什麼,在此列出來備查,必定不能長篇大論,內容卻千篇一概。
好比咱們總結出了三個要點,在提交信息中寫「完成學習要點」,而後點擊「提交到master」按鈕。

咱們的學習模板參考了鄒欣老師(博客,微博,豆瓣)設計的進度條,進度條用好對學習的促進做用很是大的,實踐一年來效果不太好,主要各類緣由形成學習數據亂填。

爲此我設計了一節「代碼託管」,要求學生有兩個截圖:

  • 代碼提交過程截圖:運行 git log --pretty=format:"%h - %an, %cd : %s" 並截圖
  • 代碼量截圖:運行 find src -name "*.java" | xargs cat | grep -v ^$ | wc -l 並截圖

後來我寫了個腳本直接把這個過程自動化了:

#!/bin/sh
clear
echo "//==========Today====================================="
echo "code summary infomation:"
find . -name "*.java" -mtime 0 | xargs cat | grep -v ^$ | wc -l 
echo "documents summary infomation:"
find . -name "*.md" -mtime 0 | xargs cat | grep -v ^$ | wc -l 
echo ""

echo "//==========This Week================================="
echo "code summary infomation:"
find . -name "*.java" -mtime -7| xargs cat | grep -v ^$ | wc -l 
echo "documents summary infomation:"
find . -name "*.md" -mtime -7| xargs cat | grep -v ^$ | wc -l 
git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-0 days"`
git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-1 days"`
git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-2 days"`
git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-3 days"`
git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-4 days"`
git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-5 days"`
git log --pretty=format:"%h - %an,%ci: %s " | grep  `date +%F --date="-6 days"`
echo ""
echo ""

echo "//==========All================================="
echo "code summary infomation:"
find . -name "*.java"| xargs cat | grep -v ^$ | wc -l 
echo "documents summary infomation:"
find . -name "*.md"| xargs cat | grep -v ^$ | wc -l 
echo "commit history:"
git log --pretty=format:"%h - %an,%ci: %s "

在「代碼託管」部分貼這個腳本的截圖就能夠了。能夠看出本身天天,本週,這學期寫了多少文檔,多少代碼。

「代碼託管」的連接要改爲本身的學習項目連接:

在碼雲上寫的文檔,要同步到本身的電腦上,只要運行git pull就好了。

咱們運行一下"statistics.sh"腳本,咱們能夠看到本身的學習進度:

每週做業中要對這個結果截圖,使用博客園的上傳圖片功能能夠生成Markdown圖片連接![](http://images2015.cnblogs.com/blog/741560/201703/741560-20170302072056626-389386440.png)

咱們把這個連接插入碼雲上的做業博客中:

完成了本週學習任務,咱們能夠經過「一鍵複製」 把做業博客的內容複製,而後去博客園班級中去提交做業了.

最後,完成本週的學習任務,必定要運行git push 就能夠把本週學習成果推送到碼雲上。

總結一下咱們課上的git使用流程是:

  • 在碼雲上創建教材(我的項目,團隊項目)項目目錄
    • 使用git clone https//... 克隆學習項目
  • 做業博客能夠在碼雲上完成,歸入版本控制
    • 使用git pull能夠把碼雲上的文檔同步到本地PC上
  • 平時學習,代碼要在編譯,運行,測試沒有問題後進行以下操做
    • git add .
    • git commit -m "提交信息"
  • 週末提交做業前
    • git push

git commit -m "提交信息"中提交信息的寫法參考《Commit message 和 Change log 編寫指南》,最重要的一點是「One Thing One Commit」,不要寫了一週的代碼,週末提交一次,全部代碼的msg都是「第XX周代碼」

更多學習參考

必定要注意,這個教程教你如何在第一週就可使用git和博客園來完成學習,git的使用和背後的原理還要多多學習。

上課學習流程參考代碼驅動的程序設計學習.

代碼推送參考Ubuntu下git的安裝與使用

團隊項目參考使用GitHub進行團隊合做.


歡迎關注「rocedu」微信公衆號(手機上長按二維碼)

作中教,作中學,實踐中共同進步!

rocedu



若是你以爲本文對你有幫助,請點一下左下角的「好文要頂」和「收藏該文

相關文章
相關標籤/搜索