E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【源码解读】
超凡理解:阿里爸爸开源Github星标77.7K的微服务架构高级笔记
本书从微服务架构的设计理念和方法论切入,从不同角度全面介绍微服务的特性、使用场景、组织流程、构建交互、部署交付等软件工程各个关键环节和核心要素,既包含了具体微服务技术的
源码解读
、原理分析,也加入了作者在电信
littlejava_
·
2021-11-27 13:20
java
面试
开发语言
devops
github
工具 | pg_recovery 设计原理与
源码解读
上一期我们介绍了PostgreSQL数据找回工具:pg_reconvery本文将带大家了解pg_recovery工具的实现原理、设计思路,并带来
源码解读
。
·
2021-11-26 17:38
数据库
OceanBase 数据库
源码解读
之模块结构
为了帮助大家理清头绪愉快上手,本人将利用碎片时间围绕“
源码解读
”写个系列介绍。将通过一系列文章进行阐述,帮您理清数据库的内在本质
·
2021-11-24 16:41
oceanbase源码学习
开源数据库OceanBase
源码解读
(九):tableAPI和OB多模型
本文作为
源码解读
系列的第九篇,将介绍TableAPI,hbase->HBase和OceanBase多模型,以及tableAPI相关代码。
·
2021-11-24 15:36
数据库oceanbase
druid
源码解读
-Druid源码分析其他类的代码分析DruidDataSourceC3P0Adapter、validConnectionChecker
Druid源码分析其他类的代码分析DruidDataSourceC3P0Adapter、validConnectionChecker今天在看源码DataSource同目录下的类的时候留意到DruidDataSourceC3P0Adapter和DruidDataSourceC3P0AdapterMBean这两个类,发现在前面看的源码中没有关于这块的调用,随即就开始研究一下具体用来做什么的?Druid
wmy_0707
·
2021-11-20 00:37
Druid源码解读
设计模式
源码
druid
连接池
Nebula Graph
源码解读
系列 | Vol.05 Scheduler 和 Executor 两兄弟
本文首发于NebulaGraphCommunity公众号上篇我们讲述了QueryEngineOptimizer部分的内容,在本文我们讲解下QueryEngine剩下的Scheduler和Executor部分。概述在执行阶段,执行引擎通过Scheduler(调度器)将Planner生成的物理执行计划转换为一系列Executor,驱动Executor的执行。Executor,即执行器,物理执行计划中的
·
2021-11-19 15:26
nebula图数据库数据库
Nebula Graph
源码解读
系列 | Vol.04 基于 RBO 的 Optimizer 实现
上篇我们讲述了一个执行计划是如何生成的,这次我们来看下这个生成的执行计划是被Optimizer优化的。概述Optimizer,优化器,顾名思义就是一个用来优化执行计划的组件。数据库的优化器通常分为两类,一类是基于规则的优化器RBO(Rule-basdoptimizer),一类是基于代价的优化CBO(Cost-basedoptimizer),前者完全基于预设的优化规则进行优化,匹配的条件和优化的结果
·
2021-11-16 15:29
nebula图数据库知识图谱
深入底层|JVM
源码解读
:HotSpot的模板解释器
本文由HeapDump性能社区首席讲师鸠摩(马智)授权整理发布第9篇-字节码指令的定义之前的文章介绍了解释执行下的Java栈帧创建以及字节码分派逻辑,但是始终没有讲到虚拟机到底是怎么执行Java方法中的字节码的,在介绍字节码的执行之前,需要先知道字节码指令的定义。在Bytecodes::initialize()函数中会定义字节码指令的一些属性。这个函数的调用链如下:init_globals()by
·
2021-11-11 19:06
javajvmhotspot
【超硬核】JVM
源码解读
:Java方法main在虚拟机上解释执行
本文由HeapDump性能社区首席讲师鸠摩(马智)授权整理发布第1篇-关于Java虚拟机HotSpot,开篇说的简单点开讲Java运行时,这一篇讲一些简单的内容。我们写的主类中的main()方法是如何被Java虚拟机调用到的?在Java类中的一些方法会被由C/C++编写的HotSpot虚拟机的C/C++函数调用,不过由于Java方法与C/C++函数的调用约定不同,所以并不能直接调用,需要JavaC
·
2021-11-11 16:14
javajvm
【Calcite】Apache Calcite 校验流程
源码解读
1.核心结构与概念Calcite提供的Validator流程极为复杂,但概括下来主要做了这么一件事,对每个SqlNode结合元数据校验其语义是否正确,这些语义包括:验证表名是否存在;select的列在对应表中是否存在,且该匹配到的列名是否唯一,比如join多表,两个表有相同名字的字段,如果此时select的列不指定表名就会报错;如果是insert,需要插入列和数据源进行校验,如列数、类型、权限等;
·
2021-11-09 13:03
设计模式【3.3】-- CGLIB动态代理
源码解读
cglib动态代理cglib介绍CGLIB是一个开源项目,一个强大高性能高质量的代码生成库,可以在运行期拓展Java类,实现Java接口等等。底层是使用一个小而快的字节码处理框架ASM,从而转换字节码和生成新的类。理论上我们也可以直接用ASM来直接生成代码,但是要求我们对JVM内部,class文件格式,以及字节码的指令集都很熟悉。这玩意不在JDK的包里面,需要自己下载导入或者Maven坐标导入。我
·
2021-11-08 23:00
java设计模式
httprunner3
源码解读
(4)parser.py
源码结构目录可以看到此模块定义了4个属性和12个函数,我们依次来讲解属性源码分析#匹配http://或https://absolute_http_url_regexp=re.compile(r"^https?://",re.I)#使用$$转义$符号dolloar_regex_compile=re.compile(r"\$\$")#变量符号,e.g.${var}or$varvariable_rege
Silent丿丶黑羽
·
2021-11-08 15:00
laravel passport 的 oauth2机制(二)——
源码解读
如果已经理解oauth2.0原理,也安装后laravelpassport的情况下。现在从源码中看看相关的逻辑流程,是如何走的。在这之前我们先看下laravel如何判断http客户端请求是普通请求,还是json请求,因为passport默认是apijson请求的。\vendor\laravel\framework\src\Illuminate\Http\Concerns\InteractsWithC
·
2021-11-05 17:36
httprunner3
源码解读
(3)client.py
源码目录结构ApiResponse这个类没啥好说的classApiResponse(Response):"""继承了requests模块中的Response类,重写了里面的raise_for_status方法"""defraise_for_status(self):ifhasattr(self,"error")andself.error:raiseself.errorResponse.raise_
Silent丿丶黑羽
·
2021-11-05 15:00
httprunner3
源码解读
(2)models.py
源码目录结构我们首先来看下models.py的代码结构我们可以看到这个模块中定义了12个属性和22个模型类,我们依次来看属性源码分析importosfromenumimportEnumfromtypingimportAnyfromtypingimportDict,Text,Union,CallablefromtypingimportListfrompydanticimportBaseModel,F
Silent丿丶黑羽
·
2021-11-05 13:00
httprunner3
源码解读
(1)简单介绍源码模块内容
前言最近想着搭建一个API测试平台,基础的注册登录功能已经完成,就差测试框架的选型,最后还是选择了httprunner,github上已经有很多开源的httprunner测试平台,但是看了下都是基于httprunner1.5.8测试框架,1.0和3.0差距还是很大的,所以自己想集成个3.0的平台,既然要继承,读懂源码必不可少源码目录结构我们先来看下源码的目录结构app是一个Pythonpackag
Silent丿丶黑羽
·
2021-11-04 21:00
死磕Spring系列:BeanFactoryPostProcessors源码解析
1.流程图解2.
源码解读
publicstaticvoidinvokeBeanFactoryPostProcessors(ConfigurableListableBeanFactorybeanFactory
与李
·
2021-10-25 16:46
Spring
spring
java
后端
Promise源码渐进式解读(五)
阅读更多原创技术文章回顾:Promise源码渐进式解读(一)回顾:Promise源码渐进式解读(二)回顾:Promise源码渐进式解读(三)回顾:Promise源码渐进式解读(四)完整代码+注释,可对照阅读Promise
源码解读
系列的最后
·
2021-10-25 15:23
从BinarySearchTree到RedBlackTree之BST
起源起源是看侯捷大佬的STL
源码解读
+Linux内核设计的时候都遇到了红黑树的问题,想必其作为强大的底层支撑的存在是很重要的。但基于那天翻阅知乎被某条牛逼评论刺激到后,才有了循序渐进完成全部的想法。
立志要去HKUST的金牌插秧王草丛小马子
·
2021-10-23 18:48
笔记
python3 extract_model.py对应代码解读抽取式提取+生成式提取摘要代码解读------摘要代码解读3
extract_model.py对文本进行向量化操作的过程解读由之前extract_vectorize.py保存权重说起观察train_x到train_y的模型Masking网络层的
源码解读
复习keras
唐僧爱吃唐僧肉
·
2021-10-21 17:13
文本摘要抽取代码解读
python
tensorflow
深度学习
ExpiredStorage-给localstroage增加超时功能
源码解读
https://www.npmjs.com/package...这个库拓展了localStroage。在设置item的时候,会另外再设置一个key用来存储过期时间。当在取数据的时候判断是否过期并且remove元素。用法expiredStorage=newExpiredStorage();//60秒后过期expiredStorage.setItem("test","foobar",60);//永不过
·
2021-10-09 16:07
dubbo源码系列2——spi
源码解读
(下)
今天是2021年10月1号,在此祝伟大的祖国母亲生日快乐,繁荣昌盛!上一节对sdkspi机制从源码角度进行了分析,文末留下思考:jdkspi有什么缺点?总结如下:无法按需加载ServiceLoader通过LazyIterator实现延迟加载,但是加载时仍然是遍历所有的类进行实例化,无法按需加载;多线程非安全ServiceLoader方法都是static,在并发时可能出现意想不到的线程安全问题;针对
xu_jiang_hua
·
2021-10-03 08:59
dubbo
dubbo
spi
架构
找分布式工作复习学习系列---常见优化库
源码解读
(七)
https://zhuanlan.zhihu.com/p/391947979https://zhuanlan.zhihu.com/p/63500952https://zhuanlan.zhihu.com/p/99071481https://blog.csdn.net/angel_hben/article/details/117780901?spm=1001.2014.3001.5502https:
加油11dd23
·
2021-09-30 09:23
Vue
源码解读
(四):更新策略
之前介绍过初始化时Vue对数据的响应式处理是利用了Object.defifineProperty(),通过定义对象属性getter方法拦截对象属性的访问,进行依赖的收集,依赖收集的作用就是在数据变更的时候能通知到相关依赖进行更新。通知更新setter当响应式数据发生变更时,会触发拦截的setter函数,先来看看setter://src/core/observer/index.jsexportfun
明么
·
2021-09-28 09:21
Vue
源码解读
(五):render和VNode
Vue2.0相比Vue1.0最大的升级就是利用了虚拟DOM。在Vue1.0中视图的更新是纯响应式的。在进行响应式初始化的时候,一个响应式数据key会创建一个对应的dep,这个key在模板中被引用几次就会创建几个watcher。也就是一个key对应一个dep,dep内管理一个或者多个watcher。由于watcher和DOM是一对一的关系,更新时,可以明确的对某个DOM进行更新,更新效率还是很高的。
明么
·
2021-09-28 09:14
Vue
源码解读
(六):update和patch
Vue的_update是实例上的一个私有方法,主要的作用就是把VNode渲染成真实的DOM,它在首次渲染和数据更新的时候被调用。在数据更新的时候会发生新VNode和旧VNode对比,获取差异更新视图,我们常说的diff就是发生在此过程中。_update//src/core/instance/lifecycle.jsVue.prototype._update=function(vnode:VNode
明么
·
2021-09-28 09:08
Vue
源码解读
(七):模板编译
在最开始的章节提到过,我们在使用vue-cli创建项目的时候,提供了两个版本供我们使用,RuntimeOnly版本和Runtime+Compiler版本。RuntimeOnly版本是不包含编译器的,在项目打包的时候会把模板编译成render函数,也叫预编译。Runtime+Compiler版本包含编译器,可以把编译过程放在运行时做。入口这一块代码量比较多,主要是对各种情况做了一些边界处理。这里只关
明么
·
2021-09-28 09:59
prometheus remote-read使用与
源码解读
prometheus中remote-write和remote-read的配置:#storedatatoinfluxdbremote_write:-url:"http://10.21.1.74:8086/api/v1/prom/write?db=prometheus"#readdatafrominfluxdbremote_read:-url:"http://10.21.1.74:8086/api/v
·
2021-09-26 21:16
prometheus
dubbo源码系列1——spi
源码解读
(上)
Dubbo作为分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案。以微内核+插件机制作为底座,为上层提供易拓展特性,微内核和插件的核心即spi机制。介绍spi肯定离不开sdk提供的spi,因此分成上下两节分别介绍sdkspi和dubbospi。本节主要有四部分,安排如下:spi介绍jdkspidemojdkspi源码分析总结1、spi介绍spi(Serviceproviderinte
xu_jiang_hua
·
2021-09-25 17:24
dubbo
java
dubbo
spi
Nebula Graph
源码解读
系列 | Vol.03 Planner 的实现
上篇我们讲到Validator会将由Parser生成的抽象语法树(AST)转化为执行计划,这次,我们来讲下执行计划是如何生成的。概述Planner是执行计划(ExecutionPlan)生成器,它会根据Validator校验过、语义合法的查询语法树生成可供执行器(Executor)执行的未经优化的执行计划,而该执行计划会在之后交由Optimizer生成一个优化的执行计划,并最终交给Executor
·
2021-09-25 11:52
nebula图数据库
Nebula Graph
源码解读
系列 | Vol.02 详解 Validator
整体架构NebulaGraphQueryEngine主要分为四个模块,分别是Parser、Validator、Optimizer和Executor。Parser完成对语句的词法语法解析并生成抽象语法树(AST),Validator会将AST转化为执行计划,Optimizer对执行计划进行优化,而Executor负责实际数据的计算。这篇文章我们主要介绍Validator的实现原理。目录结构Valid
·
2021-09-24 23:34
nebula图数据库
❤️Android 从
源码解读
Apk 的安装过程 ❤️
目录App安装过程PackageInstallerActivityonCreat()onResume()bindUi()startInstall()InstallInstallingonCreat()onStart()onResume()InstallingAsyncTaskPackageInstaller.commit()PackageInstallerSessioncommit()dispat
帅次
·
2021-09-24 18:01
Android
勇闯高阶
Android
随手笔录
android
java
android
源码
apk安装流程
android
studio
Nebula Graph
源码解读
系列 | Vol.01 Nebula Graph Overview
上篇序言中我们讲述了
源码解读
系列的由来,在NebulaGraphOverview篇中我们将带你了解下NebulaGraph的架构以及代码仓分布、代码结构和模块规划。
·
2021-09-24 16:13
nebula图数据库
Vue
源码解读
(四):更新策略
之前介绍过初始化时Vue对数据的响应式处理是利用了Object.defifineProperty(),通过定义对象属性getter方法拦截对象属性的访问,进行依赖的收集,依赖收集的作用就是在数据变更的时候能通知到相关依赖进行更新。通知更新setter当响应式数据发生变更时,会触发拦截的setter函数,先来看看setter://src/core/observer/index.jsexport fu
·
2021-09-15 10:29
源码解读
Dubbo分层设计思想 转至元数据结尾
一、Dubbo分层整体设计概述我们先从下图开始简单介绍Dubbo分层设计概念:(引用自Duboo开发指南-框架设计文档)如图描述Dubbo实现的RPC整体分10层:service、config、proxy、registry、cluster、monitor、protocol、exchange、transport、serialize。service:使用方定义的接口和实现类;config:负责解析Du
·
2021-09-14 09:04
服务器apachedubbo
Vue
源码解读
(三):响应式原理
Vue一大特点就是数据响应式,数据的变化会作用于视图而不用进行DOM操作。原理上来讲,是利用了Object.defifineProperty(),通过定义对象属性setter方法拦截对象属性的变更,从而将属性值的变化转换为视图的变化。在Vue初始化时,会调用initState,它会初始化props,methods,data,`computed,watch`等.响应式对象initState//src
·
2021-09-14 09:00
Open-falcon hbs
源码解读
hbs负责周期性的读取db中内容,缓存到本地cache,然后提供RPC接口以供agent和judge两个组件查询调用。//modules/hbs/rpc/rpc.gofuncStart(){server:=rpc.NewServer()server.Register(new(Agent))server.Register(new(Hbs))l,e:=net.Listen("tcp",addr)for
·
2021-09-13 22:17
监控工具
Open-falcon transfer
源码解读
transfer可以理解为中转模块,它接收agent上报的指标,然后转发给后端的graph和judge实例。transfer接收到agent上报的指标后,先存储到内存queue,然后再由goroutine默默的将queue的数据Pop出来,转发给graph和judge。transfer后端接多个graph和judge实例,如何保证某一个指标稳定的转发到某个实例,同时还能保证多个graph间保持均衡
·
2021-09-11 21:48
监控工具
Open-falcon agent
源码解读
agent是指标采集模块,仅关注linux本身的监控指标,主要负责:定期进行指标采集,然后通过RPC上报给Transfer;向hbs发送heartbeat,同时从hbs获取要监听的process、port和要执行的plugin信息;定期执行plugin,将plugin的指标结果发送给Transfer;整体架构:1.指标采集代码入口:funcmain(){......cron.Collect()..
·
2021-09-11 21:47
监控工具
springboot @Value实现获取计算机中绝对路径文件的内容
目录springboot@Value获取绝对路径文件的内容默认情况下使用同样的我们可以使用file协议获取文本的内容Spring注解@Value解读依赖注入概述实际应用案例
源码解读
分析1、首先进入SpringApplication.run
·
2021-09-11 18:33
Vue(v2.6.14)源码解毒(一):准备工作
最近在掘金上看到李永宁大佬的《Vue
源码解读
》系列文章后,又开始蠢蠢欲动了。这次主要是对核心实现的一个梳理,细节方面不会太过介绍。源码地址本次学习的Vue源码为2
·
2021-09-08 11:39
prometheus remote-write解析(二) --
源码解读
整体流程remoteConfigs支持配置多个remoteStorage,每个remoteStorage使用1个QueueManager;wathcer将sample发送给QueueManager;1个QueueManager中管理多个shard,每个shard的容量为capactiy;每个shard会定时(batch_send_deadline)定量(max_samples_per_send)的
·
2021-09-06 23:22
Vue2
源码解读
五:指令和生命周期
前言:这篇文章的核心是Vue2的指令和声明周期的架构,其立足于模板引擎、虚拟Dom与Diff算法、数据响应式原理、抽象语法树之上,这就像要盖一座房子,所需要的砖,水泥,钢筋都准备好了,那么接下来就是怎么把它们组合起来发挥各自的作用让这个房子的架子先搭起来呢?Vue类的创建在此简化模拟自己手写一个Vue类:Vue.jsexportdefaultclassVue{constructor(options
·
2021-09-01 16:29
Nebula Graph
源码解读
系列 | Vol.00 序言
本文首发于NebulaGraphCommunity公众号NebulaGraph是由杭州欧若数网科技有限公司(官网:https://www.vesoft.com/cn/)开源的一款分布式图数据库,它主要用来解决伴随着海量数据产生,在关联数据分析、挖掘方面面临的新挑战。自2019年5月开源以来,NebulaGraph受到了广泛的关注,许多企业、技术团队、开发者将NebulaGraph应用到业务上构建知
·
2021-09-01 13:13
Vue2
源码解读
三:数据变化侦测-数据响应式原理
Vue2.X官方文档中已经阐述了深入响应式原理,简单来讲就是数据修改之后,被es5里边Object.defineProperty,setter拦截到了,通知watcher,watcher对函数进行渲染,这个过程种要创建新的虚拟dom节点,对比旧的虚拟dom节点,对比完之后做成一个补丁,把补丁打在真实dom结构中,真实dom再更新,视图发生改变。Object.defineProperty()数据劫持
·
2021-08-31 19:31
YOLOv5-4.0版本
源码解读
--metrics.py模块
0|前言YOLOv5为兼顾速度与性能的目标检测算法。笔者将在近期更新一系列YOLOv5的代码导读博客。YOLOv5为2021.1.5日发布的4.0版本。YOLOv5开源项目github网址本博客导读的代码为utils文件夹下的metrics.pymetrics.py此文件为模型验证指标,作用主要是获得到的预测结果与groundtruth表现计算指标P、R、F1-score、AP、不同阈值下的mAP
彩虹直至黑白_Joon
·
2021-08-31 17:57
Vue
源码解读
四:AST抽象语法树
本篇内容是在模板引擎的基础上,结合虚拟DOM进行的讨论,基于三者之间的关系,总结出下图示意:graphTDA[模板语法]-->|解析|B(抽象语法树AST)B-->|调用|C[渲染函数即h函数]C-->|生成|D[虚拟节点diff/patch]D-->|更新|E(界面)1.抽象语法树(AST)是什么?抽象语法树,AbstractSyntaxTree(简称:AST)本质上就是一个js对象。模板语法先
·
2021-08-30 19:00
【YOLOV5-5.x
源码解读
】datasets.py
目录前言0、导入需要的包和基本配置1、相机设置2、create_dataloader3、自定义DataLoader4、LoadImagesAndLabels4.1、__init__4.2、cache_labels4.3、__len__4.4.、__getitem__4.5、collate_fn4.6、collate_fn45、img2label_paths6、verify_image_label7
满船清梦压星河HK
·
2021-08-28 21:16
YOLOV5-5.x
源码讲解
yolov5-5.x源码解读
datasets.py
数据载入
数据增强
Vue
源码解读
二:虚拟DOM与Diff算法
什么是虚拟DOM?virtualDOM,用普通js对象来描述DOM结构,因为不是真实DOM,所以称之为虚拟DOM。虚拟DOM在Vue中的应用Vue的编译器在编译模板之后,会把这些模板编译成一个渲染函数。而函数被调用的时候就会渲染并且返回一个虚拟DOM的树。Vue的VirtualDOMPatching算法是基于Snabbdom的实现。当我们有了这个虚拟的树之后,再交给一个Patch函数,负责把这些虚
·
2021-08-27 19:11
Vue
源码解读
一:模板引擎
什么是模板引擎?模板引擎是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的文档,就是将模板文件和数据通过模板引擎生成一个HTML代码。本篇内容需要的js常量及dom结构vararr=[{name:'小明',age:23},{name:'小红',age:25},{name:'小强',age:27}]模板引擎的发展纯dom法-创建节点法var
·
2021-08-26 16:31
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他