
开发及业务相关问题
文章平均质量分 78
开发及业务碰到的相关问题
夏天i(Joker)
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
API 接口AOP、Redis限流【固定窗口、滑动窗口、漏桶、令牌桶】
我们使用Spring中的RedisTemplate的原子整型来实现该功能,在接口第一次触发时,设置增加键值,并将键的有效期设置为单位时间,后续接口访问调用getAndIncrement()方法获取当前值,并将redis中值增加1,然后判断当前值是否超过访问阈值,如果超过则直接丢弃请求。漏桶算法刚好和令牌桶算法相逆,漏桶算法为以恒定的速度从桶中漏出水滴,而我们调用接口为向桶中加水滴,当桶中容量未满时,则表示接口调用量未达到阈值,放行,若桶中容量已满,无法增加水滴进入,则表示拦截请求。原创 2024-05-21 17:20:00 · 1236 阅读 · 0 评论 -
Locust - API压测
在Locust测试框架中,测试场景是采用纯Python脚本进行描述的,对于最常见的HTTP(S)协议的系统,。在模拟有效并发方面,摒弃了进程和线程,因此即使是单台压力机也能产生数千并发请求数;再加上对分布式运行的支持,理论上来说,Locust能在使用较少压力机的前提下支持极高并发数的测试。1.开源、使用python开发、基于事件、支持分布式、提供WEB UI、支持结果导出;2.使用python第三方库gevent提供的非阻塞IO和协程Coroutine来实现网络层的并发请求;原创 2024-03-14 14:22:33 · 1521 阅读 · 0 评论 -
MurmurHash算法
MurmurHash:(multiply and rotate) and (multiply and rotate) Hash,乘法和旋转的hash 算法。原创 2024-02-28 15:30:29 · 4074 阅读 · 0 评论 -
长链接转短链接
最典型的就是微博和短信,如果一个参数很多路径很深的长链接发出去的话,基本上你这个微博或短信就没法再添加其他文字信息了。另外用短链在内容排版上也更美观,不想看到长长的一串各种参数的url。原创 2024-01-22 17:46:26 · 3994 阅读 · 0 评论 -
将多张图片进行合并(水平,垂直,重叠),背景色控制,透明度控制
对多张图片合并成一张PNG(可垂直,水平,重叠),可设置背景,透明度等原创 2024-01-22 09:37:07 · 796 阅读 · 0 评论 -
Tomcat部署Activiti官方 流程设计器【数据库更换为Mysql !!!】
将wars文件夹下三个war文件复制到tomcat的webapps目录下,启动tomcat即可自动部署,首次部署需要初始化数据库,时间可能比较长,默认用的是自带的内存数据库h2,也可以修改为我们自己的数据库。原创 2023-12-13 22:59:54 · 780 阅读 · 0 评论 -
Python 结合 Selenium 网页自动化【看过来】
ChromeDriver是一个用于自动化控制和与Google Chrome浏览器进行交互的驱动程序。它是Chrome浏览器的一个开源项目,由Chrome开发团队开发和维护。ChromeDriver允许开发人员使用编程语言(如Python、Java、C#等)编写脚本,以控制Chrome浏览器的行为。通过ChromeDriver,您可以模拟用户在浏览器中执行的各种操作,例如打开网页、填写表单、点击按钮、滚动页面等。这使得自动化测试和网页数据爬取变得更加简单和高效。原创 2023-12-07 23:34:45 · 214 阅读 · 0 评论 -
SpringBoot / Vue 对SSE的基本使用(简单上手)
SSE技术是基于单工通信模式,只是单纯的客户端向服务端发送请求,服务端不会主动发送给客户端。服务端采取的策略是抓住这个请求不放,等数据更新的时候才返回给客户端,当客户端接收到消息后,再向服务端发送请求,周而复始。注意:因为EventSource对象是SSE的客户端,可能会有浏览器对其不支持。是 HTML5 遵循 W3C 标准提出的客户端和服务端之间进行实时通信的协议。浏览器建立的连接中会看到服务器推送到客户端的消息内容及ID等基础信息。是 HTML5 的一部分,提供了一种双向通信的机制。原创 2023-09-07 11:06:55 · 14728 阅读 · 3 评论 -
Vue 3 安装及环境配置
点击下载后点击安装,安装路径按需安装完成后如图所示安装成功后在 CMD 控制台输入 node -v 和 npm -v 验证是否安装成功node -vnpm -v。原创 2023-06-08 16:45:30 · 9827 阅读 · 1 评论 -
Alibaba Canal 实时数据同步迁移
canal的工作原理就是把自己伪装成MySQL slave,模拟MySQL slave的交互协议向MySQL Mater发送 dump协议,MySQL mater收到canal发送过来的dump请求,开始推送binary log给canal,然后canal解析binary log,再发送到存储目的地,比如MySQL,Kafka,Elastic Search等等原创 2022-12-13 10:34:21 · 1036 阅读 · 0 评论 -
i18n 国际化 多语言 SpringBoot 整合
可以根据业务空间系统配置语言不同,返回不同语言的响应,如多语言邮件,多语言短信,以及提示等原创 2022-09-28 17:20:43 · 2759 阅读 · 3 评论 -
(切面)打印request与response + (过滤器)唯一链路日志TraceId生成及打印
异步方法的日志打印 THREAD_ID异步方法会开启一个新线程,我们想要是异步方法和主线程共用同一个traceId,首先先新建一个任务适配器MdcTaskDecorator原创 2022-08-31 17:52:27 · 2200 阅读 · 0 评论 -
SpringBoot 整合 log4j2 + 彩色打印
一定要注意项目中原本的依赖,可能会有冲突,因为使用log4j2依赖一定要排除原本项目中的log4j、logback相关依赖。原创 2022-08-31 17:45:57 · 7420 阅读 · 2 评论 -
Mysql 通过 binlog日志 恢复数据(数据搞丢看过来)
选中区间 只是重新执行了一次 --start-position=17639 到 --stop-position=18038 期间记录的操作(见案例7.6偏差)文章仅供参考,问题也比较多,还有几个情况没考虑。比如 日志不单单是这个表的日志,还夹杂着其他表,日志内按照执行时间顺序记录,如果区间中包含其他表操作,那么其他表也会被重新执行,会造成脏数据。原创 2022-08-21 12:40:45 · 12729 阅读 · 1 评论 -
OpenFeign / SpringBoot 响应使用gzip压缩(含例子)
feign支持对请求与响应进行GZIP压缩,以减少通信中的性能损耗.原创 2022-08-15 10:42:16 · 4903 阅读 · 0 评论 -
SpringBoot 集成swagger基本配置
createRestApi():创建API应用apiInfo() 增加API相关信息通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,注:apis(RequestHandlerSelectors.basePackage("controller的包路径")apiInfo():创建API的基本信息(Swagger页面头部显示)...原创 2022-05-12 11:37:21 · 1497 阅读 · 0 评论 -
Spring Security认证授权-权限验证使用教程(二)
Spring Security认证授权-权限验证使用教程(二)原创 2022-05-12 11:21:25 · 2049 阅读 · 1 评论 -
Spring Security认证授权-权限验证使用教程(一)
spring security核心组件有:SecurityContext、SecurityContextHolder、Authentication、Userdetails 和 AuthenticationManager等原创 2022-05-12 11:12:02 · 6605 阅读 · 0 评论 -
SpringBoot 整合RabbitMQ 【死信队列 - 延时队列 - 看完这篇就够了】
Direct Exchange直连型交换机,根据消息携带的路由键将消息投递给对应队列。 大致流程,有一个队列绑定到一个直连交换机上,同时赋予一个路由键 routing key 。然后当一个消息携带着路由值为X,这个消息通过生产者发送给交换机时,交换机就会根据这个路由值X去寻找绑定值也是X的队列。Fanout Exchange扇型交换机,这个交换机没有路由键概念,就算你绑了路由键也是无视的。 这个交换机在接收到消息后,会直接转发到绑定到它上面的所有队列。Topic Exchange主题交.翻译 2022-05-12 10:22:26 · 1987 阅读 · 0 评论 -
动态权限大全
1.android.permission.WRITE_USER_DICTIONARY允许应用程序向用户词典中写入新词2.android.permission.WRITE_SYNC_SETTINGS写入Google在线同步设置3.android.permission.WRITE_SOCIAL_STREAM读取用户的社交信息流4.android.permission.WRITE_SMS允许程序写短信5.android.permission.WRITE_SETTINGS允许程序读取或写.原创 2022-04-19 16:44:11 · 651 阅读 · 0 评论 -
@Scheduled 定时任务同一时间执行问题
@Scheduled 定时任务同一时间执行问题springBoot 定时任务@scheduled同时执行新建测试类问题解析解决方法其他springBoot 定时任务@scheduled同时执行在使用过程中,发现多个任务设计同一时间执行会出现只有一个任务在执行其它任务都无法执行的情况。新建测试类由于项目为SpringBoot框架为了让定时任务生效需要在启动类上面加上@EnableScheduling以开启对定时任务的支持package com.joker;import org.springfra翻译 2021-05-06 18:17:30 · 3440 阅读 · 0 评论 -
微信企业转账到银行卡
微信企业转账到银行卡微信官方文档调用获取RSA公钥API1.获取PKCS#1格式的公钥2.返回示例3.转换PKCS公钥格式4.将得到的PKCS#8公钥转换为base645.调用https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank 接口实现微信支付到银行卡6.工具类微信官方文档https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_2调用获取RSA公钥APIhttps:原创 2021-06-06 11:51:31 · 1592 阅读 · 0 评论