3 buppt

尚未进行身份认证

我要认证

进楼学习

等级
TA的排名 2w+

从零写一个 Vue(七)v-if 和 v-for

写在前面本篇是从零实现 vue2 系列第七篇,在 YourVue 中实现 v-if 和 v-for。文章会最先更新在公众号:BUPPT。代码仓库:https://github.com/b...

2020-06-25 11:40:35

从零写一个 Vue(六)组件化

写在前面本篇是从零实现vue2系列第六篇,将在 YourVue 中实现 component。从这篇开始实现的内容,博客上讨论的就比较少了,不过啃源码肯定要啃完整。正文将 main.js ...

2020-06-21 22:06:33

从零写一个 Vue(四)虚拟 DOM

写在前面本篇是从零实现 vue2 系列第四篇,为 YourVue 添加虚拟 dom。之前在第一篇实现 vue 流程的时候,将模版解析成 ast,直接生成了真实 dom。这并不是 vue 的实现方式,真正的实现方式是将 parse(template) 生成的 ast 通过 gencode 生成 render 函数,然后执行 render 函数生成 VNode,构建虚拟 dom 树,然后通过虚拟 dom 树创建真实 dom。代码仓库:https://github.com/buppt/YourVue正文

2020-06-20 11:43:37

从零写一个 Vue(三)数组监听

写在前面本篇是从零实现 vue2 系列第三篇,为 YourVue 添加数组监听。文章会最先更新在公众号:BUPPT。代码仓库:https://github.com/buppt/YourVue正文上一篇我们实现了双向绑定,篇幅原因没有处理数组。我们知道 vue 是通过重写了几个数组的方法实现的数组监听,先在 Observer 中添加几行代码。class Observer{ constructor(value) { this.value = value this

2020-06-20 11:36:02

从零写一个 Vue(二)双向绑定

写在前面本篇是从零实现 vue2 系列第二篇,为 YourVue 添加双向绑定。双向绑定大家可能都比较熟悉来,如果你能回答出下面几个问题,就可以跳过看下一篇了:vue2 通过 Object.defineProperty 修改 get 和 set 方法,实现订阅发布。为什么要用栈结构的 Dep.target 来存储当前 watcher ?为什么 watcher 每次更新后要 cleanupDeps,以及是如何 cleanupDeps 的?代码仓库:https://github.com/buppt

2020-06-19 15:31:12

从零写一个 Vue(一)主流程实现

写在前面vue3 马上要来了,vue2 学会了吗?最近看到了不少类似标题的文章,虽然 vue 的双向绑定、虚拟dom、diff算法等等面试常见问题你可能在几年前就学过了,不过让从零开始实现一个 vue,你可以吗。本着学习的最好方法就是自己实现一次的原则,趁着疫情无法返校,计划实现一个尽量完整的 vue,删掉了 flow 和很多的类型判断,只保留各功能的主流程,旨在为直接阅读 vue 源码提供过渡。毕竟 vue 源码还是比较难啃的,看网上的文章也很难将各个模块联系起来。跟着我先搭起整个框架,然后一个功

2020-06-19 14:40:43

从零写一个 Vue(五)DOM 生成与更新

写在前面本篇是从零实现vue2系列第五篇,将 YourVue 实例的 render 函数转换成真实 dom 和更新算法。正文上篇文章我们把 render 函数挂在了 options 属性...

2020-06-19 10:30:18

vue2 中 template 转换成 ast 过程简介

这篇文章主要简单介绍 template 转换成 ast 的过程,也就是 vue 中 parse 的过程。假设 template 模版为const template = `<div&...

2020-06-13 23:35:27

网页布局的发展历程

这篇文章是网页布局的发展历程,主要包括表格布局、position 布局、浮动布局、栅栏布局、flex 布局和 grid 布局。HTML 最初是用来定义网页结构的,页面内容从上到下依次显示...

2020-04-29 23:23:52

HTML的发展历程,Flash从兴盛到衰落,HTML5的崛起

HTML是Tim Berners-Lee在发明万维网时发明的三项技术之一,如果你对万维网还不够了解,推荐你看我的上一篇文章➡️万维网的发展历程,互联网、因特网、万维网有什么区别呢?本篇文...

2020-04-12 21:54:53

JS模块化的发展历程,CommonJS、AMD、CMD、UMD、ES6模块化

你应该听过 CommonJS、AMD、CMD、UMD、JS 模块化等等,这篇文章讲的就是这些名称都是什么意思,为什么会出现JS模块化,以及他们分别是如何实现JS模块化的。最早,我们就是直...

2020-04-06 21:03:16

根据vue源码手动实现虚拟dom

网上实现虚拟dom的文章也很多了,本项目代码结构、函数等完全按照vue@2.5.17源码思路实现,主要也是为了总结一下自己的学习。github地址在这里。从图中可以看到,这个dom树改变了许多地方,但是只新建了一个div元素,这说明其余的元素只是做了移动和文本内容的修改,这比重新渲染整棵dom树要节省很多资源。不多解释了,下面直接看代码吧。因为vue是通过模版解析之后生成的虚拟dom,我主要...

2018-12-21 23:11:37

根据vue源码手动实现双向绑定

其实写双向绑定的文章也挺多了,不过都没有仔细讲发布者-订阅者模式在其中的使用,本文尽量讲解清楚所有代码,代码结构、函数等完全按照vue@2.5.17源码思路实现(除了新建vue类以及初始化的时候)。github地址在这里。图中,input的value、h1、h2都与data.name绑定,可以通过input改变data.name,data.name改变后(发布者)与之绑定的h1、h2(两个订阅者...

2018-12-21 22:25:22

canvas+websocket+vue做一个你画我猜小游戏

做这个主要是学习使用一下canvas和websocket,项目地址。你画我猜大家应该都玩过,一个人画,其他人猜。现在刚刚实现了最基本的功能,以后还会慢慢修改的。先安装node的ws模块,然后使用node做一个简单的后端,作用就是接受websocket连接,将收到的一个用户发过来的数据发送给所有用户。// 导入WebSocket模块:const WebSocket = require('w...

2018-12-11 11:27:41

句子相似度计算笔记

最近用到了句子相似度的计算,把学到的在这里总结一下。句子相似度的计算常用的大概三种,一个TF-IDF,一个word2vector,还有在word2vector的基础上使用深度学习继续提取特征。TF-IDFTF-IDF感觉应该用在长文本或文章的相似度计算。词频(TF) 指某个词在句子(文章)中出现的次数。词频计算时一般会归一化,使用TF = 某个词在句子中出现的次数 / 句子的总词数。...

2018-11-27 15:59:47

vue移动端滑动切换图片的一个简单思路

最近想仿一下美团app里的榛果民宿,当做移动端的练习。github地址在这里,还没做完。按照app里的图片切换效果想了一个简单的实现思路,在这个基础上做更复杂一点更炫酷一点的轮播应该也是可以的。效果如图。代码其实很简单,<div id="slider" class="slider"> <img v-

2018-11-02 23:41:47

vue、koa2和mongodb练习,做一个简单的备忘录

mongodb的下载和使用可以看这篇文章 。koa2也可以查看我之前的文章。项目源码在github。开始mongodb后,使用nodejs建立一个mongodb数据库的连接。var MongoClient = require('mongodb').MongoClient;var url = "mongodb://localhost:27017/";var dbMongoClient....

2018-11-01 22:36:58

MongoDB安装与简单使用

下载、安装、启动先到官网下载安装自己机器对应的版本,这里是网址。由于我的是32位系统,所以下载的是3.2.21版windows vista 32-bit。下载后解压,3.2.21版直接解压就可以使用了,新版的需要先安装,一直下一步即可。安装之后最好将安装目录下的bin文件夹配置到环境变量,不配也没事,终端cd到bin文件夹下,执行mongod32位系统如果报错exception in...

2018-10-31 16:26:23

零基础入门--中文实体关系抽取(BiLSTM+attention,含代码)

前面写过一片实体抽取的入门,实体关系抽取就是在实体抽取的基础上,找出两个实体之间的关系。本文使用的是BiLSTM+attention模型,代码在这里,不定期对代码进行修改添加优化。数据处理其实数据处理的方法有很多,我用的是近两年英文论文使用的比较多的词向量+位置向量的方法。中文实体关系抽取的数据实在是太难找了,我现在只有忘记在哪里找到的一个人物关系数据集。希望同学们能分享一些其他的数据集。...

2018-10-07 22:02:23

Bilstm+crf中的crf详解

本文是对bilstm+crf模型中的crf进行讲解,并不是完整的条件随机场的讲解。如果对命名实体识别还不清楚的同学,可以先看这篇文章。代码在这里。模型如下图所示。 我们已知lstm的输出就是每个字标注的概率。假设lstm输出概率如下所示。这里为了方便,只写了 BMEO 4种标注结果。更多的话也是相同的。 而crf首先在每句话的前面增加一个<start>字,在每句话的...

2018-08-30 20:57:38

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。