自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

南客先生的博客

坚持并不能说明什么,但一定很酷~

  • 博客(39)
  • 收藏
  • 关注

原创 不想引入MQ?不妨试试 Debezium

这么多技术框架,为什么选debezium?看起来很多。但一一排除下来就debezium和canal。sqoop,kettle,datax之类的工具,属于前大数据时代的产物,地位类似于web领域的structs2。而且,它们基于查询而非binlog日志,其实不属于CDC。首先排除。flink cdc是大数据领域的框架,一般web项目的数据量属于大材小用了。同时databus,maxwell相对比较冷门,用得比较少。「最后不用canal的原因有以下几点:」

2023-09-26 09:51:14 226

原创 常用优化重复冗余代码的8种方式

日常开发中,我们经常会遇到一些重复冗余的代码。大家都知道重复代码不好可维护性差、可读性差、增加错误风险等等。最近呢,我优化了一些系统中的重复代码,用了好几种的方式,感觉挺有用的。所以本文给大家讲讲优化重复冗余代码的几种方式~抽取公用方法抽个工具类反射泛型继承和多态设计模式函数式LambdaAOP切面使用AOP框架可以在不同地方插入通用的逻辑,从而减少代码重复。

2023-09-15 09:56:11 182

原创 springboot/cloud版本升级常见问题和文档

spring-boot-starter-parent:在2.4.0之前使用的测试引擎为JUnit 4,在2.4.0 版本已经升级到 JUnit 5 了,需要排除JUnit 4的引擎。版本对照链接:https://spring.io/projects/spring-cloud#overview。junit-vintage-engine 和 junit-jupiter-engine 有什么不同?完整Test类:JUnit 5中不需要@RunWith注解了。

2023-07-21 16:32:21 436

原创 Restful API返回文件流

这段代码会返回一个带有文件内容的响应,浏览器会将其作为文件下载。你也可以根据需要自定义响应头,例如设置文件名称、内容类型等。在 Spring Boot 中返回文件流,可以使用 ResponseEntity 类。

2023-07-12 13:03:38 2670 1

原创 【nacos优化】定时删除access日志

​ 按理说 Nacos 作为服务注册中心,不会应该会产生太多日志的,本身涉及的服务也不多,但几天就会产生 1G 以上的日志,的确有点疯狂。这篇文章就聊聊 Nacos 的日志系统。经过排查,其中输出最多的日志为 /usr/local/nacos/bin/logs/access_log.yyyy-mm-dd.log 格式的日志。

2023-03-30 09:54:58 1949

原创 redis哨兵集群

redis哨兵集群搭建

2022-11-01 17:40:38 916

原创 Linux共享文件

LINUX共享文件操作,可解决分布式文件服务共享问题

2022-10-21 14:16:12 812

原创 update会锁表吗?

update锁表锁行问题

2022-10-20 10:59:14 1171

原创 keepalived IP漂移

mysql主备IP漂移

2022-08-22 16:48:38 1288

原创 mysql主备集群(高可用)

MySQL主备方案集群(高可用)

2022-08-22 16:44:02 701

原创 我对价值投资的思考(二)

我对投资的思考

2022-06-11 16:19:48 2514

原创 解决使用yum安装软件时出现GPG-Key的问题

解决使用yum安装软件时出现GPG-Key的问题

2022-06-07 14:58:39 3526

原创 docker部署rabbitmq出错touch: cannot touch ‘/etc/rabbitmq/rabbitmq.conf‘: Permission denied

解决rabbitmq部署报错权限不足问题

2022-06-06 19:27:40 1449

原创 Centos下docker/docker-compose离线安装

Centos下docker/docker-compose离线安装

2022-06-02 17:46:09 1438

原创 Java使用MongoTemplate操作MangoDB,实现根据时间等条件组合查询,解决ISODate的问题

Java和Mongo中的Date比较Java中的Date:“createTime” : “2018-09-13 14:04:05”),MongoDB中的Date: “createTime” : ISODate(“2018-09-13T14:04:05.268Z”),MongoDB中的日期格式 是 UTC 通用标准,格式为"yyyy-MM-dd HH![:mm:](https://www.webpagefx.com/tools/emoji-cheat-sheet/graphics/emojis/mm.p

2022-05-26 10:04:31 4014 3

原创 防火墙阻止了从docker容器到外部的网络连接

防火墙阻止了从docker容器到外部的网络连接对我来说,这是一个非常标准的设置,我有一台ubuntu机器运行docker和ufw作为我的防火墙 .如果我的防火墙启用,则docker实例无法连接到外部$ docker exec -it nacos /bin/sh // 进入nacos容器中WARNING: Docker detected local DNS server on resolv.conf. Using default external servers: [8.8.8.8 8.8.4.4]

2022-04-20 11:37:10 3114

转载 JMeter测试websocket

在一个网站中,很多数据需要即时更新,比如期货交易类的用户资产。在以前,这种功能的实现一般使用http轮询,即客户端用定时任务每隔一段时间向服务器发送查询请求来获取最新值。这种方式的弊端显而易见: 有可能造成数据更新不及时,如果前端轮询频率为5s,也许数据在这5s内已经更新多次了。有可能对数据库造成额外压力,例如一个用户资产长时间不变化,但客户端还是要定时去查询,这种无意义查询占比相当高,对服务器造成不必要的压力。要经过请求和响应两次交互,增加了耗时,而且http请求可能携带大量的header信息,增加网络

2021-11-15 15:18:40 7693

原创 《价值》读书笔记

价值自序:这是一条长期主义之路第一部分:寻找价值的历程第一章:价值的底色第二章:价值投资启蒙第三章:价值投资初试炼价值投资的哲学与修养第四章:价值投资方法与哲学第五章:价值投资者的自我修养第三部分:价值投资的创新框架第六章:与伟大格局观者同行第七章:持续创造价值的卓越组织第八章:产业变革中的价值投资第九章:价值投资的实践探索第十章:永远追求丰富而有益的人生自序:这是一条长期主义之路在纷繁嘈杂的世界中,变化可能是唯一的永恒的主题。究竟怎样才能在这样的世界中保持心灵的宁静?作为一名投资人,究竟怎样才能找到

2021-11-14 18:38:30 1708

原创 mysql执行计划

​ 在企业的应用场景中,为了知道优化SQL语句的执行,需要查看SQL语句的具体执行过程,以加快SQL语句的执行效率。​ 可以使用explain+SQL语句来模拟优化器执行SQL查询语句,从而知道mysql是如何处理sql语句的。​ 官网地址: https://dev.mysql.com/doc/refman/5.5/en/explain-output.html执行计划中包含的信息ColumnMeaningidThe SELECT identifie

2021-11-01 10:27:36 93

原创 MyBatis之动态SQL

MyBatis 的强大特性之一便是它的动态 SQL。ifchoose, when, otherwisetrim, where, setforeachbind多数据库支持动态 SQL 中的可插拔脚本语言if<select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WHERE state = ‘ACTIVE’ <if test="title != null"> AND titl

2021-10-29 13:45:40 124

原创 常用的IDEA插件,个个都是精品

总结了平时工作中常用的12款IDEA插件,后端和前端的都有了,附上我的使用技巧,看完之后开发效率杠杠的![Lombok]Lombok为Java项目提供了非常有趣的附加功能,使用它的注解可以有效的地解决那些繁琐又重复的代码,例如 Setter、Getter、toString、equals、hashCode 以及非空判断等。举个例子,我们给一个类添加@Getter和@Setter注解:/** * 修改订单费用信息参数 * Created by macro on 2018/10/29. .

2021-10-25 10:04:33 1812

原创 lombok常用注解

引入pom中依赖:<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version></dependency>Lombak使用@Data@Data最常用的注解之一。注解在类上,提供该类所有属性的getter/setter方法,还提供了e

2021-10-22 14:15:13 348

原创 SpringBoot常用注解总览

SpringBoot常见注解总览一、启动类注解@SpringBootApplication:等价于@Configuration+@EnableAutoConfiguration+@ComponentScan@EnableAutoConfiguration:开启自动配置功能,自动根据导入的依赖来自动配置项目。@ComponentScan:该注解标识的类,会被 Spring 自动扫描并且装入bean容器。@Configuration:定义配置类,被注解的类内部包含有一个或多个被 @Bean 注解的方

2021-10-22 11:48:10 1116

原创 我对价值投资的思考(一)

时过境迁,我做基金投资已经一年之久了,说实话,时间确实能让人成长和认识这个世界的变化,通过这一年的市场变化。我确实从中了解到了一些热门行业、企业的护城河等很多投资概念。长期卧倒不动、定投路线心理学研究:选择比努力更为重要!在选择某只基金的时候,根据自己的风险能力程度筛选出来的基金都是表面的,必须往更深的领域去研究它。比如:基金经理、当前基金的规模、选择的标的、标的的换手率、所关联企业的护城河…一系列的问题映射出来了。真的,选择一只自认为好的基金很容易,但是内在的好相当难。在研究了这些问题之后.

2021-10-21 15:08:39 11266

原创 自动化脚本构建镜像

SpringBoot+Jenkins自动化部署技巧,远程部署同样适用,附通用自动化脚本!本文将从半自动化部署讲起,到自动化部署,讲解一套生产环境切实可用的自动化部署方案!半自动化部署之前写过的SpringBoot应用打包Docker镜像都是通过Maven插件来实现的,由于远程服务器需要开发2375端口,存在一定的安全隐患。这次介绍另一种方法,使用DockerFile+Jar+自动化脚本的形式来部署。由于需要一定的手动操作,我把它称之为半自动化部署。项目打包这次我们不使用Docker的Mav.

2021-10-18 15:14:26 270

原创 Spring boot 2.0 mongoTemplate 操作范例

1.1. 导入与模板相关的包import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.core.query.Criteria;import org.springframework.data.mongodb.core.query.Query;import org.springframework.data.mongodb.core.query.Update;

2021-08-27 17:17:59 562

原创 数据结构 - 二叉树学习笔记

树是一种重要的非线性数据结构。它既能像链表那样快速的插入和删除,又能像有序数组那样快速查找。二叉树是每个节点最多有两个子树的有序树。通常被称作为左子树和右子树。如果一个二叉树的每个节点的左子节点的值小于该节点,右子节点的值大于等于该节点,那么这种二叉树也称为二叉搜索树(Binary Search Tree,BST),本次学习主要关注BST。二叉树图例:二叉树算法的排序规则:1、选择第一个元素作为根节点2、之后如果元素大于根节点放在右子树,如果元素小于根节点,则放在左子树3、最后按照中序遍历的方式

2021-06-21 22:30:45 172

原创 Java基础知识回顾--数据结构--链表(三)

链表数据结构定义概念:一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据(可理解为纵向存储),而是在每一个节点里存的是下一个节点的指针(pointer)public class Linked { public static void main(String[] args) { NodeManager node = new NodeManager(); // 添加节点数据 node.add(1); node.ad

2021-06-07 22:38:00 56 1

原创 Java基础知识回顾(二)

1.抽象类应用-模板方法模式(Templete)概念:定义操作中的算法的骨架,而将一些可变部分的实现延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。public class TempleteMode { // test invoke public static void main(String[] args) { Manager m = new UserManager(); m.action("admin","ad

2021-06-06 21:08:15 108

原创 Java基础知识回顾(一)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2021-06-05 13:54:36 89

原创 一文学会Canal数据同步技术

Canal介绍Canal是阿里旗下的一个开源的数据同步工具,使其可以在微服务项目中降低程序的耦合度,达到提升效率的工具。下面看下它的介绍:*应用场景在微服务项目大部分功能中,我们采取了服务调用获取相应需要的数据,这样耦合度高,效率相对较低,目前我采取另一种实现方式,通过实时同步数据库表的方式实现,例如我们要统计每天注册与登录人数,我们只需把会员表同步到统计库中,实现本地统计就可以了,这样效率更高,耦合度更低,Canal就是一个很好的数据库同步工具。canal是阿里巴巴旗下的一款开源项目,纯Java

2020-08-23 12:06:05 549

原创 JDK8中新特新lambdaQueryWrapper中常用方法

2020-08-17 18:11:03 5511 1

原创 彻底解决 Intellij IDEA 卡顿 优化笔记

在工作的这些天使用的IDEA,我发现这玩意好用,但特别占内存导致变卡!1.解决卡顿这个很重要,否则你每敲一行代码就卡你一下午的滋味真的不好受,首先你要有8G内存,没有8G内存的话,下面的应该也有用。但是我还是建议开发起来上8G好一些。(1)File-Settings-Editor-General- 去掉 show quick doc on mouse move(2)File-Settings-Perferences->Inspections,点Copy,复制一份,名称任意。然后点击下面工具栏

2020-08-03 14:17:44 41930 10

原创 CentOS7系统安装步骤

概述CentOS7各版本系统安装过程基本一致,本文使用CentOS7.5镜像进行系统安装,希望对广大读者有所帮助!一、虚拟机软件常用的虚拟机软件:windows系统常用VMware workstation、Virtual box等软件,macOS系统建议使用VMware fusion软件。此次安装过程采用VMware workstation 软件的12 PRO版本。二、获取镜像可从以...

2020-04-30 18:20:54 699

原创 Docker方式启动tomcat,访问所有首页节点都出现404错误!

错误描述 :在docker启动tomcat节点(版本是从阿里云上拉下的9.0-version)时,访问tomcat首页时出现404错误,在网上找了许多教程,也没有解决,最后在视频讲解中查看到了问题(不知道是不是我拉下来版本的问题,因为我看有些人的就没有问题! )解决~ :使用命令: docker exec -it 运行的tomcat容器ID /bin/bash 进入到tomcat的容器目录中...

2020-04-30 17:42:32 192

原创 nginx实现反向代理和负载均衡,配置动静分离

概述百科诉说:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的, 第一个公开版本0.1.0发布于2004年10月4日。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子...

2020-04-26 16:57:14 263

原创 Docker安装Linux中 -

概述Docker是一个开项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会,遵从了Apache2.0协议,项目代码在GitHub上进行维护。Docker自开源后受到广范的关注和讨论,以至于dotCloud公司后来都改名为Docker Inc。RedHat已经在其RHEL6.5中集中支持Docke...

2020-04-10 16:08:21 115

原创 【Spring Boot2.x】整合redis、mybatisPlus这篇文章就够了【真实开发环境实用】

概述 - 采用springboot2.2.4.RELEASE版本,采用lettuce对redis进行整合,并且使用mybatisPlus实战 - - 源码地址:https://github.com/Blithe0/CmsServer-master.git一、添加相关依赖// An highlighted block <!-- redis --> &...

2020-03-25 22:39:02 710

原创 【MySQL优化之如何慢查询?】

【MySQL优化之定位慢查询】定位慢查询问题:查找、定位慢查询,并优化:怎么查找慢查询?**在项目自验项目转测试之前,在启动mysql数据库时开启慢查询,并且把执行慢的语句写到日志中,在运行一定时间后。通过查看日志找到慢查询语句。显示慢查询:show variables like '%slow_query_log%'; 查询是否开启慢查询set global slow_query_...

2020-03-23 15:33:16 112

空空如也

空空如也

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

TA关注的人

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