博客

AWS 设置 SES 事件 HTTPS 通知

SESSimple Email Service. amazon aws的邮件服务配置新建配置集全部默认配置创建完后, 添加目的地, 选择: Amazon EventBridge, 并根据需要选择事件类型创建API目标进入Amazon EventBridge界面创建API 目标输入自己的https地址
2024-11-17

排查记录: Java所有接口卡死

线上接口, 每天凌晨三四点后开始卡死, 重启后恢复调用后等待两分钟, 然后504两分钟正好是nginx反代的超时时间排查过程日志把nginx和应用日志都找出来看了下, 没发现什么问题应用机器状态看了下cpu占用率/内存, 没问题磁盘占用也没问题应用状态通过jps查找到java进程然后jstack 进
2024-11-07

Spring RedisTemplate Scan

keys 不能用, 那就只能用scan了public static Set<String> scan(RedisTemplate<String, String> redisTemplate, String pattern) { return redisTemplate.execute((Re
2024-10-30

基于Redis ZSet的滑动窗口限流

private boolean limit() { String ip = ServletUtil.getClientIP(request); String banKey = "limit_ban_" + ip; Boolean b = redisTemplate.hasK
2024-10-29

Vue Computed引起的页面卡死

前端出现了个bug当请求接口时, 前端就会卡死, 直接无响应. 控制台看到对应请求的Timing一直卡在Initial connection.将请求单独拿出来放到Postman中请求, 正常响应.通过控制台Network中请求的Initialor进行断点跟踪, 发现前端实际也是获取到了接口的响应.
2024-10-28

Git撤销已Push的Merge

复现场景现有一个分支 master基于master创建分支mergemaster正常commit & push Cmerge正常commit & push D和E将merge合并到master, commit为MA -- B -- C -- M (master) \ /
2024-10-23

JMeter并发测试-计数器使用

实现10个线程并发调用接口每个请求携带的参数都不一致用来测试接口的并发安全性新建测试计划在测试计划下新建线程组10个线程循环1次在线程组下新建取样器-HTTP请求设置请求地址在HTTP请求下新增配置元件-计数器起始值 0递增 1最大 9数字格式 0引用名称 cnt设置HTTP请求的参数使用${cnt
2024-10-23
Ghidra修改exe文件中的字符串

Ghidra修改exe文件中的字符串

下载一个, 配置好jdk21导入项目初始化后, 选择Import File, 随便选一个简单的exe文件我这里是自己写的关机程序然后菜单 Search - For Strings, 选项默认.Filter中输入我们要过滤的thy搜索出结果后, 双击, 回到主视图选择第一个字符 't', 右键 Dat
2024-10-23
STC89C52RC定时器

STC89C52RC定时器

如电路图定时器分为四个模块时钟源模块计数器模块控制逻辑模块中断模块 (notify)如果要使用定时器, 需要对模块对应的寄存器做初始化本次选择定时器0, 工作模式1配合芯片手册初始化TCON和TMOD两个地址所以时钟源模块控制模块中断模块M1/M0两位共同选择模式, 赋值01代表模式1计数器模块综上
2024-05-04

Chrome插件在HTTPS页面获取HTTP接口数据

场景是这样的, 插件要在https页面根据规则做拦截, 但是获取规则的接口并不是https的.发起请求时, 被浏览器的安全策略给拦了.这里记录下解决思路页面上不能进行请求, 但是service-worker里是可以的所以将service-worker获取到的数据传到页面即可service-worke
2024-04-16

在线测试跨域

找个网页F12后, 控制台输入如下代码, 能获取到响应即正常var xhr = new XMLHttpRequest(); xhr.open('POST', 'http://localhost:7099/api/xx/xx'); xhr.send(null); xhr.onload = functi
2024-04-16

ck 每分钟查询数, 平均耗时, 最大耗时

with toStartOfInterval(event_time,toIntervalSecond(60)) As time_ SELECT time_ , count(), avg(query_duration_ms), max(query_duration_ms) FROM system
2024-02-28

nginx proxy_buffer导致请求失败

chrome提示net::ERR_INCOMPLETE_CHUNKED_ENCODING一个接口部署在ecs上, postman访问可以, 前端项目访问失败请求成功的是没有经过nginx, 失败的是通过nginx转发 /api/xxxjava报错ClientAbortException: java.
2024-02-28

Visual Studio QT插件 添加报错no value for qt_install_prefix/src

挪动了qt的目录后, 插件添加不了invalid qt versions qmake error: no value for qt_install_prefix/src解决方法qmake同级别路径新建qt.conf文件内容[Paths] Prefix = ..
2024-01-25

Visual Studio 2019编译 OpenSSL x86/64 static/dynamic

最近有需要, 需要openssl支持1. 下载源码我下的是openssl-1.0.1o, https://www.openssl.org/source/old/2. 安装Perlhttps://strawberryperl.com/download/5.26.3.1/strawberry-perl-
2024-01-23

Chrome插件获取页面请求内容

先代理xhr/fetch对象common.jsconst shopee_get_product_10045487 = "/api/v4/pdp/get_pc"; const api_category_34a10fd6 = {}; api_category_34a10fd6[shopee_get_
2024-01-10

ThreadPool和内部类的内存泄露

private void getItemInfo(String site) { // ... ExecutorService pool = Executors.newSingleThreadExecutor(); pool.submit(task); } getItemInf
2024-01-10

Kubernetes DaemonSet 使用

需求如下:某类pod需要在指定节点运行且每个节点只能有一个pod运行滚动更新时需保证可用性--- apiVersion: v1 kind: Service metadata: name: rbac-service labels: app: rbac-svc spec: selec
2024-01-09

k3s Pods日志

当kubectl因某种原因无法使用时, 可以在pod运行节点的/var/log/pods/目录查看日志注: 容器运行时为containerd
2024-01-09