0%

1. 指令

  • v-on:click 绑定click事件(可以简写为:@click)
  • v-bind:content绑定属性(可以给子组件传值)简写为:content
  • v-for="item in list" 将list中的元素遍历出来。
  • v-model 模型绑定

2. Vue实例

  • el Vue接管区域
  • data 数据
  • methods 事件绑定的方法

3. 数值显示方法

  • 插值法:{ {item}}

4. 实现ToDoList代码(添加)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="../vue.js"></script><!--本地运行请修改Vue.js引用路径。-->
</head>
<body>
    <div id="app">
        <input type="text" v-model="inputValue">
        <button v-on:click="handleBtnClick">提交</button>
        <ul>
            <li v-for="item in list">{ {item}}</li>
        </ul>
    </div>
    <script>
        var app=new Vue({
            el:'#app',
            data:{
                list:[],
                inputValue:''
            },
            methods:{
                handleBtnClick:function(){
                    this.list.push(this.inputValue);
                    this.inputValue="";
                }
            }
        })
    </script>
</body>
</html>

5. 组建的运用于传值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="../vue.js"></script>
</head>
<body>
    <div id="app">
        <input type="text" v-model="inputValue">
        <button v-on:click="handleBtnClick">提交</button>
        <ul>
            <compontone :content="item" :index="index" v-for="(item,index) in list" @delete="itemdelet"></compontone> <!--监听子组件delete事件-->
        </ul>
    </div>
    <script>
        var compontone={
            props:["content","index"],
            template:`<li @click="removeitem">{ {content}}</li>`,
            methods:{
                removeitem:function(){
                    //alert(this.index)
                    this.$emit("delete",this.index);//触发delete事件,并传值
                }
            }
        }

        var app=new Vue({
            el:'#app',
            data:{
                list:[],
                inputValue:''
            },
            components:{
                compontone:compontone
            }
            ,
            methods:{
                handleBtnClick:function(){
                    this.list.push(this.inputValue);
                    this.inputValue="";
                },
                itemdelet:function(index){
                        this.list.splice(index,1);//删除对应index的值。
                }
            }
        })
    </script>
</body>
</html>

1. Javascript数值类型

  1. Number
  2. Boolen
  3. String
  4. Object

2. 转换Number(int)

1. Number("123aabb")
2. ParseInt("123aabb")  //以数字开头可用,不然返回NaN(Not a Number)

3. 转换Number(Float)

1. Number("123.56aabb")
2. ParseFloat("1234.56px") //返回数字1234.56

4. 查看当前变量类型

var a="aabbcc";
console.log(typeof a);  //或
console.log(typeof(a));

5. 转化为Boolean

var a=12345;
Boolean(a);   //返回true

注:除0之外,所有的数字都为true;除了“”(空字符串)以外,所有的字符串都为true;null和undefined转换为布尔类型均为false。

6. 转化为字符串

var c=1234;
c.toString();  //返回 “1234”
typeof(c)
"number"    //返回类型为number
typeof(c.toString())
"string"   //返回类型为string

爬虫基本架构

1. 爬虫调度器

2. URL管理器

  • 初始化未爬取、已爬取URL集合
  • 判断是否存在未爬取的URL
  • 获取一个未爬取的URL
  • 将新的URL加入未爬取的集合
  • 获取未爬取的URL集合大小
  • 获取已经爬取的URL集合大小

3. HTML下载器

  • 实现下载网页

4. HTML解析器

  • 抽取URL与数据

5. 数据存储器

  • 保存数据

短期计划列表

  1. 完成Git的学习目标。
  2. 成功搭建Gitlab。
  3. 学习UML建模概念。
  4. 根据世界技能大赛(45)公布题目做一个demo。
  5. 继续学习Python,sklearn模块。
  6. 为答题游戏demo添加PK模式。

下面,我会将上述计划,以笔记形式不断更新上来。 附完成链接:

  1. 【本站】Git学习简易教程

前言

简单使用Git,基于我前面的学习,简单讲一下,我已经在运用的部分,可以使用Git来存储自己的代码,供别人克隆到本地。可以运用Git发布自己的代码到Githun等代码托管网站。(强烈推荐拜读一下廖雪峰的Git教程,讲的比较系统,直达链接

初始化Git目录

例如我们在桌面新建一个文件夹,命名为LearnGit,打开文件夹,右键可以看到Git Bash Here,点击它既可调出Bash。 调用Bash 在调出的Bash中输入以下命令:

git init

初始化项目文件夹

1. 添加文件

在LearnGit文件夹内新建一个测试文本。内容为:This is for test Git project.保存为test.txt。我们先查看了test.txt中的内容,然后将test.txt添加到Git。

git add test.txt   #test.txt为添加入Git的文件名。

此时,我们已经将test.txt加入了暂存区。但是还没有提交至版本库。

2. 查看状态

我们可以使用git status来查看Git的状态。

git status

执行git status 我们可以清晰的看到此处新增文件:test.txt.并且告诉我们还没有任何操作提交到版本库。

3. 提交操作至版本库

下来使用git commit -m "说明或注释"来将之前add进来的文件添加进版本库。

git commit -m "First commit the Project"

执行git commit 再次执行git status查询状态: 执行git status 我们已经成功将文件提交至版本库。

4. 版本退回

说了那么多,一定很好奇,为什么我们要使用Git,直接保存成一个个文件不是很好吗?因为多个文件,会导致我们有一堆零碎的文件,而Git我们只需要拥有1个文件,就可以回退到任何版本(当然是已经向版本库提交过的版本)。 我们将上面建的test.txt文档内的内容改为:This is the twice commit。然后再添加进暂存区,在执行commit命令。 我们可以清楚的看到,图片上最后一行告诉我们,新增一行,删去一行。我们再使用git log查看我们的操作记录。 git log 此处的git log命令输出了我们执行的两个git commit命令的记录。并且,当前LearnGit目录中的文件状态指向我们注释的Twice commit the file状态。上图中还有一个SHA1计算出来的commit id(282c9cf…..b3a7af530)。 现在,我们操作版本退回到上一次的内容(内容为:This is for test Git project)。 我们执行以下代码回退到上一次的状态:

git reset --hard HEAD^    #符号^的个数代表回退的版本数

上面的Bash显示,我们已经回退到一次的情况,我们查看一下内容。 内容已经成功退回之前的版本。 上面的命令看着很好理解,但是当我们需要回退的版本过多的时候。这样显得异常繁琐。因此还有一个简单的命令:

git reset --hard HEAD~3

为了测试这个场景,我们向test.txt写入内容:“1”,然后执行add,commit操作,再次按照上述操作添加内容:“2”,“3”,“4”。 然后执行git log (备注一下,由于test2打错了,因此此处仅对图片进行修改,填充的内容为2) 上图,我们可以发现,除了我们第一次first commit the project外,我们还有4次修改。我现在输出一下当前文件夹内的内容,然后回退到first commit the project的状态。 我们成功的回退到了第一次的状态。 但是,此时你执行git log会发现一个问题,我们对文件进行的第二操作(备注为:This is the twice commit)的似乎找不到了,回退之前的修改记录也不见了。 在Git中,当我们返回了之前的某个状态,在那个状态之后的操作状态就从git log中消失了。我们可以使用git reflog显示之前的命令历史。 下面我们执行:

git reflog

可以看到,当我们执行完了git reflog后所有的操作记录也都回来了。 我们使用git reset --hard commit_id返回指定状态。 这里我们使用以下命令回到我们第二次对文件修改的状态:

git reset --hard 282c9cf

我们可以从上面的图片中得出,此时的状态已经指向282c9cf这个commit_id的状态(也就是我们第二次编辑文件的状态)。 箭头所指的地方就是我们第二次写入test.txt的内容。 未完待续。2018年3月27日 02:18:12

5. 撤销修改

很多时候,我们可能会不小心commit一些错误的文本进去,但是我们可能已经执行addcommit命令,意味着已经添加到暂存区或者版本库。我们希望撤销我们addcommit操作之后编辑的内容,我们使用以下命令:

git checkout -- check.txt

我们继续使用前面的LearenGit文件夹。在文件夹内新建一个check.txt,将check.txt加入版本库。如下图所示: 我们现在开始修改check.txt文件,我们在check.txt里添加20180326。然后执行git add check.txt 然后我们还是按常规,执行commit命令。下面,我们发现20180326已经不能代表今天的日期。然后我们将它修改为:This is the twice file.2018-03-27但是,我们马上意识到刚才修改的东西格式有问题,但是文件已经点击了Save。保存了下来。我们希望恢复成我们改之前的版本(注意:没有进行addcommit操作)。 我们可以看到,执行上述命令后马上就还原为我们文件保存前的样子。 这句命令也可以使已经进行add操作后编辑的文本,撤销add命令以后的修改操作,使文本还原到add命令的状态。 我们继续在check.txt文本添加一行:my web site is harrycode.cn然后执行git add check.txt。之后我们打开check.txt,新加入一行:This words cna be removed.然后点击保存。 到这里,check.txt里已经有三行文本。现在我们使用:

git checkout -- check.txt

使check.txt恢复到两行的状态。

6. 删除

我们要删除上面的check.txt,直接在Bash中输入rm check.txt文件就删掉了,但是版本库里面还有文件,导致两边文件不一致。我们使用git status就可以查看状态。 到这里,我们就需要分两种情况来考虑了,一种情况是,我们确实想删除这个文件,直接git rm check.txt然后执行git commit -m"删除check.txt",另一种情况,就是我们误删了这个文件,我们需要恢复这个文件,直接使用git checkout -- check.txt从版本库复制即可。 下面,我们单独演示一下删除test.txt:

rm test.txt  #此句可以省略
git rm test.txt  #同时删除test.txt文件
git commit -m "removed test.txt"

7. 远程仓库

说到远程仓库,不得不提Github,但是鉴于国内访问速度比较慢,因此我这里选择直接使用开源中国的码云。 未完待续,2018年3月27日 23:05:04