slot这块看官网文档,起初有点不懂,仔细研究还是最终理解了,slot是用来干嘛的呢,先看下一个例子: <...那就是使用在组件模板中使用slot进行span内容的一个分发: <div id="app...span标签内容当做一个标签合并插入2处slot位置那里,正确<em>的</em>做法是为slot指定name属性: </script...2、子组件模板中指定name属性<em>的</em>slot存在,但是父组件注入<em>的</em>另一个slot没有使用<em>的</em>情况: <span slot="3...以上我们共使用了两种slot,没有指定name属性的slot为“单个slot”,指定了name属性的slot称作为“具名slot”,具名slot会查找相应的slot属性相同的父组件内容进行匹配 slot
this关键字在c++,java中都提供了这个关键字,在刚开始学习时觉得有难度,但是只要理解了,用起来就方便多了,下面通过本篇文章给大家详解js里this关键字的理解。...关于this,是很多前端面试必考的题目,有时候在网上看到这些题目,自己试了一下,额,还真的错了!...接下来你谈谈我对它的理解,也作为一个笔记,方便以后参阅。有不对的地方,欢迎指出批评。 1. 不像C#,this一定是指向当前对象。 js的this指向是不确定的,也就是说是可以动态改变的。...在函数自执行里,this 指向的是 window 对象。 扩展,关于this,还有一个地方比较让人模糊的是在 dom 事件里,通常有如下3种情况: 如下: 1....比如C++、C#和Java等都提供了这个关键字,虽然在开始学习的时候觉得比较难,但只要理解了,用起来是非常方便和意义确定的。
为什么使用this 如果没有this,那么我们的代码会是下面的写法: 在方法中,为了能够获取到name名称,必须通过obj的引用(变量名称)来获取。...但是这样做有一个很大的弊端:如果我将obj的名称换成了info,那么所有的方法中的obj都需要换成info。...(编写的位置)没有关系; 3.this的绑定和调用方式以及调用的位置有关系; 4.this是在运行时被绑定的; this绑定规则 默认绑定 在独立函数调用的情况下使用默认绑定 独立的函数调用我们可以理解成函数没有被绑定到某个对象上进行调用...: 也就是它的调用位置中,是通过某个对象发起的函数调用。...这个和setTimeout源码的内部调用有关; setTimeout内部是通过apply进行绑定的this对象,并且绑定的是全局对象; 案例二:数组的forEach 数组有一个高阶函数forEach,用于函数的遍历
值得注意的是4+1更大的价值是提供了一套分析系统的框架,实际上怎么呈现不同的团队可能有不同的形式。对于一个系统从不同的视角看会得到不同的理解,横看成岭侧成峰。...2.4 架构的设计模式软件架构归根结底无非两种模式:从技术层面和业务功能层面来设计。在理解这两个之前想区分一下技术语言和业务语言:技术语言:是实现层面的。...技术人员要做的是摆脱技术语言体系,走进业务体系,不能被技术语言限制住。从本质上来说技术是为了业务服务的,所以理解业务第一,技术第二。对业务有了深刻的理解,再转过来去用技术来实现业务。...———— James Lewis and Martin Fowler我的理解是,微服务不在于微,微服务是一种理念,其表达的是用一个服务来表达一个实体相关的所有行为,某个实体与外部的所有联系均通过该服务来发生...https://pubs.opengroup.org/architecture/togaf8-doc/arch/toc.htmlSOLD原则关于原则,看了很多次,是否真的理解了这些原则?
所以DOM(Document Object Model),文档对象模型,可以简单理解为代表网页文档的一颗树(模型)。...1、nodeType DOM本质就是一堆节点的集合,由于包含不同类型的信息,所以就有不同类型的节点。接下来看nodeType。...元素和属性的文本内容都是由文本节点来表示的。 2——属性节点,代表元素的属性。 3——文本节点,只包含文本内容,也可以只包含空白。 4——CDATA段节点。...getElementsByTagName()使用指定标签名返回所有元素,这些元素是调用该方法的元素的后代。 getElementsByClassName()返回带有指定类名的所有元素的节点列表。...getElementsByName()根据元素的name属性返回所有元素的节点列表。
OK,Change Buffer基本概念了解了,继续往下读!Change Buffer结构我把InnoDB和Change Buffer的结构整合了一下,让我们更清楚 Change Buffer的位置。...图中我们把主要的流程用图画出来就可以,更详细的关于一条Update的更新可以看往期分享:写入流程执行两条Insert语句,其中左侧的要更新的数据页 Page1 不在Buffer Pool,而右侧需要更新的数据页...InnoDB表(InnoDB数据字典)元数据、undo logs、change buffer, doublewrite buffer写入后再读读Page2的时候很好理解,直接从Buffer Pool 中返回...再看总结SQL的变更操作什么时候被放在Change Buffer?...Change Buffer适合什么样的业务场景呢?
关于缓存的理解 为系统引入缓存的理由 通常情况,在我们面临系统的基础设施,例如数据库无法处理量级的请求时候,总是会下意识的使用缓存,这次我们以设计的角度思考,在为你的系统引入缓存之前,它是否真的需要缓存呢...缓存中最主要的数据竞争来源于读取数据的同时,也会伴随着对数据状态的写入操作,而写入数据的同时,也会伴随着数据状态的读取操作。 针对前面所讲的伴随读写操作而来的状态维护,我们可以选择两种处理思路。...(关于Guava的操作我之前有博客写过) 另一种是以 Caffeine 为代表的异步日志提交机制。...这种机制参考了经典的数据库设计理论,它把对数据的读、写过程看作是日志(即对数据的操作指令)的提交过程。...这里你可以简单地理解为,缓存内部是使用多个 Map 来分段存储数据的,并发级别就用于计算出使用 Map 的数量。
事务的概念 事务处理几乎是每一个信息系统中都会涉及到的问题,它存在的意义就是保证系统中的数据是正确的,不同数据间不会产生矛盾,也就是保证数据状态的一致性(Consistency)。...关于一致性,我们重点关注的是数据库状态的一致性,分布式中,即将要讨论的分布式共识算法时所说的一致性,是不一样的。...人们在探索这些事务方案的过程中,产生了许多新的思路和概念,我们一起探索同一个事例在不同的事务方案中的不同处理,以此来贯穿、理顺这些概念。 场景事例我先来给你介绍下具体的事例。...,占用大量的内存缓冲,无论何种理由,都决不允许在事务提交之前就开始修改磁盘上的数据,这一点对提升数据库的性能是很不利的。...由于 Undo Log 的加入,Write-Ahead Logging 在崩溃恢复时,会以此经历以下三个阶段: 分析阶段(Analysis):该阶段从最后一次检查点(Checkpoint,可理解为在这个点之前所有应该持久化的变动都已安全落盘
1.1 系统的概述随着人类的发展,人们面对越来越多的规模巨大、关系复杂、参数众多地复杂问题,系统论就是为了分析和解决这些问题而生。我们平时接触的计算机系统包括软件系统本质上属于系统论的一个范畴。...系统论是一门独立的学科,经历了多年的发展已经形成了体系化的理论。 系统论里的一些原则、理论、方法同样适用于计算机系统,计算机系统里遇到的复杂性问题在系统论里肯定会有原则性的指导。...从计算机系统出来,进入系统论的层面,再回到计算机系统。仿佛上帝视角与人间视角的来回切换。系统定义:系统由相互作用和相互依赖的若干组成部分结合成的、具有特定功能的有机整体。...系统的思考,区别于系统化的思考,系统的思考是要求我们把事情当做一各个个的系统来看。系统的整体不是系统的部分之和,系统的整体一定大于系统的部分之和。 一个系统能支撑的能力超越于系统组成之和。...1.2 系统三大基本特征:目的性:任何系统都是有一定的目的。这里可以理解为业务系统的边界。我们的系统是为了做什么事而设立的?能做什么事?不能做什么事?动态性:动态性说明系统会发展。
try…catch try{}catch(e) {}finally{} Error.name的六种值对应的信息: 1. EvalError:eval()的使用与定义不一致 2....URIError:URI处理函数使用不当 复制代码 es5严格模式 “use strict” 不再兼容es3的一些不规则语法。使用全新的es5规范。...DOM对象即为宿主对象, 由浏览器厂商定义,用来操作html和xml功能的一类对象的集合。 也有人称DOM是对HTML以及XML的标准编程接口。...ie7以下的版本中没有,非实时 .querySelectorAll() // css选择器 在ie7和ie7以下的版本中没有,非实时 复制代码 DOM基本操作 遍历节点树: parentNode ->...->后一个兄弟节点 previousSibling->前一个兄弟节点 基于元素节点树的遍历 parentElement -> 返回当前元素的父元素节点 (IE不兼容) (以下IE不兼容指的是 9 以下)
this是javascript的一个关键字,也是比较容易令人迷糊的一个概念 this的本质:当前对象的所有者 示例1 var x = 1; function test() { alert(this.x...); } test(); 在之前的“JS执行顺序”文章中讲过,这个test函数会被先编译为一个全局变量,如 var test = function test() { alert(this.x);...obj,this.x 也就是 obj.x 示例3 下面这个例子比较有迷惑性,是一个比较容易出错的情况 function test() { alert(this.title); } 输出的结果:undefined 其实onclick="test()",...相当于 function onclick(event){ test(); } 是一个全局的function,上面的 test方法也是全局的function,而全局变量中并没有定义 title,所以结果为
Java中的基本数据类型只有8种,分别是 byte、short、int、long、float、double、char、boolean 在 Java5之后新增的 Enum属于引用类型,跟 String一样也是属于类...好奇的同学可能有疑问,既然说 enum是引用类型,为何在使用的时候没有见到类呢?...Day.MONDAY 这样的方式来使用枚举值了。..., 枚举类型在编译后会作为一个类生成, 编译器会帮我们插入 values和 valueOf 两个方法, 同时生成 final的常量, 在生成的静态代码段里会实例化好对应的枚举实例, 换句话说,我们所定义的每个枚举类...,最终都会在它里面生成对应的静态常量,而常量的值就是我们所定义的值的String串。
个人博客网站欢迎交流:萤火之森:https://blog.xkongkeji.com EventLoop出现的目的 js单线程 众所周知js是单线程的,那为什么是单线程嘞,作为浏览器脚本语言,JavaScript...MutationObserver 接口,监听DOM节点发生改变的时候,就会产生 DOM 变化记录的微任务。...宏任务 渲染事件(如解析 DOM、计算布局、绘制) 用户交互事件(如鼠标点击、滚动页面、放大缩小等) JavaScript 脚本执行事件 网络请求完成、文件读写完成事件 执行顺序图解(图片来自网络) 个人理解...js会先执行主线程任务,遇到微任务就放进微任务队列,遇到宏任务就放入宏任务队列。...主线程代码执行完成后就会从微任务队列中去取微任务执行直到微任务队列清空, 微任务队列完成后就会从宏任务队列中取出宏任务执行,(个人理解:主线程代码就是第一个宏任务) 如主线程任务一般,遇到微任务放入微任务队列
解析型可以在解释权解释之前做很多事情,解释之前的代码不是二进制代码,而是解释器可以看懂的代码,比较简单,也比较可行。 编译型则无法在编译前做任何事情,因为目标程序一般是第三方编译完成之后发布出来的。...除非程序调用的dll包含导出函数,我们可以实现函数地址的替换。...即使采用MFC框架提供的方式,也是对编译后的程序无能为力的,因为MFC框架也只是一段普通代码,并不是WIN API,无法获取OS执行过程中的任何消息或者改变OS执行过程中的任何操作。...Windows API中使用的是句柄,C/C++中使用的是指针。两者并没有什么关系。...MFC中的对象既有指针,又有句柄,是因为这个对象留出了一个成员变量来存放WIndows窗体句柄(注意:windows窗体对象本身的指针是无法获取的,因为windows api只能获取窗体句柄)。
在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。...有向线段的长度表示向量的大小,向量的大小,也就是向量的长度。长度为0的向量叫做零向量,记作长度等于1个单位的向量,叫做单位向量。箭头所指的方向表示向量的方向。...向量的模:向量的大小,也就是向量的长度(或称模)。向量a的模记作|a|。 负向量:如果向量AB与向量CD的模相等且方向相反,那么我们把向量AB叫做向量CD的负向量,也称为相反向量。...零向量:长度为0的向量叫做零向量,记作0。零向量的始点和终点重合,所以零向量没有确定的方向,或说零向量的方向是任意的。 相等向量:长度相等且方向相同的向量叫做相等向量.向量a与b相等,记作a=b。...初等代数中,y=ax表示的是x到y的一种映射关系,其中a是描述这中关系的参数。 线性代数中,Y=AX表示的是向量X和Y的一种映射关系,其中A是描述这种关系的参数。
对象 理解对象 ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。”严格来讲,这就相当于说对象是一组没有特定顺序的值。...对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。 我们可以把ECMAScript的对象想象成散列表:无非就是一组名值对,其中的值可以是数据或函数。...「实际开发中,修改属性默认行为场景很少,但学习属性的行为 有助于 理解对象。」...「实际开发中,这个两个属性不是必须的,看自己业务需求」 如果一个属性的值变化,影响到另一个属性的值的时候,就可以使用 settter getter 来实现。...要读取属性的特性,必须使用ECMAScript5的:Object.getOwnPropertyDescriptor() 来获取对象属性的行为。
2、elastic是基于lucene来构建的,在lucene的世界里,inverted index 就是存放于disk的一块不可变更的segment。...三、索引的创建和可搜索 1、索引的创建和索引的可搜索之间的时间间隔我们称之为gap time,如何尽量缩短这个时间?。...2、一个可以被优化的地方就是disk page cache ,disk page cache也是os为了优化disk io而做的努力。...3、已经写入到disk page cache的inverted index是可以被搜索的。...index的访问。
关于使用简单的这个特性,官网给了一段示例代码。...from werkzeug.serving import run_simple run_simple('localhost', 4000, application) ###简单小结 关于上面的代码我做一下总结...srv为BaseWSGIServer的实例,根据类的继承,去查找各种方法....application_iter = app(environ, start_response) # Flask实例的call方法返回的的response对象的__call__...application_iter = app(environ, start_response) # Flask实例的call方法返回的的response对象的__call__方法返回的可迭代对象 END
领取专属 10元无门槛券
手把手带您无忧上云