Git和Nodejs学习笔记

作者: 笑祺祺 | 来源:发表于2017-04-19 23:39 被阅读177次

    首先明确我们这次的任务

    任务图

    这次的作业我先分为了四大部分

    them.png
    • Git创建版本库

    First

    1. 运用cd进入版本库
    1. mkdir创建一个版本库
      pwd命令用于显示当前目录
      如下图所示
    图一
    1. 通过 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库
    1. node.js和javascript区别还是挺大的,1个是平台,1个是编程语言;
    2. javascript是客户端编程语言,需要浏览器的javascript解释器进行解释执行;
    3. node.js是一个基于Chrome JavaScript运行时建立的平台,它是对Google V8引擎进行了封装的运行环境;
    4. 简单的说node.js就是把浏览器的解释器封装起来作为服务器运行平台,用类似javascript的结构语法进行编程,在node.js上运行。

    TDD测试代码网址

    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都是两个新事物,我需要一步一步地去进行学习,从安装环境到用法的熟悉,都花了不少时间,然后写代码的时候刚开始是完全写不了,有一种“题目认识你,可是你却不认识它一样”,随后我请教了同学,并且慢慢地进行自我摸索,总算是在磕磕绊绊之后把代码给死磕了出来,无论做什么事过程都是艰难的可是到真正完成之后就会有一种成就感。
    • 其次就是这次的任务我认为对我的自主学习也有很多提升,也发现了很多学习知识的新大陆
      然后给大家推荐一个技术大牛发表文章的网站community
      不错的App集锦app

    相关文章

      网友评论

        本文标题:Git和Nodejs学习笔记

        本文链接:https://www.haomeiwen.com/subject/tpkhzttx.html