博客
Vuetify + Vue3 全局提示组件
环境"dependencies": {
"mitt": "^3.0.1",
"vue": "^3.5.13",
"vuetify": "^3.8.0"
}hooks/msg.jsimport mitt from "mitt";
const msgEmitter = mi
Vite项目打包文件模块分析 - rollup-plugin-visualizer
前端项目优化...npm install --save-dev rollup-plugin-visualizer
import { visualizer } from "rollup-plugin-visualizer";
export default defineConfig({
plugi
Vuetify按需引入组件
前端打包优化....配置插件npm install vite-plugin-vuetifyvite.config.jsimport { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vuetify fro
Vuetify按需引入Material Design Icons
安装依赖npm install @mdi/js -D注册import { createApp } from "vue";
import { createPinia } from "pinia";
import App from "./App.vue";
import router from "./
SpringMVC流式返回数据
@GetMapping("/get")
public ResponseBodyEmitter get(@RequestParam String question) {
ResponseBodyEmitter emitter = new ResponseBodyEmi
JVM排查和调优常用工具
JMAPjdk自带, 生成堆转储文件.hprofMAT 打开.hprof文件可以看到org.test.OomTest$OOMObject对象最多.VisualVM需要安装一些插件
DDD架构及相关概念
贫血模型和充血模型贫血模型只有属性public class RoleId {
private Long value;
}充血模型有属性也有行为(方法)贫血三层模型Controller + Service (处理业务逻辑并调用DAO接口操作数据库) + DAO (包括贫血Model)DDD经典
基于Ollama本地部署deepseek-r1:8b
下载ollama https://ollama.com/ 设置好环境变量, 更换模型的存储位置OLLAMA_MODELS下载大模型命令行中输入ollama run deepseek-r1:8b
公网Docker的端口暴露风险
场景默认配置下docker启动的容器, 如果进行了端口映射docker run --network bgnet --ip 172.18.0.3 --name http03 -p 9090:8080 http-docker则docker会修改iptables的规则, 以支持对应端口的流量转发. 如果
Fusion端口转发与127.0.0.1的冲突
看日志没问题curl -v http://localhost:8080 没问题但 curl -v http://127.0.0.1:8080就报错, 表现为tcp正常, 但一会就连接重置了查看端口占用sudo lsof -i :8080
vmnet-nat 59433 root 11u IPv
Shiro SimpleSession反序列化问题
项目中准备支持以redis支持分布式session. 但这个SimpleSession, 序列化到redis没问题, 反序列化就报错了. 一个SavedRequest对象无法构造, 因为没有空参构造方法. 除了这个对象, 还有很多奇奇怪怪的类无法反序列化查看代码, 操作redis用的是RedisTe
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
Jenkins构建优化 20min到2min
系统的jenkins构建流程很简单, 但一直很慢. 一次构建平均十几二十分钟git pull (17分钟)mvn clean package (6分钟)scp (4分钟)Git Pull发现之前的配置被勾选了自动清理workspace, 取消后拉代码就正常了, 基本是秒拉Maven Packagem
接入TLog日志
tlog是一个轻量化的链路日志标签解决方案spring web项目引入依赖<dependency>
<groupId>com.yomahub</groupId>
<artifactId>tlog-web-spring-boot-starter</artifactId>
<version>
简易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
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=
AWS 设置 SES 事件 HTTPS 通知
SESSimple Email Service. amazon aws的邮件服务配置新建配置集全部默认配置创建完后, 添加目的地, 选择: Amazon EventBridge, 并根据需要选择事件类型创建API目标进入Amazon EventBridge界面创建API 目标输入自己的https地址
排查记录: Java所有接口卡死
线上接口, 每天凌晨三四点后开始卡死, 重启后恢复调用后等待两分钟, 然后504两分钟正好是nginx反代的超时时间排查过程日志把nginx和应用日志都找出来看了下, 没发现什么问题应用机器状态看了下cpu占用率/内存, 没问题磁盘占用也没问题应用状态通过jps查找到java进程然后jstack 进
Spring RedisTemplate Scan
keys 不能用, 那就只能用scan了public static Set<String> scan(RedisTemplate<String, String> redisTemplate, String pattern) {
return redisTemplate.execute((Re
基于Redis ZSet的滑动窗口限流
private boolean limit() {
String ip = ServletUtil.getClientIP(request);
String banKey = "limit_ban_" + ip;
Boolean b = redisTemplate.hasK