自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Redis RESP 协议

字符串内部就带\r\n,由于前面表示了字符串的长度,所以这种方式其实也是可以处理的。1、正常回复,以 “+” 开头, 以“\r\n” 结尾的字符串i形式。4、多行字符串,以“$”开头,后跟实际发送的字节数,以\r\n结尾。2、错误回复,以“-”开头,以 "\r\n"结尾的字符串形式。如 -Error messgae\r\n。如:$5\r\nhello\r\n。3、整数,以":"开头,以"\r\n"结尾。5、数组,以“*”开头,后面跟成员个数。如: +OK\r\n。

2024-06-10 11:27:01 289

原创 模型训练(二)

核心思想是“相似的人倾向于喜好相似的物品集”。K-means的设计思想是“物以类聚”,那么可以得出,同一个类别中的向量应该足够的接近,而不同的类别向量之间的距离应该越远越好。K-means的结果没有真实意义,但是它以量化的形式,刻画了房屋之间的相似性与差异性,这个新生成的特性往往与预测标的有着更强的关联性,所以使用这个新特征参与监督学习,就有可能优化和提升模型的效果。结合数据样本的特征向量,根据向量之间的相对距离,K-means算法可以把所有的样本划分为K个类别,这也是算法命名中“K”的由来。

2024-06-02 22:49:45 217

原创 模型训练(一)

这个决策树的过程和人的思维过程非常的相似,相当于将原来的数据样本进行拆分,拆分成了1到5,集合1到5就构成了原来的样本。依靠的是数据样本的纯度,可以理解为标签的多样性,如果样本标签都一样,那么标签的多样性为1,那么纯度就很高。但是,树与树之间是有依赖关系的,每一棵树的构建,都是基于前一颗树的训练结果。接下来需要遍历每个特征,考察每个特征的提纯能力,所谓提纯就是:把原始样本使用特征进行区分,如果区分后的子集纯度有所提高,那么区分后的子集也就纯度越高,该特征的提纯能力越高。

2024-05-26 00:01:06 355

原创 机器学习之特征工程

在机器学习领域,有一条人尽皆知的”潜规则“:Garbage in, garbage out。他就是在说特征的工程的重要性,其决定了模型的上限,而我们训练模型就是不断地逼近这个天花板而已。影响特征工程质量的因素有很多种,如数据质量本身参差不齐、特征字段区分度不高,还有选择不到位、不合理等因素。对于原始数据中的字段,由于字段类型不同,处理方式也不同,可以分为数值类型(Numeric)和非数值型(Categorical)。

2024-05-19 00:15:34 727

原创 机器学习入门

机器学习的过程就是将这些数据应用到模型上,然后不断地优化算法(或调整参数)让模型不断地逼近数据的原始分布

2024-05-18 00:01:06 254

原创 浅谈设计模式

设计模式基于原则,而不限于模式,原则就像是河流的发源地,而终点是大象万千,千姿百态

2024-05-13 23:39:11 927 1

原创 ReentrantReadWriteLock锁降级

【代码】ReentrantReadWriteLock锁降级。

2024-03-10 22:16:36 195 1

原创 Nginx Http模块是如何处理请求的?

1.概述 HTTP模块是Nginx的核心模块,当一个请求被内核接收之后就会交给HTTP模块进行处理了。HTTP模块的配置块有http、server和location,其嵌套关系是server嵌套在http块里面,location嵌套在server里面,而且location里面还可以嵌套location。 在Nginx中大体上可以分为2类指令,分别是值指令(存储配置项的值)和动作指令(指定行为的),值指令可以合并,而动作类指令不可以合并。存储值的指令继承规则是向上覆盖,也就是说子配

2022-07-09 00:38:21 1257

原创 SpringBoot日志解析(十四)

从日志框架角度来看日志分为日志实现框架和日志门面框架。实现框架主要有log4j、log4j2、JUL和Logback;日志门面框架主要JCL和slf4j。SpringBoot默认使用的式slfj+logback。 首先在门面框架中定义一个接口LoggerFactoryBinder,所有的实现框架必须实现这个接口,而且实现类必须具有相同的类名和包路径org/slf4j/impl/StaticLoggerBinder。这样日志门面框架就可以根据该路径去寻找日志实现框架。 Spring

2022-07-05 09:45:09 278

原创 SpringBoot Webflux解析

1. Webflux介绍 Webflux是一种异步非阻塞的IO模型,当有请求过来时,它会将请求交由worker线程去处理,这样就可以极大的提升吞吐量,所以他比较适合用于IO密集型的场景。 webflux虽然可以给我带来吞吐量的提升,但是同时也带了一些问题,如调试困难,有一定的学习成本,此外目前仅有少数数据库支持异步非阻塞查询,如redis支持,而mysql不支持。它使用netty作为服务端框架,网络通信性能很高,但是我们在准备引入该技术的时候也需要十分谨慎。在SpringBoot

2022-07-03 16:42:07 5681

原创 SpringBoot Mybatis Starter 解析

我们知道Mybatis有两大核心组件:SqlSessionFactory和Mapper接口。该starter可以帮助我们自动完成SqlSessionFactory和Mapper的装配与注入,可以极大的简化我们的开发难度,提高开发效率。Mybatis-starter主要完成以下功能: 从该模块的pom文件可以看出,它里面引入了mybatis-spring-boot-autoconfigure依赖,由此我们可以知道在该依赖的META-INF目录下的spring.factories中配置了Enabl

2022-06-30 21:06:06 2575

原创 SpringBoot Starter解析

Conditional注释是一种基于条件的注解,也就是根据某一个特定条件来决定是否创建某个特定的Bean,这是SpringBoot实现自动装配的基础原理。常见的Conditional注解主要有:在@Conditional注解里面有一个方法value,它要求value是一个Condition类型。Condition是一个接口,它里面只定义一个方法matches,如果该方法返回true就创建bean,false就不创建bean。因此我们自己也可以自定义自己的Conditional,具体步骤如下:Starter是

2022-06-29 14:59:24 286

原创 Servlet容器启动解析

1. Servlet Web环境介绍目前web环境主要有Servlet和Rective,而大部分web应用使用的还是Servlet容器,web服务器又主要以Tomcat为主。所以接下来我会以Servlet容器作为解析重点。2. 容器启动主要流程从下图我们可以看出Servlet的启动流程从SpringApplication的初始化到运行run方法,再到AbstractApplicationContext的refresh方法。详细流程参考下图:3. Web容器工厂类加载解析我们知道在createWebServe

2022-06-28 10:46:06 751

原创 SpringBoot之系统初始化器(一)

ApplicationContextInitializer作为SpringBoot的系统初始化器,我们先来知其所以然,而后知其然。ApplicationContextInitialializer是在Spring Context刷新之前初始化Spring ConfigurableApplicationContext的回调接口。通常用于需要通过编程初始化应用上下文的web应用中。例如,针对上下文环境注入属性或者激活配置。此外,所有实现了ApplicationContextInitializer接口的类还可以通过

2022-06-27 17:53:49 641 2

redis安装以及命令实战

这只是一个简单的 Redis 命令实践教程,帮助你快速入门 Redis 的基本操作。其中包含了服务的安装部署,已经各种命名的使用以及相关数据结构的使用教程。比较适合新手入门级教学,也可以起到查缺补漏作用。更详细的内容可以参考官方的文档。

2024-06-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除