自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于 mybatis-plus 的空集合拦截器

有这么一个场景比如说现在有两个表,一个员工表,一个部门表,员工表内含有部门 code 字段CREATE TABLE `employee` ( `id` bigint NOT NULL COMMENT '主键', `name` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '员工姓名', `dept_code` varchar(32) COLLATE utf8mb4_general_ci DEFAULT NULL

2022-03-25 17:28:55 1858 4

原创 GIT 撤销与回滚

git 相信大家都会用,但是大家有没有遇到过,不小心把不该提交的文件 commit 了小编整理了一些我在开发中常见的使用场景,供大家参考场景一糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作这种场景称为撤销1 文件被修改了,但是还没有 git addgit checkout fileName# 或者直接撤销当前目录下的全部文件git checkout .2 对文件执行了 git a...

2022-03-23 16:38:14 2909 1

原创 CompletableFuture 使用及应用场景

JDK1.8 之前,我们会通过 Future 和 Callable 采用轮询来实现异步获取结果//定义一个异步任务Future<String> future = executor.submit(()->{ Thread.sleep(2000); return "hello world";});//轮询获取结果while (true){ if(future.isDone()) { System.out.println(fut

2022-03-05 15:03:11 5536 2

原创 git 远程操作:git push

git 相信各位都用过,但是工作中常用的命令就那么几个,下面是我在日常开发中,对 git push 的用法的一个整理,希望能帮到大家1 推送本地分支到远程分支git push <远程主机名> <本地分支名>:<远程分支名>如以下命令代表:将本地master分支推送到origin主机的master分支。git push origin master:master2 省略远程分支名(最常见)表示将本地分支推送到与之存在追踪关系的远程分支(..

2022-02-15 13:59:32 1755 1

原创 GeoJSON初探

最近在做数据可视化的时候,提到了一种 GeoJSON 格式的数据,在此进行一下梳理。1 简介GeoJSON是一种对各种地理数据结构进行编码的格式。GeoJSON对象可以表示几何、特征或者特征集合。GeoJSON支持下面几何类型:点、线、面、多点、多线、多面和几何集合。GeoJSON里的特征包含一个几何对象和其他属性,特征集合表示一系列特征。一个完整的GeoJSON数据结构总是一个(JSON术语里的)对象。在GeoJSON里,对...

2022-02-11 14:22:40 2720

原创 SpringBoot @Transactional

这几天在工作过程中,出现了@Transactional 注解没有生效的情况。于是打算系统的整理一下。1 什么是 @Transactional声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。2 如何使用 @Transactional@Transactional(rollbackFor=Exception.class)如果加了这个注解...

2022-02-11 10:30:55 1642 3

原创 SpringCloud Gateway (4)动态路由

配置网关路由一般有两种方式application.yml 中配置routes: #路径匹配 - id: demo-server uri: lb://demo-server predicates: # 这样写方便后面理解 - name: Path args: pattern: /api/hi/** filters: - name: RewriteP...

2022-02-08 14:02:33 2538

原创 SpringCloud Gateway (3)服务注册与发现

以 Eureka 作为服务注册中心,通过 gateway 网关转发所有服务整体项目结构如下: 模块名 端口 功能 demo-eureka 8760 注册中心 demo-gateway 8761 网关服务 demo-server ...

2022-01-26 14:45:30 651

原创 SpringCloud Gateway (2)三个重要概念

在SpringCloud微服务体系中,有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关;但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是SpringCloud Gateway1 SpringCloud 核心概念Spring Cloud GateWay 最主要的功能就是路由转发,而在定义转发规则时主要涉及了以下三个核心概念,其中 Route 和 Predicate 必须同时声明。Rout...

2022-01-26 14:40:50 192

原创 SpringCloud Gateway (1)入门

1 网关的由来单体应用拆分成多个服务后,对外需要一个统一的入口,解耦客户端和内部服务2 网关的基本功能网关的核心是路由转发,让请求快速转发到后端服务上还能做熔断,限流,认证,日志监控等...

2022-01-26 14:36:16 444

转载 map中的 lambda 操作

putIfAbsent和computeIfAbsent都是在key不存在的时候才会建立key和value的映射关系;putIfAbsent不论传入的value是否为空,都会建立映射(并不适合所有子类,例如HashTable),而computeIfAbsent方法,当存入value为空时,不做任何操作当key不存在时,返回的都是新的value(为什么不说新插入的value),即使computeIfAbsent在传入的value为null时,不会新建映射关系,但返回的也是null; comp...

2022-01-09 13:16:22 585

原创 【shenyu网关学习】1.什么是 Apache ShenYu

1.什么是 Apache ShenYu这是一个异步的,高性能的,跨语言的,响应式的API网关。支持各种语言(http 协议),支持 Dubbo、 Spring Cloud、 gRPC、 Motan、 Sofa、 Tars 等协议。 插件化设计思想,插件热插拔,易扩展。 灵活的流量筛选,能满足各种流量控制。 内置丰富的插件支持,鉴权,限流,熔断,防火墙等等。 流量配置动态化,性能极高。 支持集群部署,支持 A/B Test,蓝绿发布。 架构图...

2022-01-09 12:28:55 4435

原创 熔断,降级与限流

1 熔断1.1 什么是熔断相信大家对断路器并不陌生,它就相当于一个开关,打开后可以阻止流量通过。比如保险丝,当电流过大时,就会熔断,从而避免元器件损坏。服务熔断是指调用方访问服务时通过断路器做代理进行访问,断路器会持续观察服务返回的成功、失败的状态,当失败超过设置的阈值时断路器打开,请求就不能真正地访问到服务了。1.2 断路器断路器有3种状态: CLOSED:默认状态。断路器观察到请求失败比例没有达到阈值,断路器认为被代理服务状态良好。 OPEN...

2021-12-22 11:30:33 1158

原创 从Apache Log4j漏洞 到 SpringBoot 日志

由log4j2漏洞引发的衍生及思考

2021-12-14 11:31:55 922 5

原创 从零搭建秒杀系统

从零搭建秒杀系统

2021-12-10 14:40:40 2455 5

原创 布隆过滤器

前段时间和小伙伴讨论 redis 在实际生产中的应用,提到了布隆过滤器 。于是做了一些功课...

2021-12-06 10:23:44 565

原创 消息中间件(RabbitMQ,RocketMQ及Kafka对比)

1 简介说到消息中间件,我想大家应该并不陌生,或多或少都有所接触。其实通俗的理解就是,消息中间件也就是一种开发好的系统,并且独立部署,然后我们业务系统通过它来发消息和收消息以至于达到异步调用的效果。而消息中间件最常见的实现方式是通过队列来实现,也就是所谓的消息队列(Message Queue),简称 MQ。2 功能2.1 异步消息队列最初设计的目的就是为了解决异步请求。假设有两个系统A和B,其中A系统处理业务大概需要 10 毫秒,而B系统处理业务需要1...

2021-11-17 13:32:58 1644

原创 SpringBoot + elk

1 elk 简介Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。 Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。2 部署elk.

2021-10-12 10:09:25 478

原创 记录一次idea启动失败

前言 事情的起因是这样的。那天我还是像往常一样撸代码,突然看到 idea 有个 Run with Java Flight Recorder 的选项。出于好奇心,我百度了下,大致的意思是这是一个监控工具,需要在 vm options 中添加-XX:+UnlockCommercialFeatures 配过 java-agent 代理的对这个配置应该并不陌生,很快便找到并添加了上述配置 ...

2021-09-24 11:00:57 841 1

原创 SSH 详解(实践及应用)

目录1.SSH 基本知识2.SSH 客户端2.1 安装2.2 基本用法2.3 命令行配置项2.4 配置文件3 SSH 密钥3.1 密钥生成3.2 公钥上传4 SSH 代理4.1 动态转发4.2 本地转发4.3 远程转发4.4 实际运用5 SCP命令5.1 本地复制到远程5.2 远程复制到本地5.3 两个远程系统间的复制6 Rsync 命令6.1 安装6.2 基本用法6.3 远程同步本地同步到远程服务器远程服务器.

2021-08-21 11:49:31 19173

原创 SpringBoot 全局异常处理

前言异常,一个开发人员再熟悉不过的名词,除数不能为 0 的异常,IO 异常,数组下标越界异常,操作数据库的 sql 异常,以及让所有程序员都头疼的 NPE 本文就来谈谈,SpringBoot 和异常的那些事儿正文java 异常分类 java 中主要存在两种类型的异常检查性异常:是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。 运行时异常:运行时异常是可...

2021-08-14 11:18:17 1347 4

原创 win10 之 terminal

继上篇了解了 powershell 之后,这会儿又学到了 windows terminalwindows 安装 terminal可以理解为集成了多个命令终端,统一管理。默认界面是酱婶的然后经过网友指点,经过一连串稀里糊涂的配置,最后是酱婶的好,赶紧拿上和小伙伴们装个杯.最后附上配置文件:命令行的配置 { "acrylicOpacity": 0.5, // 透明度 "altGrAl.

2021-07-24 12:26:23 1084

原创 win10 之 powershell

前言大家可能遇到过这样的问题,同事,朋友来家里做客,

2021-07-24 10:45:20 549

原创 钉钉,浙政钉,专有钉钉 h5 免登 demo

前言开始之前,先简单介绍下 "钉钉家族"钉钉 是阿里巴巴集团专为中小企业打造的沟通和协同的多端平台。浙政钉 为规范浙政钉整体架构体系,按照统分结合原则,由省政府办公厅统一设计整体工作界面和系统框架,统筹指导全省统建应用建设,各单位根据自身业务特点分别建设自建应用,最终形成全省统一的政府系统掌上协同办公平台。浙政钉 1.0 钉钉上的一个特殊组织架构。浙政钉 2.0 根据2020年浙江省深化“最多跑一次”改革推进政府数字化转型工作要点,为实现基本建成“掌上办公之省”年度工作目标,省大数据局.

2021-07-23 14:39:53 4525

原创 idea springboot 一键部署(Docker Compose 篇)

继上篇 Dockerfile 部署后,又尝试了一下 Docker Compose 的方式部署还是部署之前的 SpringBoot 项目1 编写 Docker Compose 文件 可以采用先打成镜像的方式,我这边采用的是本地 jar 包直接启动的方式app.ymlversion: '3.7'services: app_compose: image: openjdk:8-alpine working_dir: /app volu...

2021-07-17 13:15:14 2111 2

原创 idea springboot 一键部署(Dockerfile 篇)

最近换了新的工作电脑,需要重新搭环境。之前 IDEA 一直没敢升级,趁此机会,就升级试试吧。升级到 2021.1 版然后装插件的时候,发现默认安装了好多插件,其中有一个就是 dockerdocker 相关的介绍我就不在这赘述了, 我这边准备了一台开放了 docker 远程 api 端口 (默认是 2375)的测试机。开启我们的一键部署之旅吧!1 创建一个 SpringBoot 项目简单新建一个 Controller,返回 hello + 输入字符串@Re..

2021-07-17 10:27:24 666

原创 微信订阅消息

最近开发微信小程序,需要发送微信消息通知,遇到了不少坑,在此记录1 一般我们的消息都是一次性订阅。什么是订阅呢,就是微信要给用户推消息,首先得征得用户同意,即用户订阅微信消息。那一次性订阅呢,就是每次推送消息前都需要询问用户是否接收该消息。相对应的呢,就是长期订阅。就像订报纸杂志,你可以订一年的,那么之后一年里每天都会有人往你邮箱里送报纸杂志。当然微信也支持长期订阅,不过需要一定的资质,或者额外出钱购买模板。那如果没有资质,也不想支付这部分费用怎么办呢。目前给出的方式就是把.

2021-07-08 16:41:23 916

原创 一个字符串比较函数引发的思考

文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下...

2021-06-20 14:05:46 113

原创 批量修改文件内容(Python版)

目录前言一、为什么选择 python二、使用步骤1.搜索2.替换3 整合4 脚本使用前言接上文批量修改文件内容一、为什么选择 python近年来 Python的使用率越来越高,甚至热度已经超过了 java 相比 shell 脚本,python 语法简单,更容易阅读,内置了许多第三方模块可供使用 相比 java 等其他语言,python 易于发布部署,更适用于一些日常脚本的编写二、使用步骤1.搜索采用递归的方式,遍历目录下的所有文件...

2021-06-18 15:03:16 2614 1

原创 批量修改文件内容

前言一、git 远端地址修改二、shell 脚本1.find命令2.sed 命令3.结果总结前言最近由于安全原因,公司修改了内网 git 的域名地址,说是这周五要关闭原域名。这也就意味着,之前所有的项目都需要修改 git 远端的地址。一、git 远端地址修改网上看了下,可以通过修改本地项目代码目录下面的.git/config文件里的url,完成 git 远端地址的更新。看着这将近两个 G 的文件夹,我陷入了沉思。这么多项目,少说也得花 1...

2021-06-17 19:28:33 485 1

原创 记录一次java异步任务

目录前言一、什么是异步任务二、SpringBoot + Async三、踩坑日记四、解决五、总结前言最近在开发中遇到一个埋点的需求,考虑到不能影响原有业务逻辑,于是准备写一个异步任务去异步执行,但在 debug 的过程中却发现了一个奇怪的问题。一、什么是异步任务无论是生活中还是程序里,大体可以分为两种 : 同步和异步。同步:比如你去吃海底捞,你要先点锅底,再点菜,然后服务员上锅底,再上菜,最后你才能吃上菜,这一过程得按顺序来。异步任务:还...

2021-06-06 18:26:54 107 1

原创 基于MBP的代码自动生成插件

目录前言一、mybatis-plus 是什么?二、代码生成工具1GlobalConfig2DataSourceConfig3PackageConfig4StrategyConfig5TemplateConfig6InjectionConfig三、MAVEN插件开发四、使用方式1下载安装2 引入3 配置文件前言 工欲善其事必先利其器,今天我们介绍的主角是旨在 简化开发 的 mybatis-plus一、my...

2021-06-02 23:51:09 326 2

原创 我的第一篇文章

试试水,我的第一篇文章。

2018-05-05 09:34:04 77

总结各类排序方法

总结各类排序方法。排序问题一直是计算机技术研究的重要问题,排序算法的好坏直接影响程序的执行速度和辅助存储空间的占有量。此代码将详细分析常见的各种排序算法,并从时间复杂度、空间复杂度、适用情况等多个方面对它们进行综合比较

2018-05-05

空空如也

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

TA关注的人

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