首页
学习
活动
专区
工具
TVP
发布

编程之旅

专栏作者
143
文章
285223
阅读量
38
订阅数
Vue3 源码解析(十):watch 的实现原理
本篇文章笔者会讲解 Vue3 中侦听器相关的 api:watchEffect 和 watch 。在 Vue3 之前 watch 是 option 写法中一个很常用的选项,使用它可以非常方便的监听一个数据源的变化,而在 Vue3 中随着 Composition API 的写法推行也将 watch 独立成了一个 响应式 api,今天我们就一起来学习 watch 相关的侦听器是如何实现的。
Originalee
2021-06-21
1.2K0
Vue3 源码解析(八):ref 与 computed 原理揭秘
在 Vue3 新推出的响应式 API 中,Ref 系列毫无疑问是使用频率最高的 api 之一,而 computed 计算属性是一个在上一个版本中就非常熟悉的选项了,但是在 Vue3 中也提供了独立的 api 方便我们直接创建计算值。而今天这篇文章,笔者就会给大家讲解 ref 与 computed 的实现原理,让我们一起开始本章的学习吧。
Originalee
2021-06-17
1.2K0
Vue3 源码解析(七):依赖收集与副作用函数
在上一篇文章《响应式原理与 reactive》中由于篇幅限制笔者留下了两个小悬念 track 依赖收集处理器与 trigger 派发更新处理器没有细致讲解,而在本篇文章中笔者会带着大家一起来学习 Vue3 响应式系统中的依赖收集部分和副作用函数。
Originalee
2021-06-17
9781
Vue3 源码解析(六):响应式原理与 reactive
今天这篇文章是笔者会带着大家一起深入剖析 Vue3 的响应式原理实现,以及在响应式基础 API 中的 reactive 是如何实现的。对于 Vue 框架来说,其非侵入的响应式系统是最独特的特性之一了,所以不论任何一个版本的 Vue,在熟悉其基础用法后,响应式原理都是笔者最想优先了解的部分,也是阅读源码时必细细研究的部分。毕竟知己知彼百战不殆,当你使用 Vue 时,掌握了响应式原理一定会让你的 coding 过程更加游刃有余的。
Originalee
2021-06-11
1.2K1
Vue3 源码解析(五):Patch 算法
与 React 一样,Vue 在处理虚拟 DOM 的更新时,也有自己的 diff 算法 —— patch。
Originalee
2021-06-09
8200
Vue3 源码解析(四):代码生成器
在 Vue3 源码解析系列的第一篇文章中,笔者带领大家一起走了一遍一个 Vue 对象实例化的流程,在一起看 @vue/compiler-core 编译模块的时候,首次出现了代码生成器 —— generate 模块。为了帮助大家回顾,我们再来看一遍 compile 编译过程中发生了什么。
Originalee
2021-05-27
1.2K0
Vue3 源码解析(二):AST解析器
上一篇文章中,我们从 packges/vue/src/index.ts 的入口开始,了解了一个 Vue 对象的编译流程,在文中我们提到 baseCompile 函数在执行过程中会生成 AST 抽象语法树,毫无疑问这是很关键的一步,因为只有拿到生成的 AST 我们才能遍历 AST 的节点进行 transform 转换操作,比如解析 v-if、v-for 等各种指令,或者对节点进行分析将满足条件的节点静态提升,这些都依赖之前生成的 AST 抽象语法树。那么今天我们就一起来看一下 AST 的解析,看看 Vue 是如何解析模板的。
Originalee
2021-05-10
1.1K0
Vue3源码解析 —— 编译器(一)入口
Vue3 发布已经有一段时间了,最近也有机会在公司项目中用上了 Vue3 + TypeScript + Vite 的技术栈,所以闲暇之余抽空也在抽空阅读 Vue3 的源码。本着好记性不如烂笔头的想法,在阅读源码时顺便记录了一些笔记,也希望能争取写一些源码阅读笔记,帮助每个想看源码但可能存在困难的同学减少理解成本。
Originalee
2021-04-22
9830
JavaScript —— Array 使用汇总
由于 length 和 prototype 两个属性比较通用,所以这里不过多的介绍。
Originalee
2020-06-18
6260
JavaScript —— Array 使用汇总
由于 length 和 prototype 两个属性比较通用,所以这里不过多的介绍。
Originalee
2020-06-11
5150
使用 Carbon 来分享高大上的代码片段
我在推特上关注了很多国外的程序员大佬,包括一些著名框架的官方团队,比如 Facebook 的 React 开发团队,我经常能看到他们在推特中分享一些代码片段,是以图片的方式出现的,这些代码图片让我的印象很深刻,我之前也疑惑为什么会有这么高大上的分享方式,但是没有找到答案,直到今天我在刷 Github 的时候,推给我一个热门库,随手点开来看了下,谁晓得无心插柳柳成荫,这样一个生成高大上代码片段的第三方库就在我面前了。
Originalee
2019-10-18
1.5K0
使用 husky 和 lint-staged 来构建你的前端工作流
ESLint 是一个在前端工具链中被众人熟知的代码检查工具,它能够被开发者灵活的配置,使其能够达到我们提前制定好的代码规范的要求,并且在编码过程中实时检测输入的代码,对于不符合代码规范的代码警告或报错。不得不说,在有了 ESLint 这个工具之后,团队之间开发维护会舒服很多,因为在强制约束下,你只需要去理解代码本身的含义就可以了,对于风格的问题则少了很多麻烦。
Originalee
2019-06-24
2.7K0
堆排序算法
啊噢,又开始写算法学习的笔记了。最近在准备面试的过程中又把这些常见的排序算法拿出来复习复习,既然这篇写到了堆排序,那么就代表堆排序算法的概念被我忘的差不多了,写篇博客加深记忆吧。
Originalee
2018-08-30
6050
反转单向链表
单向链表的反转是一个非常常见的链表类面试题,我在刷leetcode的过程中,发现了有许多链表题目的解法,都是以反转链表为基础进行的。所以我觉得有必要记录一下。
Originalee
2018-08-30
6240
数据结构——AVL树(C语言)
AVL(Adelson-Velskii 和 Landis)树是带有平衡条件的二叉查找树。在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是O(lngn)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。
Originalee
2018-08-30
1.1K0
数据结构——最小生成树(C++和Java实现)
快要一整个月没有更新博客了,之前的几周每周都想着要写,但是最后时间还是排不开,最近的状态是一直在写代码,一直在怼工作的需求,顺便刷刷算法题,国庆则是没心没肺的玩了七八天,时间这么一分摊,写博客的时间总是挤不出来,罪过罪过。
Originalee
2018-08-30
1.2K0
数据结构——优先队列(C++和Java实现)
十几天没有更新自己的博客了,因为目前在算法和数据结构的学习中,碰到了一些问题,例如之前就在优先队列,堆这个数据结构面前,感觉到有点吃不透概念,而使用的那本书上写的实在太抽象了,所以又查找了很多资料,最终对优先队列这个数据结构有了一定的了解。花了点时间才啃下来的知识,当然要把它记录下来了,所以今天就来回顾一下优先队列。
Originalee
2018-08-30
5420
数据结构——AVL树(C语言)
AVL(Adelson-Velskii 和 Landis)树是带有平衡条件的二叉查找树。在计算机科学中,AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是O(lngn)。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。
Originalee
2018-08-30
9860
数据结构——链表(C语言实现)
提起链表,我们每个人都不会陌生,不管对数据结构的掌握如何,都或多或少的听过与用过链表这样的常见的数据结构。链表是线性表的一种,最基础的线性表,在插入与删除数据时,我们需要对表的整体或部分做移动,为了允许表可以不按照线性的顺序存储数据结构,于是链表就应运而生。链表最大的特点就是在每个节点里存储了到下一个节点的指针。由于不必按照顺序存储,链表在插入的时候可以达到O(1)的复杂度,比我们学习的最基本的线性表要快得多。但是在查找一个节点,或者访问特定编号的结点则需要O(N)的时间。
Originalee
2018-08-30
1.3K0
iOS开发——32位MD5加密
在IOS开发过程中,为了保证数据的安全,我们通常要采取一些加密方法,常见的加密有Base64加密和MD5加密。Base64加密是可逆的,MD5加密目前来说一般是不可逆的。我们在开发一款App过程中,对于发的请求,其中有个“sign”的字段,这个key对应的value是MD5加密的字段,旁边的安卓同事问php后台,说MD5加密是32位的还是16位的,由于以前未曾注意过,所以就搜索了下,现在稍微总结下:
Originalee
2018-08-30
1.5K0
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档