自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不忘初心

不停奔跑,初心不改

  • 博客(91)
  • 收藏
  • 关注

原创 Vue3源码 第六篇-JavaScript AST transform函数

上一篇中了解了AST的生成过程,但生成的AST并非最终的AST,Vue3在生成渲染函数之前,对AST进行了进一步的转换和整理,也就是这篇文章的主要内容JavaScriptAST,为什么需要JavaScript AST呢?不是已经生成了AST么?其实可以看到,上一篇我们生成的AST只是对HTML节点的描述信息,但节点如何转变成渲染函数还无法表达,例如文字、元素、IF语句、FOR语句,ON事件等,AST对这些节点不具备直接转换成渲染函数的能力,所以需要进一步通过转换函数,将各类不同的节点进行更加具体的转换。

2023-04-29 21:26:52 853

原创 Vue3源码 第五篇-Vue3 模版compile AST生成篇

vue3如何将模版转变成AST语法树的呢,本文章将带你简单了解其中的过程。

2022-04-03 10:36:48 1208

原创 Vue3源码 第四篇-Vue3 setup

setup作为Vue3的组合式API的重要特性,改变了之前OptionAPI的写代码方式,setup函数让Vue3对逻辑的封装更为简单,那么他又是在Vue3上如何挂载,如何访问的呢?我们接下来一起阅读源码,从源码中深入了解setup函数。

2021-10-17 15:06:43 995 1

原创 Vue3源码 第三篇-Vue3是如何实现响应性

这篇文章主要是阅读effect、trigger、track相关的源码,了解Vue3响应性的实现

2021-10-04 16:18:54 668 3

原创 Vue3源码 第二篇-Reactive API

Vue3源码笔记系列文章[Vue3源码笔记第一篇-总览](https://blog.csdn.net/qq_26626113/article/details/119169666)vue3 reactiveAPI 源码解读,了解vue3 reactiveAPI背后的原理

2021-08-28 11:33:48 642 2

原创 Vue3源码 第一篇-总览

Vue3源码总览文章目录Vue3源码总览前言一、从哪里搞到源码?二、开始学习1.准备所需文件,并且引入Vue32.如何读源码3.Vue.createApp()3.1 ensureRenderer()总结前言之前读过Vue2的源码,所以Vue3源码发布后就迫不及待的赶紧下载下来读了读,对比Vue2的源码还是有许多改变,但是对Vue2源码有所了解还是比较好读的,我自己也是一边读代码一边记笔记,把自己的一些笔记和想法分享在这里,如果有错误的地方希望大佬斧正,废话不多说,开冲~~提示:以下是本篇文章

2021-07-31 11:24:07 1385

原创 Electron打包成win安装包并创建桌面快捷方式

一开始打包通过electron-packager,可以将electron应用打包成可执行exe,虽然可以实现桌面端应用,但是没有安装包而且没有在桌面创建快捷方式总是显得不是很正规,于是查询了下官网,果然有安装程序,下面就一点一点开始实现需求首先我们需要将我们的程序打包 这里我们使用electron-packagernpm install electron-packager --save-...

2018-07-12 22:59:44 24716 15

原创 electron实现桌面端隐藏到托盘

最近学习了下electron,需要实现一个托盘功能,下面是我的实现,如果有更好的实现方法,希望大佬指正下 下面是项目地址:码云项目地址 我们首先要了解一下托盘功能,只有了解了托盘才能更好地写代码实现它。 1.首先我们需要我们的的桌面程序在右下角也就是系统通知区添加图标和上下文菜单,这部分我们可以用Tray部分的API实现:官网Tray方面的API 2.其次我们现在可以实现下方系统通知区的功...

2018-07-07 15:25:33 17763 10

原创 Typescript学习之基于gulp+browserify+browser-sync等搭建自动化开发环境

这里就不介绍TypeScript到底是什么了,TypeScript是JavaScript的一个超集,但是我们在使用或者是学习的过程中,我们需要将写好的.ts文件编译成.js文件才可以使用,所以给一开始的学习过程增加了很多麻烦,所以也是我为什么要去搭建一个自动化的开发环境,这样可以节省很多时间在一些机械工作上。Typescript官网给出了一个官方的教程搭建环境,但还不足以满足我的需求,于是我需要自...

2018-02-13 10:41:03 1437

原创 Angular4 http服务400报错

Angular4 http请求400报错

2017-11-08 16:53:18 2019 1

原创 ubuntu下配置ftp服务器

公司安排配置一下ftp服务器,公司服务器是ubuntu,实习的我都没用过ubuntu真的是苦不堪言,幸亏好兄弟帮忙才上手快了一点,网上有很多关于ubuntu下配置ftp服务器的文章,但我自己配置的时候发现,恩总是不是很全,还要到处找文章解决bug,不如自己记录一篇也好以后在配置的时候能有个依照首先是安装1.先更新后下载 sudo apt-get update sudo apt-get insta

2017-10-19 17:17:55 870

原创 关于微信公众平台本地测试ip如何加入IP白名单

最近在搞微信公众平台这方面的东西,公司里用的是能配置微信公众平台的CMS,但实际使用的时候发现和access_token有关的接口都无法正常调用,于是debug了下,发现获取到了AppID和AppSecret,在最后请求access_token的时候返回了null,于是查了查微信公众平台的文档,发现微信公众平台多了个IP白名单,所谓IP白名单就是说,只有白名单内的IP地址才可以拿着我的id和secr

2017-10-16 17:21:20 26407 6

原创 Angular4 实现多图片上传预览

之前写了一个angular1x的实现,但手痒痒于是就搞了一下angular4的实现方式,不BB直接上代码了。样式里用到了fontawesome的图标首先我们直接看如何调用 别忘了我们还要在父元素的component.ts上创建previewImgFile这个变量,否则就会报错,这里之所以和父组件通信,就是要把我们上传的file对象传给服务器,所以需要监听子组件的上传图片<app-previewim

2017-09-25 21:18:47 9381 5

原创 Angularjs 实现多图片上传预览

最近要实现一个多图片上传的预览功能,网上有很多例子大多不太完整,我就把他们的整合了下并且加了一些功能和界面,我们只需要调用一条指令就可以实现,但传给后台还需要额外的代码,会在后面controller里介绍。不知道封装的是否符合标准,还希望大家一起讨论下图片上传的预览,我们最主要解决的是拿到input的on-change事件,再是读取图片,读取图片我们需要用到FileReader。我们先写一个读取图片

2017-09-21 20:49:55 3244 7

原创 Ionic1x实现简单的评论星级组件

最近敲代码,需要个评论星级,因为好多地方都需要评级,干脆直接封装成一个指令,方便了好多,代码很简单,毕竟实现的东西也不多,有问题大家可以一起讨论下,希望能帮到好学的coder。 Ionic2差不多也,毕竟原理就那么回事/** * 评论星级组件 */app .directive('star', function () { return {

2017-09-19 21:03:25 836

原创 Gulp常用插件实践

上一篇文章介绍了一些Gulp一些基本操作,但平时开发时,那些基本的操作是无法满足我们的需求的,我们很多功能需要gulp插件来实现。进来就来写下平时用到的gulp插件。可以去npm搜索以下插件首先是js和css有关的插件啦 gulp-cssmin压缩css文件,gulp-less处理less文件,其他预处理也有相对应的插件,gulp-uglify压缩js文件 下面演示一下插件的使用var gulp

2017-08-22 13:52:02 351

原创 gulp 初探

因为最近在学习ES6,因缘巧合下接触到了gulp,关于gulp的概念网上一大堆,反正就是自动化构建工具。用了一下感觉还是很方便的,省去了很多重复的工作,还是蛮舒服的~~。至于怎么安装不是本文的重点,官网上有安装的过程都很简单,本文主要聊聊如何用首先学习的第一步肯定是去官网看API,gulp的API很简单,我们先熟悉API,之后再举例子,不要着急gulp.src(globs[, options])输出

2017-08-04 07:33:15 479

原创 Zepto.js 之一步一步看源码(二)

上文我们说到的zepto的结构,这次我们就看一下zepto如何封装我们常用的方法的。通过学习别人封装的方法,对自己也是一种提升首先,我们所有返回的dom对象,所有的方法都封装在了源码中的$.fn中,dom对象是通过原型继承来实现继承$.fn中的方法,我们看一些我们常用的方法是如何封装的map: function(fn){ //这里要通过$封装一下,这样才能继续调用后面的方法,实现连缀功能。

2017-07-08 15:34:44 482

原创 Zepto.js之一步步看源码(一)

最近博主再看zepto.js的源码,zepto.js相较起来比较简短,适合第一次读源码,主要是怕以后忘记,就写下笔记来记录这次源码之旅,总体来说收获还是挺大的。zepto.js就类似于一个迷你的jquery,直接来就仔细来看看这源码怎么回事,我用的版本是Zepto v1.1.6首先我们看下总体结构var Zepto = (function() { return $})()window.Ze

2017-06-24 15:28:46 2808

原创 js实现prim+优先队列

最近在学算法,沉迷于js的我,就想用js敲一敲这个prim算法,至于prim算法具体是什么,怎么回事,大家可以自行搜索,这里只贴上代码和部分注解 数据是从文件里读出来的所以用了一下node.js,数据格式如下 7 9 1 2 28 1 6 10 2 7 14 2 3 16 6 5 25 7 5 24 7 4 18 3 4 12 5 4 22var fs = require('f

2017-05-22 08:37:40 632

原创 搞懂js继承方法

js实现继承,都是些老生常谈的问题了,网上文章很多,但不动手敲一敲,还是没有那种深入的理解,所以写篇日记记一下自己对继承的理解,如果顺便能帮到大家理解如何继承那是再好不过的了。最近也好久没写文章了,以后一定要经常写,来巩固自己的知识。首先思考下,什么是继承,也就是我子元素能用父元素的方法,那该如何实现呢,我们都知道js中有原型这东西,当我们new一个对象的时候,new出来的对象就会有prototyp

2017-04-23 13:34:53 1660

原创 JS之property和attribute

我第一次看到这两个的时候也没有太注意他们之间的区别,但直到有一天,我发现我不能再把这两个东西混为一谈了,我一定要整清楚到底是怎么回事,于是乎去了ECMA文档里查了查,在这里附上网址 http://www.ecma-international.org/ecma-262/6.0/#sec-call 是英文的文档,勉强看的懂,如果有哪里不对,希望大神们指正。property(属性)我个人翻译成

2017-01-03 14:25:43 6511

原创 JS 原型理解

原型是js里非常重要的一个概念,很多更高级的概念需要有原型的基础,类似于,我们js里的继承,原型就是其中一种实现方式,还有通过原型模式创建对象等等,这都需要原型基础,这里主要通过Chorme的调试器,来看看到底原型和对象到底是什么。首先我们先写一些测试用的代码function Person(){ var name = 'qfy'; var password = '123'}fun

2016-12-03 21:20:22 441

原创 Angular angular-file-upload 入坑记

我们写网站呢 上传功能几乎是一定会用到的,这是一个灰常使用的插件,而且操作简单,非常容易使用,老规矩还是放一下API,走运的是,这个插件的API并不需要翻墙也看得到哦~ https://github.com/nervgh/angular-file-upload进入正题,我们如何安装,还是老样子安利波npmnpm install angular-file-upload我们如何在项目中使用它呢

2016-11-14 20:37:00 27612 17

原创 Angular 模态框 入坑记

今天用到了ui-bootstrap中的modal 觉得用起来还不错,也比较简单,博主以前用个ngDialog做的模态框,虽然不知道对不对,但这个插件也还可以。 这貌似是我目前为止用过最简单的功能了,所以博客内容也很简单,大家一看就能懂~~ 博主用的是1.4*版本的angular 所以官网

2016-11-11 17:57:25 18508 2

原创 angular-toaster 入坑记

toaster是啥呢。是一款非常炫酷的提示插件,忍耐不住的人可以先去看特效。 不好的地方希望大家轻喷- - 去万能的npm官网,搜一下toaster就可以找到,这里介绍的是angular1*的toaster 安装方法我个人喜欢npm,万能的npmnpm install --save angularjs-toasternpm安装也很简单,网上很多教程。开始正题了首先我们通过引入文件来开始我们的项

2016-11-09 22:29:58 10419

原创 Angular-xeditable 入坑记

今天搞了搞这个东西。。不得不抱怨angular被墙的太厉害不过我还是要留下网址 http://vitalets.github.io/angular-xeditable/ 这是API,蓝灯一开,就可以去上去看看API了,不过是英文的,angular你还想看中文的么,不要做梦了,所以为了我自己以后能看中文的所以我就自己写一篇笔记,这样一些平常的功能我就不用去读英文文档了,省事了好多。道友们中文福利来

2016-11-07 20:36:45 5490 2

原创 JQuery mobile 基本结构

JQuery mobile的书看了些,说实话有点过时了可能,我觉得最好还是看官网的API可能效果更好点吧。最近学习了下,感觉的确比较容易,也是结合这最近看的书,写写笔记啥的。首先最基本的,JQM的页面每一个页面就是一个page页面,每一个page分为header content 和footer是不是有点像H5的标签。很好理解。一个基本的页面<section id="page1" data-role=

2016-04-25 16:29:55 567

原创 响应式设计

最近响应式设计很火,而我对其的理解也比较片面,向总的来写一篇关于响应式的笔记。。。~我以前对响应式的理解或许更多集中在对于不同屏幕有不同的响应,也就是使用媒体查询功能来实现。那也就首先来说下媒体查询。<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalabl

2016-03-24 12:02:24 1008

原创 每日一bootstrap 下拉菜单

下拉菜单要使用JS插件,bootstrap的JS插件是基于jquery的,所以我们同时需要加载jquery代码很简单。下面贴出来 <div class="dropdown"> <button class="btn btn-info dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropd

2016-03-22 20:37:10 398

原创 node.js 异步I/O

因为学习了一段时间的node.js了,发现如果对Node.js的原理不理解,很影响编程,所以便看了很多博客和书,包括大名鼎鼎的朴灵的《node.js深入浅出》还有《计算机操作系统》让我对node.js的原理有了更好的理解,把我的一些理解记录一下,也希望对正在学习node.js的道友有所帮助为什么需要异步呢? 因为现在的庞大的人群已经不是简单的服务器可以轻松胜任了,我们需要提高资源利用率。如果是同步的

2016-03-22 18:17:58 435

原创 Mongoose 学习

啥也不说了,赶紧推荐一篇文章,非常棒https://cnodejs.org/topic/504b4924e2b84515770103dd 对于刚接触mongoose的人来说,要知道mongoose到底是什么,Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装。之后我么要知道Schema骨架,Model模型,Entity实体, 这篇文章上面主要介绍了这些东西,和

2016-03-19 23:18:50 769

原创 每日一bootstrap 按钮

按钮是网页上常见的一个标签,所以复习下按钮的样式。首先要知道的是,在bootstrap中 a button input都可以赋予按钮样式,a标签需要注意有些地方的使用 所以如果就是单纯的按钮的话建议就使用button标签就好。而且如果在导航条上单独使用按钮时(如果不在form中出现)也需要注意垂直居中问题。下面开始敲代码 <button class="btn btn-default"

2016-03-19 22:19:25 385

原创 每日一bootstrap 表单

这一篇来到复习一下bootstrap的表单,表单还是比较重要的一部分,学好表单还是很重要的。表单有几点还是要注意的,一个是label虽然在网页上没什么太多效果,但对于鼠标用户非常友好,label可以使我们点击label设置的文字自动就使光标出现在控件上。试一试就懂了。 在是,最好使用form-group将控件和label包裹在一起,这样整体的布局更好看。form-control自动使表单表单宽度为

2016-03-16 20:56:06 725

原创 SQL读书笔记(十三) 视图

笔记参考来自SQL必知必会,记下笔记方便以后查阅,也写下一些自己的理解视图按我的理解有点像函数的封装,把一些重复调用的部分封装起来,为以后频繁的调用提供方便的方法。现看书上的例子SELECT cust_name, cust_contact FROM Customers, Orders, OrderItems WHERE Customers.cust_id = Orders.cust_id AN

2016-03-12 10:22:15 356

原创 每日一bootstrap 表格

表格so easy的。今天复习起来还是蛮快的一会就敲完了~~敲完就可以干别的事了 表格只要记住原来的HTML格式,那就是加几个class的事情,非常容易 代码用到了上一次复习的栅格布局。 感觉代码也没啥可说的,自学的话看着API也会很简单,我这给懒人放下图片,看看样式的样子<!--table给表格添加了最基本的样式添加了内填充,而table-striped加上了斑马线--><div class

2016-03-12 09:54:20 539

原创 每日一bootstrap 栅格

最近写bootstrap少了,老是忘记,所以决定每天从基础开始一点点敲敲,bootstrap很好学,看着官网的API都敲一遍就会了 一下都是我的一下体会什么的,希望可以帮到大家~~ 今天敲了敲栅格,栅格只要搞清楚栅格把屏幕分成12个分区,有xm,sm,md,lg四大屏幕尺寸,再敲一敲就可以掌握首先先看一下栅格如何分为12个区的,我的样式比官网的丑点- -~~还有一点官网特意强调了,我们使用的ro

2016-03-10 10:44:53 481

原创 SQL读书笔记(十二) 插入数据

笔记参考自SQL必知必会,摘抄下书中的内容方便以后查询,希望也能帮助到各位道友利用SQL的INSERT语句将数据插入表中。INSERT用来将行插入(或添加)到数据库表。插入有几种方式: 插入完整的行; 插入行的一部分; 插入某些查询的结果1.1、插入完整的行INSERT INTO Customers VALUES(‘1000000006’, ‘Toy Land’,

2016-03-10 09:38:00 362

原创 SQL读书笔记(十一)更新和删除数据

笔记参考来自SQL必知必会,摘抄下书中的一些关键方便以后自己查询更新和删除都是比较敏感的操作,因为没办法撤销,所以修改时要注意,更新主要分为更新特定行和所有行。所以要十分注意避免更高错误不要省略WHERE子句 在使用UPDATE时一定要细心。因为稍不注意,就会更新表中的所有行。基本的UPDATE语句由三部分组成,分别是:要更新的表; 列名和它们的新值; 确定要更新哪些行的过滤条件UPDATE Cus

2016-03-10 09:25:52 360

原创 操作系统笔记(二) 操作系统类型

参考书籍计算机操作系统,闲来无事,也正好学这门课,记记笔记总归是好的,外一用到了呢~~操作系统的发展史人工操作方式——单道批处理系统——多道批处理系统——分时系统——实时系统。从单道批处理开始写吧,前面的也没啥可介绍的单道批处理系统,按我的理解就像流水线,一件接着一件,不停地运转,宗旨在于提高系统资源利用率和系统吞吐量,很简单,一个接着一个的处理,减少了机器的空闲等待时间,但也有他的缺点,不能很好的

2016-03-08 21:41:41 446

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除