自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何优雅的记录操作日志

操作日志记录组件具体的实现已经在Github了,注释应该还比较完整Github链接实现参考https://tech.meituan.com/2021/09/16/operational-logbook.html美团技术团队的文章但具体实现均自行实现现已完成功能支持日志方法上的重入支持日志参数的穿透完成SpringAop支持Spel的参数解析支持自定义方法扩展自定义日志持久化使用方法@Record(success = “XXX已完成,参数:`Spel解析式`”,fail=“X

2021-11-25 15:57:37 464

原创 继承WebMvcConfigurationSupport后导致静态资源无法访问

不怕笑话的说,遇到这个静态资源无法访问的情况查了一天多.一开始只是在查static目录下无法访问的问题.发现如何修改配置都没有效果,后来发现webjars目录也无法访问,才开始怀疑是mvc配置导致的冲突.从webjars开始查起发现,在WebMvcAutoConfiguration下这里没有配置成功的话,肯定是我们的配置与他冲突了写的很明显了,所以我们如果需要自己实现WebMvcConfigurationSupport的话会顶掉mvc的自动配置解决在WebMvcConfigurationS

2021-11-08 14:17:01 700 1

原创 GitHub使用Sonarcloud进行项目分析

发现Sonarcloud对于github的开源项目是免费使用的,但是配置过程中遇到了很多问题,百度还是Google相关的搜索都不多,特此记录一下整个流程.0.准备本文基于使用Maven项目的情况下.你需要注册一个Github和Sonarcloud的账号并且相互绑定.1.生成一个Sonarcloud的访问Token记住你的Token2.选择分析的项目3.选择分析方式选择为Github工作流4.设置SONAR_TOKEN按照提示设置,这里可以设置使用第一步里我们生成的toke.

2021-10-21 18:14:34 1302

原创 MongoDB数据结构(未完)

MongoDB(未完)0.前提概要首先要明确的是MongoDB是一个Nosql数据库。1.MongoDb的数据结构MongoDB的数据以文档为单位,采用Bson的文档结构。MongoDB的数据必须有_id字段(MongoDB会自动添加)MongoDB的数据存储方式不属于行存储或者列存储,而是文档存储1。MongoDB的底层使用B-树的数据结构(下面会讲为什么)。MongoDB是非聚簇索引,这点和Myisam很像(包括创建的单字段索引)支持多种索引类型及创建方式,详细可查看官网文

2021-09-27 17:10:40 797

原创 MongoDb的权限控制

MongoDb的权限控制在 MongoDB 里确认一个用户的方式是某一数据库的某一用户,即A库的user1用户和B库的user1用户是两个用户。注意:在 admin 的数据库中创建的用户是超级管理员,登陆后可以操作任何的数据库。MongoDB使用RBAC权限模型。MongoDB可以使用多种认证机制,如:SRAM(基于【用户名:密码】的形式,不需要重启的动态认证方式)(默认)x.509 证书认证(数字证书)LDAP代理身份认证Kerberos身份认证show dbs

2021-09-27 17:09:07 276

原创 MongoDB安装指北

MongoDB全方位安装指北*注:本文操作环境为LinuxMongoDB很绿色,解压即安装.下载地址:https://www.mongodb.com/try/download/community创建配置文件mongodb.conf(可选)port=27017 # 以创建子进程的方式运行fork=true #数据库路径dbpath=/usr/local/mongodb/db #日志输出方式,日志append而不是overwritelogappend=true #日志路径log

2021-09-27 17:07:57 67

原创 算法题记录

题目文件中存在大量数据,亿级别的数据,需要按照某一列进行排序。样例:buyer1,item1,13812348765,123,2020-01-01 01:00:00,1…buyer2,item2,13812348765,123,2020-01-01 01:00:00,2…buyer2,item2,13812348765,123,2020-01-01 01:00:00,3…要求:1:可以按照其中某几列进行排序,按照手机号码或者用户ID进行排序2:内存使用限制不超过64M,高效快速完成排序,并输

2021-07-23 14:14:31 117

原创 Stream对于BigDecimal的扩展

废话不多说,直接贴代码.public class BigDecimalCollect { public static Collector<BigDecimal, BigDecimal[], BigDecimal> sum() { return BigDecimalCollect.sum(ToBigDecimalFunction.identity()); } public static <T> Collector<T, BigDec

2021-05-29 19:00:51 343

原创 SpringBoot(一)-应用-日志模块的统一

SpringBoot日志SpringBoot是快速构建Spring应用的框架.SpringBoot实现了自动装配,只需要我们导入指定的需要的包,并且声明必要的配置就可以使用了.但是各个组件使用的日志组件不一致,会导致在输出日志的时候很乱了SpringBoot解决问题首先我们在我们项目中使用pom.xml引入 <dependency> <groupId>org.springframework.boot</groupId>

2021-05-20 10:54:22 253

原创 Go-Frame链接Nacos配置中心解决方案

Go-Frame框架暂时不能链接nacos作为配置中心.官方提供的set方法使用起来也比较麻烦.但是可以剑走偏锋,在启动服务前做一次从nacos上拉取配置,然后保存为本地配置文件,然后启动的时候指定配置文件的操作来解决问题const filePath = "./config.toml"type nacos struct { dataId, groupId, configFilePath string}//初始化func GetNacos(dataId, groupId string)

2021-05-15 19:37:05 591

原创 Mybatis执行流程----源码分析

Mybatis初始化流程//初始化 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(Resources.getResourceAsStream("config.xml"));new一个构建者public class Sql

2021-04-28 16:33:25 153 3

原创 Seata快速入门小知识

一家之言,简单理解角色TCTransaction Coordinator事务协调者维护全局事务和分支事务的状态,驱动全局事务和分支事务的提交和回滚. 请注意!TC只驱动操作,并不实际操作TMTransaction Manager事务管理者定义全局事务的范围:开始全局事务、提交或回滚全局事务。RMResource Manager资源管理器管理分支事务处理的资源,与TC交谈以注册分支事务和报告分支事务的状态,并驱动分支事务提交或回滚。全局事务和分支事务的关系全局事务

2021-03-25 18:12:59 458

原创 Git worktree 使用记录

问题产生同一个项目不同的分支需要同时启动,一个给与前台联调,一个需要调试bug,通常我们的方法都是复制出一个新的项目来处理,处理完成后合并回去,但是很麻烦.问题解决经过多方的查询,最终找到worktree的解决方案,前提Git版本=>2.6.0测试一.首先生成一套测试数据二.创建一个worktree首先切换到其他的分支,然后使用git worktree add <path> <branch>创建一个新的worktree.(注意:运行命令的时候你的当前

2020-11-06 14:05:30 932

原创 ApplicationContextAware和@PostConstruct使用冲突的问题

ApplicationContextAware和@PostConstruct使用冲突的问题问题描述:在使用spring的系统中,通常我们都会在代码中写一个Spring的Context工具类来使用;其次在进行一些启动后操作最方便的做法就是@PostConstruct;在@PostConstruct注释的方法中使用SpringContext的Util时服务器启动会发生空指针;解决方案:使用@DependsOn(“你的工具类”)注释使用@PostConstruct方法的类强制依赖...

2020-10-11 11:21:34 941

原创 Mysql 分组取值的问题

问题描述在员工表中,同部门内选取工资前三的人进行展示建表语句:create table employee( id bigint auto_increment primary key, name varchar(20) null, -- 姓名 salary bigint null, -- 工资 departmentId bigint null -- 部门);表数据:

2020-09-05 15:21:36 1236

原创 Springboot Redis多Db切换解决方案

Springboot Redis多Db切换解决方案1.问题描述2.解决思路3.解决问题4.使用方法1.问题描述一个需求,需要一个组件对接redis,需要支持多个DB的切换,以及序列化和反序列的管理,并且不对以往代码造成影响,且可以支持SPI形式的接入.2.解决思路1.需要支持多个DB的话,那么切换DB的时候不能对其他的线程造成影响,结果应该是一个线程在连接池中获取到对应的DB链接,操作完成之后把链接放回线程池.2.这样在实现的时候应该使用一个Map结构存储线程和dbIndex的关系.

2020-08-14 18:22:00 1852 2

原创 Java线程池CallBack超时实现方案

在实际的开发中我们可能会遇到这样的问题: 需要并发的查询返回数据整合在一起,还需要设定超时,以免有一些东西查的实在太久,无法按时返回数据.我的思路是使用CountDownLatch实现.public abstract class AbstractCallBackThread<T> implements Runnable{ private Consumer<T> callBack; private CountDownLatch countDownLatch;.

2020-07-14 20:48:36 780

原创 React项目使用Less修改方案

作为一个后端程序员偶尔想自己写点项目放在自己的服务器上用一下,感觉最近react十分的火就想着打给的了解学习一下看了一些项目的源码发现不少是在使用less,想自己也试一下.步骤适用于create-react-app创建的项目1.执行npm run eject2.执行npm install less less-loader --save-dev3.打开 config/webpack.con...

2020-04-02 11:48:59 602

原创 Mysql group by 分组之后,使用聚合函数MAX(),获取MAX()结果的同行数据,解决方案.

这是一张记录表,在信息列表页存在一个模糊搜索项,搜索项为最后记录表的create_user.logger_id关联信息表,字段不唯一.create_time肯定存在不唯一的情况.需要先通过group by logger_id分组数据,然后MAX(create_time).但问题来了,我需要获取MAX的这条记录的user字段,首先想到的肯定是关联子查询,但是子查询的时候并没有一个唯一ID可以...

2019-01-07 19:51:23 7297

原创 Dubbo配置多个zookeeper注册中心

问题场景:公司的新项目crm系统创建单独的数据库和单独的zk,表设计比较简单,所以大部分的即时性要求高的的数据需要从原本的数据库提取,可以配置双数据源,但是双数据源会带来更多的问题,继而选择使用在crm系统配置两个zk注册中心,把提取数据的sql写在之前的系统里,然后开放服务,然后在crm中调用服务实现提取数据.解决...

2018-12-28 17:23:52 5902

原创 Java时区问题

导出excel的时候本地测试的时候没有问题,但是发布到测试环境之后,导出表格的时候表格中的时间都少了8个小时.尝试指定Locale.CANADA一点用都没有= =需要使用simpleDateFormat.setTimeZone(TimeZone.getTimeZone("GMT+8"));解决问题...

2018-12-12 11:56:53 312

原创 Redis bitmap和hyperloglog

Bitmap我理解就是一个MapHyperLogLogHyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。 但是,因为 HyperLogL...

2018-09-08 17:30:57 491

原创 SpringData JPA onetoone 主键关联解决方案之一

准备1.JDK1.8实体类 测试总感觉有点蠢,不过确实实现了.

2018-08-20 18:54:49 1848

原创 JAVA正则表达式语法

ArrayList和LinkedList的区别: 从名字就可以看出在java核心类库里Arraylist是通过数组实现的,而Linkedlist是通过链表实现的。 通过数组实现的对象存储所带来的好处就是查找非常方便可以直接定位所需要的内容,通过链表实现对象的存储所带来的好处就是插入删除某一内容非常方便。

2018-08-19 18:05:53 184

原创 SptingDataJPA(java.lang.ClassNotFoundException: javax.xml.bind.JAXBException)

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at org.hibernate.boot.spi.XmlMappingBinderAccess.(XmlMappingBinderAccess.java:43) at org.hibernate.boot.MetadataSo...

2018-08-19 17:58:10 463

空空如也

空空如也

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

TA关注的人

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