首先明確我們這次的任務
任務圖
這次的作業我先分為了四大部分
them.png
-
Git創建版本庫
First
- 運用cd進入版本庫
- mkdir創建一個版本庫
pwd命令用于顯示當前目錄
如下圖所示
圖一
- 通過 git init 把這個目錄變成git可以管理的倉庫
圖二
這時當前testgit目錄下會多了一個.git的目錄(該目錄下的文件不要貿然改動,因為該目錄是git用來跟蹤管理版本的)
Second
Git步驟二
版本回退
通過上面的描述,已經講述完了修改文件,現在繼續對readme.txt文件修改,增加一行33333333,繼續執行命令如下:
9.png
現在已經對readme.txt文件做了三次修改,若要查看一下歷史記錄,則可以使用命令:git log ,演示如下:
git log顯示從最近到最遠的顯示日志,即我們最近三次提交
若是認為圖一顯示的信息太多的話,可以用命令git log --pretty=oneline ,演示如圖
2
如果 把當前的版本回退到上一個版本可以使用如下2種命令,第一種是:git reset –hard HEAD^ 那么如果要回退到上上個版本只需把HEAD^ 改成 HEAD^^ 以此類推
回退
再來查看下 readme.txt內容如下:通過命令cat readme.txt查看,并且可以繼續使用git log 來查看下歷史記錄信息
13.png
增加333333 內容沒有看到了,但是現在想回退到最新的版本,
- 首先先通過git reset -hard獲取版本號
- 然后用git reset –hard 6fcfc89來恢復
具體如下圖:
000
-
接下來,我們來講解一下Git撤銷修改和刪除文件操作
Git 撤銷、修改.png
現在來講解Nodejs
首先記錄我的第一個Hello World程序
nodejs.PNG
- 對于Nodejs,Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web應用程序框架Node.js快速入門
Node.js = 運行環境+ JavaScript庫
- node.js和javascript區別還是挺大的,1個是平臺,1個是編程語言;
- javascript是客戶端編程語言,需要瀏覽器的javascript解釋器進行解釋執行;
- node.js是一個基于Chrome JavaScript運行時建立的平臺,它是對Google V8引擎進行了封裝的運行環境;
- 簡單的說node.js就是把瀏覽器的解釋器封裝起來作為服務器運行平臺,用類似javascript的結構語法進行編程,在node.js上運行。
TDD代碼
describe("Word Frequency", function () {
it("returns empty string given empty string", function () {
var result = main('');
expect(result).toEqual('');
});
it("returns string given one word", function () {
var result = main('he');
expect(result).toEqual('he 1');
});
it("returns string given two different word", function () {
var result = main('he is');
expect(result).toEqual('he 1\r\nis 1');
});
it("returns string given two duplicated word", function () {
var result = main('he is he');
expect(result).toEqual('he 2\r\nis 1');
});
it("returns string given two duplicated words need to be sorted", function () {
var result = main('he is is');
expect(result).toEqual('is 2\r\nhe 1');
});
it("returns string given two duplicated words splited by multiple spaces", function () {
var result = main('he is');
expect(result).toEqual('he 1\r\nis 1');
});
it("returns string given long string splited by multiple spaces", function () {
var result = main('it was the age of wisdom it was the age of foolishness it is');
expect(result).toEqual('it 3\r\nwas 2\r\nthe 2\r\nage 2\r\nof 2\r\nwisdom 1\r\nfoolishness 1\r\nis 1');
document.write("result:"+"<br>"+result);
});
var formatWordAndCount = function (word, count) {
return word +
' ' +
count;
};
var group = function (wordArray) {
return wordArray.reduce((array,word)=>{
let entry = array.find((e)=> e.word === word);//找對象
if(entry){
entry.count++;
}else{
array.push({word:word , count:1});
}
return array;
},[]);
};
var split = function (words) {
return words.split(/\s+/);
};
var sort = function (groupWords) {
groupWords.sort((x, y) => y.count - x.count);
};
function format(groupWords) {
return groupWords.map((e) = > formatWordAndCount(e.word, e.count)).join('\r\n');
}
function main(words){
if(words !== ''){
let wordArray=split(words);
let groupWords = group(wordArray);
sort(groupWords);
return format(groupWords);
}
return ''
}
這是后來修改后的第二次提交結果
Paste_Image.png
這是第一次的TDD提交結果
Git提交結果
Git.png
本次作業的心得體會
- 總的來說是各種困難擺在面前吧,于我而言,Git和Nodejs都是兩個新事物,我需要一步一步地去進行學習,從安裝環境到用法的熟悉,都花了不少時間,然后寫代碼的時候剛開始是完全寫不了,有一種“題目認識你,可是你卻不認識它一樣”,隨后我請教了同學,并且慢慢地進行自我摸索,總算是在磕磕絆絆之后把代碼給死磕了出來,無論做什么事過程都是艱難的可是到真正完成之后就會有一種成就感。