- 博客(27)
- 资源 (3)
- 收藏
- 关注
原创 canal-adapter消费Kafka中MySQL的binlog数据,却没有同步更新Elastic search
canal-adapter消费Kafka中MySQL的binlog数据,却没有同步更新Elastic search
2022-03-18 10:08:23 3279
原创 面试问到DCL失效不知所措
单例模式很简单,就是在构造函数中多了加一个构造函数,访问权限是 private 的就可以了,这个模式是简单,但有时候简单的东西也很容易出问题。在高并发的项目中,每个请求都要创建同一个单例对象。如果没有控制好,创建了多个单例对象,那就会导致业务逻辑混乱,数据一致性校验失败等复杂的问题,而且难以排查。为了解决这一问题,我们可以使用双重检查锁实现单例模式。
2022-12-12 09:15:09 246
原创 自动保存上千本技术电子书
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。你怎么利用这种力量完全取决于你自己。它主要是为了测试目的自动化 Web 应用程序,但当然不仅限于此。
2022-12-10 14:12:23 316
原创 又是一个开发效率神器——Charles
Charles是一款Http代理监听工具,可以让开发者查看通过这个代理的所有连接信息,包括请求数据、相应数据和请求头等信息。
2022-12-09 13:24:01 314
原创 年终奖翻倍了,就因为用了Sonar
Sonar 大致分为IDEA 插件版本的SonarLint 和带有非常友好功能强大GUI 的SonarQube 代码质量平台,完全能满足我们的需求。并且Sonar 提供了面向gitlab、jekins、maven 的无缝对接支持,是当下最活跃热门的代码质量扫描工具。
2022-12-06 13:55:56 919
原创 Code Review 改进方案
一个项目的质量通常分为内部质量和外部质量两种,内部质量通常指代码和设计的质量,可以通过应用设计和编程达到最佳实践,也可以通过持续一致的开发和交付流程来提高;外部质量是通过查看和使用软件(例如验收测试)来度量的。从长远的角度看,内部质量不佳最终会影响外部质量,产品会持续不断地冒出新的bug,产生技术债务,而且开发时间会由于技术债务的增加而变长。项目的内部质量很大程度上取决于代码规范和代码审查(Code Review)。
2022-12-06 13:32:59 259
原创 使用EasyExcel导出表格时合并单元格
EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。他能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。
2022-12-06 10:14:19 8979 6
原创 RocketMQ源码学习:一、概述与部署启动
随着业务的快速发展,业务越来越复杂,服务之间相互调用形成复杂的控制关系、调用关系和数据传递关系。服务联系越多,耦合性越强。为了使服务高内聚低耦合,提高服务的高可用性,就需要对服务进行异步解耦。RocketMQ就是服务解耦的时候常用一种解决方案。RocketMQ是阿里开源的一个优秀成熟的产品,我们可以使用RocketMQ作为服务间异步通信的中间件。随着业务的并发吞吐量上升,也可以使用RocketMQ削峰限流。RocketMQ架构简单、支持多种业务场景,有很强的扩展性,在很多大厂都有成功的使用案例,是一个成熟可
2022-12-05 17:47:27 515
原创 MySQL索引知识点梳理
MySQL索引概念索引是数据库管理系统中一个经过排序的数据结构目的提高查询效率索引类型1、普通索引:经过设计的数据结构;2、唯一索引:唯一约束;3、主键索引(唯一索引的一种):唯一约束+非空约束;4、全文索引:创建的时候要制定索引长度。索引储存模型推演二分法查找有序数组链表二叉查找树(BST)能快速查出和插入缺陷:插入有序数组,会变成斜树,树的深度相差过大,查找效率很低平衡二叉树(AVL)左子树与柚子树的深度差绝对值不超过1,超过1的时候会自动左(右)旋Inn
2022-03-25 15:02:56 1078
原创 打包elasticsearch-analysis-pinyin 插件特定版本方法
打包elasticsearch-analysis-pinyin 插件特定版本方法背景安装Elastic search后,需要安装对应的插件,es版本太多,可能找不到对应的版本,可以根据自己的需要打包特定的版本。步骤1、下载插件源码https://github.com/medcl/elasticsearch-analysis-pinyin/2、用idea打开项目3、如果有报错就处理项目报错问题,没有则跳过1)2)、鼠标放到报错的地方,根据提示处理报错问题4、修改版本号5、使用mvn
2021-12-07 14:51:47 1465 1
原创 汉诺塔解法
汉诺塔解法个人总结:按顺序标号(①、②、③、④、⑤)规则:1、一次只能移动一个2、大不压小规律:1、奇数步一定是移动最小的那个①2、偶数步移动剩下可以移动的那个盘3、①移动方向要固定,一直往左或一直往右,例如A->B,B->C,C->A,A->B,B->C…(方向决定最后的移动位置)4、方向:①一直往右的话,若是奇数个盘则最终所有盘从A->B,若偶数个盘则最终所有盘从A->C,若要改变位置,则改变①的移动方向最少步数:2个圆盘的时候是3次 =
2021-08-13 16:09:59 5226
原创 mysql分组和排序同时使用时查询数据异常
问题背景:每个地点每天新增一条数据,要根据地点分组查询出每个设备最新的数据(按创建时间倒序)。数据库结构:CREATE TABLE `ecord` ( `Id` varchar(32) NOT NULL COMMENT 'Id', `Addr_Id` varchar(32) DEFAULT NULL COMMENT '地址Id', `Create_Time` datetime DEFAULT NULL COMMENT '创建时间') ENGINE=InnoDB DEFAULT CHARS
2021-08-10 16:25:20 526 1
原创 通过Logstash复制MySQL数据到ElasticSearch
docker部署es// docker启动esdocker run -d --name es -p 9200:9200 -p 9300:9300 -v D:\work\iio\dockerFile\es\data:\usr\share\elasticsearch -e "discovery.type=single-node" -m 512M docker.elastic.co/elasticsearch/elasticsearch:7.11.2参数说明-d: 后台运行容器,并返回容器ID;-i:
2021-04-25 11:24:26 107
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人