现代主流框架均使用一种数据=>视图的方式,隐藏了繁琐的dom操作,采用了声明式编程(Declarative Programming)替代了过去的类jquery的命令式编程(Imperative Programming) 前者我们详细地写了如何去操作dom节点的过程,我们命令什么,它就操作什么;后者则
原创
2022-04-06 10:39:05
158阅读
上篇派发更新的最后提到了 nextTick,在Vue中,nextTick 也是一个核心实现,本篇来详细说一下 nextTick 的实现原理。 重学Vue源码,根据黄轶大佬的vue技术揭秘,逐个过一遍,巩固一下vue源码知识点,毕竟嚼碎了才是自己的,所有文章都同步在 公众号(道道…
原创
2022-04-12 15:50:25
244阅读
Vue.js 是一个流行的前端框架,它的核心特性之一是响应式系统。理解 Vue 的响应式原理,对于更好地使用 Vue 和解决开发中的问题非常重要。本文将从普通程序员的角度,简单解析 Vue 的响应式原理。什么是响应式?在 Vue 中,响应式指的是当数据发生变化时,视图会自动更新。这意味着我们不需要手动操作 DOM,Vue 会自动帮我们完成这些工作。Vue 如何实现响应式?Vue 的响应式系统是通过
本版本是对于vue2.x的总结,未来等学习了vue3,再完善对比一波!然后就是说,我们这里主要介绍原理部分,所谓二八原则,我们一切都从最重要的说起
转载
2021-09-07 09:34:01
611阅读
本版本是对于vue2.x的总结,未来等学习了vue3,再完善对比一波!然后就是说,我们这里主要介绍原理部分,所谓二八原则
转载
2022-02-08 14:37:21
117阅读
此文并不针对zebra的应用,甚至不是一个架构的分析,只是对于Zebra的一点儿思考。 Zebra 设计得是如此简洁明快。...
转载
2022-04-29 14:49:43
2061阅读
const data = { name: '林三心', age: 22 } function reactive(target) { const handler = { get(target, key, receiver) { console.log(`访问了${key}属性`) return Ref ...
转载
2021-09-01 17:01:00
377阅读
2评论
所谓双向数据绑定, 无非就是数据层和视图层中的数据同步, 在写入数据时视图层实时的跟着更新实现mvvm的双向绑定,是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。就必须要实现以下几点:
原创
2020-08-08 17:28:54
332阅读
01 前言 过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理。我们看一下官方的定义: vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在
转载
2020-09-22 14:48:00
126阅读
2评论
所谓双向数据绑定, 无非就是数据层和视图层中的数据同步, 在写入数据时视图层实时的跟着更新实现mvvm的双向绑定,是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。就必须要实现以下几点:1、实现一个数据监听器Observer,能够对数据对象的所有属性进行监听,如有变动可拿到最新值并通知订阅者2、实现一个指令解析器Compile,对每个元素节点的指令进行扫描和.
原创
2020-08-08 17:28:54
262阅读
Vue中keep-alive的实现原理什么是keep-alivekeep-alive是Vue内置的一个抽象组件,用于保留组件状态或避免重新渲染。它不会在DOM树中渲染成任何实际的标签,只是将其包裹的组件实例缓存起来。核心实现原理1. 基于LRU缓存算法keep-alive内部使用LRU(Least Recently Used)缓存策略来管理组件实例:// 简化的LRU缓存实现
class LRUC
在理解原理之前先简要了解一些ES5的Object.defineProperty()方法。 1.Object.defineProperty() ECMAScript 5 为 JavaScript 添加了大量新的对象方法。 // 添加或更改对象属性 Object.defineProperty(objec
原创
2021-07-15 10:34:16
177阅读
一、varnish简介Varnish是一款高性能且开源的反向代理服务器和HTTP加速器,其采用全新的软件体系机构,和现在的硬件体系紧密配合,与传统的squidweb缓存服务器相比,varnish具有性能更高、速度更快、管理更加方便等诸多优点,使得越来越多的大型网站开始尝试使用varnish作为缓存服务器。varnish主要运行两个进程:Management进程和Child进程(Cache进程)。M
原创
2013-10-06 15:25:22
866阅读
点赞
alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo、hsf),jms消息服务(napoli、notify),KV数据库(tair)等。这个框架/工具/产品在实现的时候,都考虑到了容灾,扩展,负载均衡,于是出现一个配置中心(ConfigServer)的东西来解决这些问题。基本原理如图: 在我们的系统中,经常会有一些跨系统的调用,如在A系统中要
转载
2016-12-19 17:38:42
1660阅读
Tomcat 的心脏是两个组件:Connector 和 Container,一个 Container 可以选择对应多个 Connector。多个Connector 和一个 Container 就形成了一个 Service,有了 Service 就可以对外提供服务了,但是 Service 还要一个生存的环境,必须要有人能够给她生命、掌握其生死大权,那就非 Server 莫属了。所以整个 Tomcat 的生命周期由 Server 控制。
原创
2017-04-21 13:38:57
4073阅读
gpfdist原理解析 前言:gpfdist作为批量向postgresql写入数据的工具,了解其内部原理有助于正确使用以及提供更合适的数据同步方案。文章先简要介绍gpfdist的整体流程,然后针对重要步骤详细展开。文章有的地方可能探索不够深入,感兴趣的可以继续深入。如有错误请指出。 1 整体流程 G ...
转载
2021-03-10 17:37:00
660阅读
2评论
HTTP是一个客户端(用户)和服务端(网站)之间请求和应答的标准,通常使用TCP协议。其本身位于TCP/IP协议族的应用层。
转载
2021-07-13 11:53:09
687阅读
Appium是 c/s模式的appium是基于 webdriver 协议添加对移动设备自化api扩展而成的webdriver 是基于 http协议的,第一连接会建立个 session 会话,并通过 post发送一个 json 告知服务端相关测试信息 IOS 原理图( 来源于:百度 ) appium
原创
2021-08-26 09:08:37
514阅读
什么是单点登录 简单点说就是公司有A,B两个系统,我登录了A系统之后再跳转到B系统可以直接访问,而不需要再次登录B系统. 几种常见的单点登录实现方式 在讲解单点登录之前先讲解几个基本的概念: Cookie: Cookie是一段不超过4KB的小型文本数据,是保存在用户本地的,常见格式为: Expires属性:设置Cookie的生存期 Domain属性:指定了可以访问该 Cooki...
原创
2021-09-01 11:29:12
548阅读
文章会从网卡接收数据的流程讲起,串联起 CPU 中断、操作系统进程调度等知识;再一步步分析阻塞接收数据、Select 到 Epoll 的进化过程;最后探究 Epoll 的实现细节。 从网卡接收数据说起 下边是一个典型的计算机结构图,计算机由 CPU、存储器(内存)与网络接口等部件组成,了解 Epol ...
转载
2021-09-01 11:00:00
195阅读
2评论