我出生在1990年,2020年到来的时候,我完成了一项成就:奔三。同时,也开启了新的征程:奔四。2020年的春节是在广州的丈母娘家度过的,春节后大概是初五,或者是初六,我和媳妇就返回天津的家了。那个时候,大家应该都有印象,疫情刚刚爆发,全国在封高速路。本来想开车回去的,结果怕有风险,还是选择了飞机,车是托运回去的。我记得当时坐飞机的时候,整个飞机的人简直少得可怜。回到家,便开始隔离,随后封小区,马路上的行人越来越少了。刚回家的时候,我们身处的行政区还没有阳性病例,但已经完全被其它沦陷的行政区包围。虽说有点“独善其身”的感觉,但说到底还是“瑟瑟发抖”。二月份的时候还下了大雪,我和老婆还出去玩雪。
我出生在1990年,2020年到来的时候,我完成了一项成就:奔三。同时,也开启了新的征程:奔四。2020年的春节是在广州的丈母娘家度过的,春节后大概是初五,或者是初六,我和媳妇就返回天津的家了。那个时候,大家应该都有印象,疫情刚刚爆发,全国在封高速路。本来想开车回去的,结果怕有风险,还是选择了飞机,车是托运回去的。我记得当时坐飞机的时候,整个飞机的人简直少得可怜。回到家,便开始隔离,随后封小区,马路上的行人越来越少了。刚回家的时候,我们身处的行政区还没有阳性病例,但已经完全被其它沦陷的行政区包围。虽说有点“独善其身”的感觉,但说到底还是“瑟瑟发抖”。二月份的时候还下了大雪,我和老婆还出去玩雪。
简介:箱线图叠加散点图是数据表达中常用的一种方式。ggplot2包支持图形叠加,可以很好的实现我们想要的效果。由于使用ggpolt2包绘制的箱线图的末端没有短横线,可以采用误差条图来绘制箱线图胡须末端没有短横线。因此,可采用三个图层叠加实现:误差条图+箱线图+散点图。1.数据与要求:需要的数据用Excel准备并存为CSV格式,数据如下所示:image.pngData1查看数据首六行:head(Data1)看到:image.png2.具体实现开始作图:rm(list=ls())#清除工作区#安装并加载包library(ggplot2)#首次用需要先安装install.packages('ggpl
简介:箱线图叠加散点图是数据表达中常用的一种方式。ggplot2包支持图形叠加,可以很好的实现我们想要的效果。由于使用ggpolt2包绘制的箱线图的末端没有短横线,可以采用误差条图来绘制箱线图胡须末端没有短横线。因此,可采用三个图层叠加实现:误差条图+箱线图+散点图。1.数据与要求:需要的数据用Excel准备并存为CSV格式,数据如下所示:image.pngData1查看数据首六行:head(Data1)看到:image.png2.具体实现开始作图:rm(list=ls())#清除工作区#安装并加载包library(ggplot2)#首次用需要先安装install.packages('ggpl
一.漏洞利用条件jdk9+Spring及其衍生框架使用tomcat部署spring项目使用了POJO参数绑定SpringFramework5.3.X二.漏洞分析一开始复现这个漏洞的时候,听其他师傅说是一个老漏洞CVE-2010-1266的绕过,之前也没调试过这个漏洞,看了些分析文章后,大概明白是对Spring中的bean的漏洞利用,通过APIIntrospector.getBeanInfo可以获取到POJO的基类Object.class的属性class,进一步可以获取到Class.class的其他属性,其中就包括了classloader,再利用获取到的属性构造利用链,这次爆出来的漏洞既然是绕过
一.漏洞利用条件jdk9+Spring及其衍生框架使用tomcat部署spring项目使用了POJO参数绑定SpringFramework5.3.X二.漏洞分析一开始复现这个漏洞的时候,听其他师傅说是一个老漏洞CVE-2010-1266的绕过,之前也没调试过这个漏洞,看了些分析文章后,大概明白是对Spring中的bean的漏洞利用,通过APIIntrospector.getBeanInfo可以获取到POJO的基类Object.class的属性class,进一步可以获取到Class.class的其他属性,其中就包括了classloader,再利用获取到的属性构造利用链,这次爆出来的漏洞既然是绕过
spring-cloud-commons中参考了spring-cloud-netflix的设计,引入了NamedContextFactory机制,一般用于对于不同微服务的客户端模块使用不同的子ApplicationContext进行配置。spring-cloud-commons是SpringCloud对于微服务基础组件的抽象。在一个微服务中,调用微服务A与调用微服务B的配置可能不同。比较简单的例子就是,A微服务是一个简单的用户订单查询服务,接口返回速度很快,B是一个报表微服务,接口返回速度比较慢。这样的话我们就不能对于调用微服务A和微服务B使用相同的超时时间配置。还有就是,我们可能对于服务A通