自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 微信测试公众号申请及开发小记

第二次开发微信公众号了,这次正好记录下一些链接地址。

2024-04-25 15:48:28 223

原创 数据库表结构导出成Excel或Word格式

数据库表结构导出成Excel或Word格式

2023-11-24 17:01:36 603

原创 java实现字典回写

通过切面的方式在controller层返回数据的时候动态增加字典值字段,更优雅的完成字典回写

2023-09-27 14:24:37 297

原创 Mysql按小时进行分组统计数据

Mysql按小时进行分组统计数据

2023-08-10 11:16:11 1059

原创 java适配达梦数据库

达梦数据库适配

2023-06-25 17:01:34 2318

原创 Java生成pdf文件并转为图片

Java生成pdf文件,pdf转图片

2023-06-02 14:29:54 1314 2

转载 【腾讯】Java安全编程指南

Java安全编程指南

2023-02-17 10:53:57 542 1

原创 jpa在定时任务中执行失败-TransactionRequiredException

jpa在定时任务中执行失败问题排查与解决

2023-01-29 16:01:30 935

原创 Kaptcha 图片验证码使用

Springboot 整合 Kaptcha 图片验证码使用

2022-12-26 16:18:43 493

原创 idea下合并两个仓库代码

idea下合并两个仓库代码,cherry-pick 使用方式

2022-11-09 16:43:49 1566

原创 Kafka消费异常报Failing OffsetCommit request since the consumer

一次kafka重复消费解决过程总结

2022-10-21 15:50:23 1621

原创 数据库版本管理工具 Flyway 使用

Flyway是一款开源的数据库版本管理工具,使用简单,应用无侵入。面向 SQL,选择 Flyway不面向 SQL,选择 Liquibase。

2022-10-08 16:03:44 5265

原创 线上Mysql数据库被黑客删除勒索

目录前言删库事件过程后续删库流程安全防御总结距离黑客删库到数据恢复已经过去了几天了,悬着的心总算放了下来,因为数据丢失差一点点就要吃”国家饭“去了...人生第一次遭遇删库还是有必要记录下的哈哈哈这是我嫂子公司当初接下的一个外包项目,我后来去帮过忙,其线上所使用的服务器为阿里云服务器,然后mysql,nginx,java,py脚本全部署在一起,然后上周服务突然无法访问,看到日志抛出数据库连接异常,当下就感觉不对劲,连忙检查数据库发现业务库已经木得了,取而代之的是黑客留下的一份勒索信息 有生之年竟然能遇到删库

2022-07-07 11:05:08 2144 5

原创 mysql字符串分割多列展示

目录前言函数介绍substring_indexlengthsql 举例前言由于某些特殊需求,需要直接从数据库中取数据交给甲方自己处理,因此对一些特殊字符串进行处理,比如 1|2|3|4|5 ,代表五个层级id,但是现在需要将这一个字段拆成五个列展示,这时候就需要用到 mysql 的字符串分割函数了,示例 sql 主要用到了 case when 、length、substring_index,本文重点便是 substring_index函数介绍substring_index

2022-01-19 12:40:06 3477

原创 poi多线程导出

目录前言poi导出问题优化背景优化思路代码实现前言几年前就想记录下关于导出的东西,正好最近又遇到了数据量偏大,需要优化导出的一个项目,这里稍微记录下思路,以及一些垃圾代码~poi导出问题查询数据量过大,导致内存溢出或者时间耗时比较严重(通过多线程分批查询) 最后下载的时候excel转换的输出流内存溢出(可通过新版的SXSSFWorkbook解决,可通过其构造函数指定在内存中缓存的行数,剩余的会自动缓存在硬盘的临时目录上)优化背景项目中的导出实际上已经优化过一版了,

2021-12-23 16:52:28 2210

原创 微信公众号迁移方案

目录前言腾讯迁移openid转换关于unionid注意事项前言迁移总共分为两个步骤,一个是腾讯方面完成两个公众号的数据迁移,另外一个是完成数据库中openid的转换腾讯迁移大概步骤如下:提前准备阶段,需针对申请公函在当地公证机关进行公证,一般1-2个工作日出具公证结果; 提交帐号迁移申请后,会由专业第三方审核机构进行审核,审核时间为1-3个工作日; 审核通过后,双方管理员确认同意迁移。确认迁移后,系统马上冻结原账号并下发通知给原账号粉丝,粉丝在1天内有选择是否取关

2021-12-22 16:54:38 2193

原创 跨域测试与解决

目录前言浏览器的同源策略如何允许跨域访问如何验证后端服务是否跨域java后端支持跨域配置前言一直想写的一个自用cv工程一直懒得写,本文主要目的是存放java后台开启跨域配置代码,用于复制,顺便整理一下笔记中的跨域内容浏览器的同源策略同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互,这是一个用于隔离潜在恶意文件的重要安全机制如果两个页面的协议、域名和端口均一模一样,则认为两个页面具有相同的源,下表给出相对http://store.comp

2021-12-17 13:32:44 3332

原创 mac安装pip

目录前言安装安装后前言pip是常用的python包管理工具,虽然mac自带了2.7的python,但pip需要我们手动安装,不过easy_install.py是默认安装的,因此我们可以使用他进行操作安装首先进入到python的路径下,可使用 where python 进行查找,然后执行如下命令:sudo python get-pip.py如果报错 No local packages or download links found for pip ,那么需要更新下本地 p

2021-11-29 10:56:48 19400 1

原创 Mybatis-plus打印完整执行sql

前言如果你恰好使用 Mybatis-plus 框架,那么在开发环境就不能错过它提供的 PerformanceInterceptor 插件,该插件能打印 sql 执行时间以及完整的 sql 语句,非常方便复制出来分析 sql使用这里使用的 Mybatis-plus 框架比较老,是 2.3 版本的,引入依赖,然后实例化 PerformanceInterceptor 插件即可,如下<dependency> <groupId>com.baomido.

2021-10-25 15:34:08 5150

原创 git 报错 LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443

github上的项目在进行 git pull 或 git clone 时出现该报错,在确认网络还行且能科学上网的前提下,列出如下解决方式:方法一:可能由于ipv6 引起,执行networksetup -setv6off Wi-Fi(第一次使用方法一时能解决,后面仍然会出现该报错再次使用失效,换方法二)方法二:执行git config --global --add remote.origin.proxy ""(若仍然不行则换方法三)方法三:执行git con.

2021-08-27 17:00:49 9137 6

原创 SpringBoot启动提示找不到或无法加载主类

最近遇到一个码云项目,clone 下来后其目录结构存在多层,即最外层的目录进去后并不是主项目工程(真是恶心),起初还能编译并顺利运行,但是在debug调试的时候发现调试点与代码总是对不起来,清了下缓存后就开始报如上错误。本文只是记录下我的解决方式:在 Modules 里把多余的目录删除掉就ok。...

2021-08-06 11:22:54 868

原创 浙政钉应用接入

一、申请入驻政务钉钉开放平台首先需要申请入驻政务钉钉开放平台上(https://openplatform-portal.dg-work.cn/portal/#/index),该平台主要用于联调测试,填写、上传相关信息后,经审核通过后,申请成功ISV租户二、接口开发联调测试首先需要自行在ISV租户内创建应用(文档参考:https://openplatform-portal.dg-work.cn/portal/#/helpdoc?docKey=ksrm&slug=xggle5),创建完...

2021-06-15 10:54:42 12328 2

原创 mac使用Fiddler实现ios抓包

一、什么是Fiddler?Fiddler是位于客户端和服务器端的http代理,是目前最常用的http抓包工具之一,它能够记录客户端和服务端之间的所有http请求,当然也支持https(下载证书即可)。既然是代理,也就是说:客户端的所有请求都要先经过Fiddler,然后转发到相应的服务器;反之,服务器端的所有响应,也都会先经过Fiddler然后发送到客户端。二、下载...

2021-06-08 14:51:10 1487 2

原创 Activiti6.0(十三)整合官方流程设计器

一、前言小公司为了快速使用可能没精力去自己开发一整套流程编辑器,因此我们可以整合官方自带的流程编辑器到项目中,这里假设你已经下载了Activiti6.0,若还没有前往系列二中自行下载。大致效果图如下:二、SpringBoot 整合若嫌麻烦可以直接访问我的 github :1、基础准备项目结构图:pom 依赖如下:<dependencies> <dependency> <groupId>org

2021-04-02 17:38:48 2490 2

原创 微信公众号授权绑定第三方应用

网页授权微信文档链接:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html这里的两个业务场景主要是通过静默授权实现,该授权链接只能在微信客户端打开,主要是依赖微信授权链接中的回调url来满足业务场景。第三方应用扫码绑定公众号前端首先根据微信的网页授权链接(回调页需要带上当前用户id)生成一个二维码,微信扫码后会自动去请求该链接,然后跳转到回调页面(该页面可展

2021-04-01 08:06:11 2840

原创 Liquibase的基本使用说明

介绍Liquibase是一个用于数据库重构和迁移的开源工具,通过日志文件的形式记录数据库的变更,然后执行日志文件中的修改,将数据库更新或回滚到一致的状态。它的目标是提供一种数据库类型无关的解决方案,通过执行schema类型的文件来达到迁移。其优点主要有以下:支持几乎所有主流的数据库,如MySQL, PostgreSQL, Oracle, Sql Server, DB2等; 支持多开发者的协作维护; 日志文件支持多种格式,如XML, YAML, JSON, SQL等; 支持多种运行方式,如命令行

2021-03-18 17:31:52 17583 2

原创 PostgreSQL常用SQL

目录授权查看重复索引显示每张表上的索引数据库中单个表的大小(不包含索引)查出所有表(包含索引)并排序最耗IO SQL,单次调用最耗IO SQL TOP 5总最耗IO SQL TOP 5最耗时 SQL,单次调用最耗时 SQL TOP 5总最耗时 SQL TOP 5响应时间抖动最严重 SQL最耗共享内存 SQL最耗临时空间 SQL重置统计信息授权GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN

2021-03-18 16:34:23 364

原创 redis+lua实现滑动窗口限流

前言关于滑动时间窗口算法以及更多限流实践请走:接口限流实践脚本主要是利用redis的有序集合(zset)来实现,计算前一秒内已访问的次数主要使用zcount命令来计算在当前集合中指定区间分数内的成员数,如果不使用lua脚本,各命令调用之间会存在并发隐患,而redis会将整个lua脚本作为一个命令执行,保证原子操作,无需担心并发,我们可以将所有计算逻辑均放在脚本内,脚本如下:local key = KEYS[1]-- 一个时间窗口限制数量local limitCount = tonumb

2021-02-04 14:10:57 1747 1

原创 SpringBoot+Mybatis多数据源实践

一、前言随着业务量增大,数据库性能终究会遇到瓶颈,因此需要将部分业务进行分库处理,同时部分查询需要切换到性能更好的数据库,如阿里云的数仓,因此便会遇到多数据源场景,当然此时不同数据源之间的事务一致性就格外重要,本文就记录下SpringBoot+Mybatis实现多数据源事务一致的小案例二、多数据源事务这里准备记录两种实现方式,以便日后查阅方案一主要思路就是不同的数据源管理指定路径下的mapper文件,同时使用不同的事务管理类来进行事务区分,依赖spring的默认事务传播行为实现,即spr

2021-01-23 15:07:44 382

原创 @Value和@ConfigurationProperties获取配置信息

目录前言配置读取@Value注解中"#{}"和"${}"区别前言在java项目中,我们可以通过以下几种常用方式获取并绑定配置文件中的信息:@Value注解 Spring的Environment类(可通过接口或直接注入方式获取,然后使用getProperty()方法) @ConfigurationProperties注解(SpringBoot下使用)@ConfigurationProperties是 Springboot 提供读取配置文件的一个注解,主要用于将配置文件中每个属性的

2021-01-23 11:41:36 635

原创 Elasticsearch 倒排索引

一、简介Elasticsearch 是建立在全文搜索引擎库 Lucene 基础上的搜索引擎,它隐藏了 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API,不过掩盖不了它底层也是 Lucene 的事实。Elasticsearch 的倒排索引,其实就是 Lucene 的倒排索引。二、为什么叫倒排索引在没有搜索引擎时,我们是直接输入一个网址,然后获取网站内容,这时我们的行为是:document -> to -> words通过文章,获取里面的单词,这便.

2021-01-16 14:21:20 1284

原创 记postgresql一次cpu飙升问题

一、前言前不久线上环境出现了一次postgresql的cpu飙升的生产故障,cpu飙到95%且高居不下,最后发现是迭代中改过的一段sql导致,虽然直到现在都还没想好怎么优化,但这边还是先记录下这次故障以及从这次故障中学习到的postgresql中的一些知识点。二、关于故障1、故障现象大部分操作加载缓慢,出现加载超时报错问题2、故障解决过程1、查看服务器告警及日志信息,cpu使用率持续上升,在10:10时接近百分百,数据库连接数超过所设阈值,引起应用响应缓慢2、分析数据库sql,发现

2020-12-21 21:00:44 2629 1

原创 接口限流实践

目录前言一、何为限流二、分布式限流/集群流控三、限流算法1、固定窗口计数器2、滑动窗口计数器3、漏桶4、令牌桶四、限流实践1、脚本编写2、执行限流前言目前我司采用的是网关层限流,即在 nginx 层就控制了每ip每秒仅能通过5次,主要是某部分接口调用实在太频繁,因此限制较为严格,且网关层限流太笼统,因此需要应用层也增加限流,日后可以放宽网关层限流频率,另一个问题是在ip的限制下,许多客户往往通过使用不同的ip来绕过该限制...一、何为限流接口限流是

2020-12-13 14:44:49 1099

原创 数据库分表实践

1、背景由于pg库单表数据量已经都过了千万级别,最大的已经到了8kw左右,由于数据量过大导致pg单表性能急剧下降,这背后的主要逻辑是数据量超过一定大小,B+Tree索引的高度就会增加,而每增加一层高度,整个索引扫描就会多一次IO,因此为了提升性能需要对这部分表需要进行分表操作,日后再根据业务功能将部分表进行拆分,完成分库操作。2、DB proxy与JDBC proxy既然需要做分表,那数据的分发、路由就需要进行处理,自下而上分为三层,分别为DB层、中间层、应用层。绝大部分方案都是在中间层进行实现

2020-11-17 10:18:03 372

原创 ElasticSearch简单使用总结

一、简介ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful-web接口。ElasticSearch是面向文档的,这意味着它可以存储整个对象或文档,同时索引每个文档的内容使之可以被搜索(每个字段都拥有一个倒排索引),在ElasticSearch中,你可以对文档进行索引、搜索、排序、过滤,这正是它能够执行复杂的全文搜索的原因之一。上面是官话,选择使用es的一个很大原因就是pg库出现了查询性能瓶颈,由于历史原因,sql需要进行大量的

2020-11-01 13:07:01 487

原创 mac安装PostgreSQL

最近需要特别学习PostgreSQL,因此这里记录下安装过程安装及初始化使用homebrew安装brew install postgresql等待安装完成后,初始化:initdb /usr/local/var/postgres如果提示directory "/usr/local/var/postgres" exists but is not empty,那么需要清空该目录然后重新初始化,清空可以使用如下命令rm -rf /usr/local/var/postgres

2020-09-19 14:53:50 1677

原创 gRPC-java简单案例

protobuf何为protobuf下载配置本文基于mac环境配置,首先前往如下网址进行下载:https://github.com/protocolbuffers/protobuf/releases选择java语言的最新版本即可,我这里安装的是3.13.0,下载完成后解压,然后就是需要配置环境1、首先进到protobuf安装目录,即protobuf-3.13.0 目录下2、分别执行如下命令./configure --prefix=/Users/xxxxx/protoBu..

2020-08-30 11:46:07 5068

原创 ZeroC Ice-java简单案例

目录1、Ice简介2、Ice下载3、Slice3.1、基本数据类型3.2、常量定义3.3、复合数据结构定义3.4、异常定义3.5、Slice文件复用3.6、接口和方法定义4、使用java实现一个实例4.1、编写脚本4.2、编写服务端4.3、编写客户端1、Ice简介Ice是ZeroC的开源通信产品,是一个面向对象的中间件,全程为:The Internet Communications Engine。其作为一款优秀的RPC工具,不仅性能强劲,而且支持多

2020-08-16 15:46:52 1496

原创 线程池执行原理

目录线程池的基本介绍线程池参数线程池状态及基本方法线程池的执行过程内置线程池newFixedThreadPoolnewSingleThreadExecutornewCachedThreadPoolnewScheduledThreadPool线程池的基本介绍线程池在项目中的出场率还是比较高的,如果以比较白话的语言介绍线程池的话,其就是一个线程集合+任务队列,当有某个任务请求到达线程池时,塞入任务队列,然后线程无限循环从队列中取任务这样一个简单场景。那我们为什么需要线

2020-08-04 13:06:39 261

原创 idea解决maven依赖冲突

最近在一个老spring项目上面需要适配一个新功能,过程中也需要升级spring的版本,然后最后就导致maven的依赖包很乱,同一个包存在多个版本,本文就记录下使用idea解决maven的依赖冲突,同时记录下assembly打包插件的坑。依赖冲突解决首先打开pom文件,然后右键按如下图选择进入到该pom文件的整个依赖关系图依赖关系图一般都很大,基本看不清,如下:如果你知道哪些包产生冲突,那么mac下可直接common+f快捷搜索然后找到对应的包排除即可,这里的红色虚线即表示与

2020-06-19 16:25:25 2038

空空如也

空空如也

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

TA关注的人

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