intercept

虚拟化技术实现 — KVM 的内存虚拟化

…衆ロ難τιáo~ 提交于 2020-05-03 15:41:36
目录 文章目录 目录 前文列表 内存虚拟化 常规软件内存虚拟化 影子页表技术 EPT 技术 参考文章 前文列表 《 虚拟化技术实现 — 虚拟化技术发展编年史 》 《 虚拟化技术实现 — QEMU-KVM 》 《 虚拟化技术实现 — KVM 的 CPU 虚拟化 》 内存虚拟化 虚拟化分为软件虚拟化和硬件虚拟化,而且遵循 intercept 和 virtualize 的规律。 内存虚拟化也分为基于软件的内存虚拟化和硬件辅助的内存虚拟化,其中,常用的基于软件的内存虚拟化技术为「影子页表」技术,硬件辅助内存虚拟化技术为 Intel 的 EPT(Extend Page Table,扩展页表)技术。 常规软件内存虚拟化 虚拟机本质上是 Host 机上的一个进程,按理说应该可以使用 Host 机的虚拟地址空间,但由于在虚拟化模式下,虚拟机处于非 Root 模式,无法直接访问 Root 模式下的 Host 机上的内存。 这个时候就需要 VMM 的介入,VMM 需要 intercept (截获)虚拟机的内存访问指令,然后 virtualize(模拟)Host 上的内存,相当于 VMM 在虚拟机的虚拟地址空间和 Host 机的虚拟地址空间中间增加了一层,即虚拟机的物理地址空间,也可以看作是 Qemu 的虚拟地址空间(虚拟机是由 Qemu 模拟生成的)。 所以

【数据分析】线性回归与逻辑回归(R语言实现)

谁说我不能喝 提交于 2020-05-02 19:38:14
文章来源:公众号-智能化IT系统。 回归模型有多种,一般在数据分析中用的比较常用的有线性回归和逻辑回归。其描述的是一组因变量和自变量之间的关系,通过特定的方程来模拟。这么做的目的也是为了预测,但有时也不是全部为了预测,只是为了解释一种现象,因果关系。 还是按照老风格,不说空泛的概念,以实际的案例出发。 还是先前的案例,购房信息,我们这次精简以下,这8位购房者我们只关注薪水和年龄这两个因素,信息如下: 用户ID 年龄 收入 是否买房 1 27 15W 否 2 47 30W 是 3 32 12W 否 4 24 45W 是 5 45 30W 否 6 56 32W 是 7 31 15W 否 8 23 30W 否 我们用这个案例说明我们提到的线性回归模型和逻辑回归模型。 线性回归 首先我们看线性回归模型。如果我们想试图看下收入和年龄是否有什么直接的关系,这里,我们把收入看成自变量,年龄是因变量,那么线性模型的关系图自然是直线,按照方程,我们可以得出: y(收入)=a + bx(年龄) 这里,b是回归系数,a是回归常数。但是俗话说,理想很丰满,现实很骨干,偏差一定存在,所以实际上还有残差e存在。所以这个方程更精确的应该是: y(收入)=a + bx(年龄) + e 现在我们来计算具体的回归系数和回归常数。具体计算公式如下: b = ∑(y - Y)(x - X)/∑(x - X)(x - X)

R语言 线性回归分析实例 《回归分析与线性统计模型》page72

…衆ロ難τιáo~ 提交于 2020-05-02 17:16:10
y,X1,X2,X3 分别表示第 t 年各项税收收入(亿元),某国生产总值GDP(亿元),财政支出(亿元)和商品零售价格指数(%). (1) 建立线性模型 : ① 自己编写函数: > library(openxlsx) > data = read.xlsx("22_data.xlsx",sheet = 1) > x = data[,-c(1,2)] > x = cbind(rep(1,17),x) > x_mat = as.matrix(x) > y =matrix(data[,2],ncol = 1) > res = solve(t(x_mat)%*%x_mat)%*%t(x_mat)%*%y > res [,1] rep(1, 17) 19412.8597818 X1 0.2679605 X2 -0.2874013 X3 -297.3653736 所以各参数的估计值分别为 ② lm函数 > lm(y~x_mat) Call: lm(formula = y ~ x_mat) Coefficients: (Intercept) x_matrep(1, 17) x_matX1 19412.859781545 NA 0.267960511 x_matX2 x_matX3 -0.287401287 -297.365373557 于是各参数的估计值分别为 这两个方法的结果是一样的。 (2

R数据挖掘 第四篇:OLS回归分析

痞子三分冷 提交于 2020-05-02 17:15:17
变量之间存在着相关关系,比如,人的身高和体重之间存在着关系,一般来说,人高一些,体重要重一些,身高和体重之间存在的是不确定性的相关关系。回归分析是研究相关关系的一种数学工具,它能帮助我们从一个变量的取值区估计另一个变量的取值。 OLS(最小二乘法)主要用于线性回归的参数估计,它的思路很简单,就是求一些使得实际值和模型估值之差的平方和达到最小的值,将其作为参数估计值。就是说,通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法可用于曲线拟合,其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。 一,OLS回归 OLS法通过一系列的预测变量来预测响应变量(也可以说是在预测变量上回归响应变量)。线性回归是指对参数β为线性的一种回归(即参数只以一次方的形式出现)模型: Y t =α+βx t +μ t (t=1……n)表示观测数 Y t 被称作因变量 x t 被称作自变量 α、β 为需要最小二乘法去确定的参数,或称回归系数 μ t 为随机误差项 OLS线性回归的基本原则:最优拟合曲线应该使各点到直线的距离的平方和(即残差平方和,简称RSS)最小: OLS线性回归的目标是通过减少响应变量的真实值与预测值的差值来获得模型参数(截距项和斜率),就是使RSS最小。

java 注解annotation的使用,以及反射如何获取注解

左心房为你撑大大i 提交于 2020-05-02 15:06:12
一、注解基本知识 1、元注解 元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。 1. Annotation型定义为@interface, 所有的Annotation会自动继承java.lang.Annotation这一接口,并且不能再去继承别的类或是接口. 2. 参数成员只能用public或默认(default)这两个访问权修饰 3. 参数成员只能用基本类型byte,short,char,int,long,float,double,boolean八种基本数据类型和String、Enum、Class、annotations等数据类型,以及这一些类型的数组. 4. 要获取类方法和字段的注解信息,必须通过Java的反射技术来获取 Annotation对象,因为你除此之外没有别的获取注解对象的方法 5. 注解也可以没有定义成员, 不过这样注解就没啥用了 自定义注解类时, 可以指定目标 (类、方法、字段, 构造函数等) , 注解的生命周期(运行时,class文件或者源码中有效), 是否将注解包含在javadoc中及是否允许子类继承父类中的注解, 具体如下: 1. @Target 表示该注解目标,可能的 ElemenetType 参数包括: ElemenetType.CONSTRUCTOR 构造器声明 ElemenetType

机器学习 | 特征工程(二)- 特征选择

柔情痞子 提交于 2020-05-02 10:58:33
当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:  · 特征是否发散 :如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。  · 特征与目标的相关性 :这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。 特征选择主要包括:Filter Method 过滤法, Wrapper Method 包装法和Embedded Method 嵌入法。本文结合sklearn中的feature_selection库来进行特征选择的详细介绍。 1 Filter Method 过滤法 通过统计学的方法对每个feature给出一个score, 通过score对特征进行排序,然后从中选取score最高的子集. 这种方法仅仅是对每个feature进行独立考虑,没有考虑到feature之间的依赖性或相关性. 常用的方法有: 卡方检验,信息增益等。 1.1 方差选择法 使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。 使用feature_selection库的VarianceThreshold类来选择特征的代码如下: from sklearn.feature_selection import

sklearn中实现随机梯度下降法(多元线性回归)

我与影子孤独终老i 提交于 2020-04-30 00:30:20
sklearn中实现随机梯度下降法 随机梯度下降法是一种 根据模拟退火的原理 对损失函数进行最小化的一种计算方式,在sklearn中主要用于多元线性回归算法中,是一种比较高效的最优化方法,其中的 梯度下降系数(即学习率eta)随着遍历过程的进行在不断地减小 。另外,在运用随机梯度下降法之前需要利用 sklearn的 StandardScaler 将数据进行标准化 。 #sklearn中实现随机梯度下降多元线性回归 #1-1导入相应的数据模块 import numpy as np import matplotlib.pyplot as plt np.random.seed(666) #1-2导入相应的基础训练数据集 x=np.random.random(size=1000) y=x*3.0+4+np.random.normal(size=1000) x=x.reshape(-1,1) from sklearn import datasets d=datasets.load_boston() x=d.data[d.target<50] y=d.target[d.target<50] from sklearn.model_selection import train_test_split x_train1,x_test1,y_train1,y_test1=train_test_split

ABPvnext源码分析 (二):Autofac整合及动态代理

我与影子孤独终老i 提交于 2020-04-28 10:10:38
写在前面: 上一篇我们讲了Abp的核心模块,这一篇我们把DI 的serviceProvider替换成Autofac,另外添加动态代理拦截器功能。动态代理指从DI容器获取组件实例时组件实例不是原实例,而是代理实例。代理实例是对原实例进行了封装, 在实例方法前后添加逻辑处理,让获取的对象表现基于应有对象但又有自己的逻辑。举个例子,代理对象方法可以在原方法前后记录时间戳,来分析原方法的处理时长。Abp Core默认使用的是微软官方的DI实现, 那个功能较简单没有代理功能,为了添加动态代理功能,我们把DI实现替换为Autofac,并使用Autofac集成的代理实现方式Castle Core。 集成Autofac,我们需要添加Volo.Abp.Autofac包,这个包本身是Abp模块,其依赖AbpCastleCoreModule模块(Volo.Abp.CatleCore) namespace Volo.Abp.Autofac { [DependsOn( typeof (AbpCastleCoreModule))] public class AbpAutofacModule : AbpModule { } } 所以我们添加Volo.Abp.Autofac包并让我们的应用模块DependsOn(typeof(AbpAutofacModule))就自动的把AbpAutofacModule

安全测试 Burp Suite抓包工具

别来无恙 提交于 2020-04-28 06:27:01
运行环境java 1、App安全测试工具: BurpSuite 简介: Burp Suite 是用于攻击web 应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。 所有的工具都共享一个能处理并显示HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架 2、工具箱: Proxy——是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。 Spider——是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。 Scanner[仅限专业版]——是一个高级的工具,执行后,它能自动地发现web 应用程序的安全漏洞。 Intruder——是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。 Repeater——是一个靠手动操作来补发单独的HTTP 请求,并分析应用程序响应的工具。 Sequencer——是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。 Decoder——是一个进行手动执行或对应用程序数据者智能解码编码的工具。 Comparer——是一个实用的工具,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。 3

NET Core3.1 基于AutoFac 的AOP

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-27 19:09:22
1.AOP的概念 AOP是Aspect Oriented Programing的缩写,中文翻译为面向切面编程,是通过预编译方式和运行期 动态代理 实现程序功能的统一维护的一种技术。 利用AOP可以对业务逻辑的各个部分进行隔离,使业务逻辑各部分之间的耦合度低,提高程序的可重用性,同时提高开发的效率。 2.使用场景 日志功能 验证功能 异常处理 3.和mvc过滤器(Filter)的不同 Filter 是在HTTP层面的拦截 AOP的动态代理(DynamicProxy):可以用于业务层(server),在Action执行前,执行后拦截处理 4、基于AutoFac使用AOP 上一节已经引入了 Autofac.Extras.DynamicProxy (Autofac的动态代理,它依赖Autofac,所以可以不用单独引入Autofac) 、Autofac.Extensions.DependencyInjection (Autofac的扩展)所以就不用引入了 1、在项目中建AOP文件,添加 BlogLogAOP类 继承 IInterceptor 实现接口方法 我的项目server层全部方法是异步的所以用了异步 全部代码如下: /// <summary> /// 拦截器BlogLogAOP 继承IInterceptor接口 /// </summary> public class