任务图首先明确我们这次的任务
这次的作业我先分为了四大部分
them.png-
Git创建版本库
First
- 运用cd进入版本库
- mkdir创建一个版本库
pwd命令用于显示当前目录
如下图所示
图二
- 通过 git init 把这个目录变成git可以管理的仓库
这时当前testgit目录下会多了一个.git的目录(该目录下的文件不要贸然改动,因为该目录是git用来跟踪管理版本的)
Second
Git步骤二版本回退
9.png通过上面的描述,已经讲述完了修改文件,现在继续对readme.txt文件修改,增加一行33333333,继续执行命令如下:
git log显示从最近到最远的显示日志,即我们最近三次提交现在已经对readme.txt文件做了三次修改,若要查看一下历史记录,则可以使用命令:git log ,演示如下:
2若是认为图一显示的信息太多的话,可以用命令git log --pretty=oneline ,演示如图
回退如果 把当前的版本回退到上一个版本可以使用如下2种命令,第一种是:git reset –hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推
13.png再来查看下 readme.txt内容如下:通过命令cat readme.txt查看,并且可以继续使用git log 来查看下历史记录信息
增加333333 内容没有看到了,但是现在想回退到最新的版本,
- 首先先通过git reset -hard获取版本号
- 然后用git reset –hard 6fcfc89来恢复
具体如下图:
-
接下来,我们来讲解一下Git撤销修改和删除文件操作
现在来讲解Nodejs
nodejs.PNG首先记录我的第一个Hello World程序
- 对于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都是两个新事物,我需要一步一步地去进行学习,从安装环境到用法的熟悉,都花了不少时间,然后写代码的时候刚开始是完全写不了,有一种“题目认识你,可是你却不认识它一样”,随后我请教了同学,并且慢慢地进行自我摸索,总算是在磕磕绊绊之后把代码给死磕了出来,无论做什么事过程都是艰难的可是到真正完成之后就会有一种成就感。
网友评论