草庐IT

深入聊一聊vue3中的reactive()

 在vue3的开发中,reactive是提供实现响应式数据的方法。日常开发这个是使用频率很高的api。这篇文章笔者就来探索其内部运行机制。小白一枚,写得不好请多多见谅。调试版本为3.2.45什么是reactive?reactive是Vue3中提供实现响应式数据的方法.在Vue2中响应式数据是通过defineProperty来实现的.而在Vue3响应式数据是通过ES6的Proxy来实现的reactive注意点reactive参数必须是对象(json/arr)如果给reactive传递了其他对象,默认情况下修改对象,界面不会自动更新,如果想更新,可以通过重新赋值的方式。import{reactiv

聊一聊安全且正确使用缓存的那些事 —— 关于缓存可靠性、关乎数据一致性

大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。在上一篇文档《聊一聊作为高并发系统基石之一的缓存,会用很简单,用好才是技术活》中,我们对缓存的庞大体系进行了个初步的探讨,浮光掠影般的介绍了本地缓存、集中缓存、多级缓存的不同形式,也走马观花似的初识了缓存设计的关键原则与需要关注的典型问题。作为《深入理解缓存原理与实战设计》系列专栏的第二篇内容,从本篇开始,我们将聚焦缓存体系中的具体场景,分别进行深入的阐述与探讨。本篇我们就一起具体地聊一聊缓存使用中需要关注的典型问题与可靠性防护措施。在分

聊一聊安全且正确使用缓存的那些事 —— 关于缓存可靠性、关乎数据一致性

大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。在上一篇文档《聊一聊作为高并发系统基石之一的缓存,会用很简单,用好才是技术活》中,我们对缓存的庞大体系进行了个初步的探讨,浮光掠影般的介绍了本地缓存、集中缓存、多级缓存的不同形式,也走马观花似的初识了缓存设计的关键原则与需要关注的典型问题。作为《深入理解缓存原理与实战设计》系列专栏的第二篇内容,从本篇开始,我们将聚焦缓存体系中的具体场景,分别进行深入的阐述与探讨。本篇我们就一起具体地聊一聊缓存使用中需要关注的典型问题与可靠性防护措施。在分

聊一聊责任链模式

将一堆“事情”串联在一起,有序执行,就叫责任链一、概述责任链模式(ChainofResponsibilityPattern)是将链中每一个节点看作是一个对象,每个节点处理的请求均不同,且内部自动维护一个下一节点对象。当一个请求从链式的首端发出时,会沿着链的路径依次传递给每一个节点对象,直至有对象处理这个请求为止,属于行为型模式。下面放一张足球比赛的图,通过层层传递,最终射门。通过这张图,可以更好的理解责任链模式。二、入门案例2.1类图2.2基础类介绍抽象接口RequestHandler/***@author往事如风*@version1.0*@date2022/10/2513:41*@descr

聊一聊责任链模式

将一堆“事情”串联在一起,有序执行,就叫责任链一、概述责任链模式(ChainofResponsibilityPattern)是将链中每一个节点看作是一个对象,每个节点处理的请求均不同,且内部自动维护一个下一节点对象。当一个请求从链式的首端发出时,会沿着链的路径依次传递给每一个节点对象,直至有对象处理这个请求为止,属于行为型模式。下面放一张足球比赛的图,通过层层传递,最终射门。通过这张图,可以更好的理解责任链模式。二、入门案例2.1类图2.2基础类介绍抽象接口RequestHandler/***@author往事如风*@version1.0*@date2022/10/2513:41*@descr

聊一聊装饰者模式

是你,还是你,一切都有你!——装饰者模式一、概述装饰者模式(DecoratorPattern)允许向一个现有的对象扩展新的功能,同时不改变其结构。主要解决直接继承下因功能的不断横向扩展导致子类膨胀的问题,无需考虑子类的维护。装饰者模式有4种角色:抽象构件角色(Component):具体构件类和抽象装饰者类的共同父类。具体构件角色(ConcreteComponent):抽象构件的子类,装饰者类可以给它增加额外的职责。装饰角色(Decorator):抽象构件的子类,具体装饰类的父类,用于给具体构件增加职责,但在子类中实现。具体装饰角色(ConcreteDecorator):具体装饰类,定义了一些新

聊一聊装饰者模式

是你,还是你,一切都有你!——装饰者模式一、概述装饰者模式(DecoratorPattern)允许向一个现有的对象扩展新的功能,同时不改变其结构。主要解决直接继承下因功能的不断横向扩展导致子类膨胀的问题,无需考虑子类的维护。装饰者模式有4种角色:抽象构件角色(Component):具体构件类和抽象装饰者类的共同父类。具体构件角色(ConcreteComponent):抽象构件的子类,装饰者类可以给它增加额外的职责。装饰角色(Decorator):抽象构件的子类,具体装饰类的父类,用于给具体构件增加职责,但在子类中实现。具体装饰角色(ConcreteDecorator):具体装饰类,定义了一些新

聊一聊社区代码统计的三种方式

​​想了解更多关于开源的内容,请访问:​​​​51CTO 开源基础软件社区​​​​https://ost.51cto.com​​社区代码度量方式总结当开发者每提交一笔PullRequest/Commit时,都会有代码修改量,包含新增了多少行代码、删除了多少行代码。这属于过程动态的统计方式。还可以统计仓库代码量,不关注提交过程,只关注存留的代码量。这属于静态的统计方式。每位开发者都会关注自己贡献的代码量,此文就总结下,各个代码量统计方式。1、gitlog统计每笔提交的修改量先看下gitlog相关的参数说明。gitlog参数说明–numstatSimilarto --stat,butshowsnu

聊一聊社区代码统计的三种方式

​​想了解更多关于开源的内容,请访问:​​​​51CTO 开源基础软件社区​​​​https://ost.51cto.com​​社区代码度量方式总结当开发者每提交一笔PullRequest/Commit时,都会有代码修改量,包含新增了多少行代码、删除了多少行代码。这属于过程动态的统计方式。还可以统计仓库代码量,不关注提交过程,只关注存留的代码量。这属于静态的统计方式。每位开发者都会关注自己贡献的代码量,此文就总结下,各个代码量统计方式。1、gitlog统计每笔提交的修改量先看下gitlog相关的参数说明。gitlog参数说明–numstatSimilarto --stat,butshowsnu

抓到 Netty 一个 Bug,顺带来透彻地聊一下 Netty 是如何高效接收网络连接的

本系列Netty源码解析文章基于4.1.56.Final版本,大家如果看到图片显示不了的话,可以查看公众号原文对于一个高性能网络通讯框架来说,最最重要也是最核心的工作就是如何高效的接收客户端连接,这就好比我们开了一个饭店,那么迎接客人就是饭店最重要的工作,我们要先把客人迎接进来,不能让客人一看人多就走掉,只要客人进来了,哪怕菜做的慢一点也没关系。本文笔者就来为大家介绍下netty这块最核心的内容,看看netty是如何高效的接收客户端连接的。下图为笔者在一个月黑风高天空显得那么深邃遥远的夜晚,闲来无事,于是捧起Netty关于如何接收连接这部分源码细细品读的时候,意外的发现了一个影响Netty接收