博客

MacOS 编译使用aliyun-openapi-cpp-sdk

开发库sdk依赖了几个库, 需要先安装. (brew: 包管理器)brew install jsoncpp brew install openssl brew install ossp-uuid brew install curl源码源码下载下来git clone https://github.co
2024-12-20

Jenkins构建优化 20min到2min

系统的jenkins构建流程很简单, 但一直很慢. 一次构建平均十几二十分钟git pull (17分钟)mvn clean package (6分钟)scp (4分钟)Git Pull发现之前的配置被勾选了自动清理workspace, 取消后拉代码就正常了, 基本是秒拉Maven Packagem
2024-12-19

接入TLog日志

tlog是一个轻量化的链路日志标签解决方案spring web项目引入依赖<dependency> <groupId>com.yomahub</groupId> <artifactId>tlog-web-spring-boot-starter</artifactId> <version>
2024-12-09
简易Mac历史剪切板

简易Mac历史剪切板

基于go-fyne, 自动存储剪切板历史记录 (只支持文本)main.gopackage main import ( "fyne.io/fyne/v2" "fyne.io/fyne/v2/app" "fyne.io/fyne/v2/container" "fyne.io/fyne/v2/d
2024-11-28

Linux服务器替换rm命令

先把rm禁了mv /bin/rm /bin/fuckrm或者chmod 000 /bin/rm然后vim /usr/local/bin/rm#!/bin/bash # 获取当前时间戳 timestamp=$(date +%Y%m%d%H) # 目标路径 trash/时间戳 target_dir=
2024-11-23

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