Posts

2024

Tailscale 使用 Derp Probe 检测自建的 Derper 服务器状态
Ubuntu 22 安装 AMD 显卡驱动
Proxmox-VE 开启 CT/LXC 容器 Wireguard/Tailscale 访问 TUN 权限
将重新训练的 Yolov8 模型编译为 Hailo 8 和 Hailo 8L 支持的模型
Frigate 使用 Hailo 8 或 Hailo 8L 进行对象识别
Ubuntu22 安装初始化 Hailo 8系列 TPU 加速器
基于 Frigate 使用 Double Take 和 DeepStack 对视频监控进行人脸识别
Ubuntu 22 在 Docker 容器中使用 NVIDIA 显卡
Ubuntu 22 运行 Google Coral TPU 示例
Ubuntu 22 安装 Google Coral TPU NVME 驱动
Ubuntu 22 安装 NVIDIA 显卡驱动和 CUDA
Ubuntu 22 安装 Intel N100 显卡驱动
使用家庭宽带公网 IPV6 自建 Tailscale 的 DERP 节点
Linux Docker容器开启IPv6
使用 Ubuntu 搭建 NFS 服务器
Ubuntu 22 环境初始化
Proxmox VE 创建自定义的 LXC 容器 CT 模板

2023

在黑群晖使用 Docker 部署 Proxmox Backup Server
使用 Cloudflare Worker 和 R2 代理 OSS 图床
使用阿尔卡特猫棒替换北京移动 GPON 光猫
Grafana 使用 ClickHouse 作为数据源配置图表
使用 GoLinks 短链接服务简化网址访问
使用 Cloudflare Tunnels 通过 Web SSH 访问服务器
Linux 环境下配置不间断电源 UPS
WireGuard对端动态IP时主动更新地址
使用WireGuard连接异地局域网
使用 Docker 部署 Clash Premium
在PVE的LXC容器中直通核心显卡
小米路由器 4A 千兆版刷入 OpenWrt
使用arpl在PVE上安装黑群晖
使用兮克 2.5G 交换机将北京联通 EPON 改为 ODI 猫棒接入
使用WireGuard从外网访问OpenWrt
Proxmox VE 添加监控
N5105 Promox VE 虚拟机频繁死机问题处理
OpenWrt 桥接充当交换机
OpenWrt 在 PVE 中以虚拟机方式安装
树莓派 4b 使用 CSI 摄像头
树莓派 4b 使用摄像头推送流到 RTMP 服务器
Docker 开启外部 HTTP 访问
Proxmox VE 安装初始化
Traefik 使用 Google GitHub OAuth 进行鉴权登陆
使用培正 PZEM 004T 和 HomeAssistant 监测家庭用电情况
使用 PowerCLI 的 Docker 容器自行构建 ESXi 镜像

2022

技嘉 B660M AORUS PRO AX 安装黑苹果
Intel NUC 9 安装黑苹果
使用 MacOS 制作 MacOS 的 ISO 镜像
Windows 使用 Yuzu 模拟 Nintendo Switch
HomeAssistant 基于容器搭建与使用
OpenWrt 使用 Lets Encrypt 证书开启 HTTPS 访问
Clash 使用 Docker 部署
小米 Redmi AX6S(AX3200) 刷入 OpenWrt 及使用体验
OpenWrt 使用 SmartDNS
OpenWrt-监控
Docker 使用 NFS 作为数据卷存储
Esxi 挂载物理磁盘到虚拟机
Ubuntu Server 22 虚拟机空间扩容
使用 Pi-hole 作为 DNS 和 DHCP 服务器
Ubuntu 22 设置静态 IP
Openwrt-DDNS 配置
OpenWrt 安装使用 OpenClash
N5105 构建 Esxi 镜像
Openwrt-初始化配置
Traefik 使用 Let’s Encrypt 申请 HTTPS 证书
使用 Let’s Encrypt 申请 HTTPS 证书
Openwrt-空间扩容
Openwrt 在 Esxi 中以虚拟机方式安装
树莓派 4B 容器方式安装 OpenWrt 作为软路由
MacOS Monterey 制作 Windows 启动盘

2021

树莓派 4b 安装 Kubernetes
树莓派 4b 使用 WiFi 从 SSD Headless 启动
Thrift 客户端异步请求
Thrfit 服务端请求处理流程
Thrfit 客户端请求处理流程
gRPC 服务间调用事件流程
gRPC 对冲请求取消流程
Thrift 服务端异步请求
Thrift 中的 Transport
Thrift 中的 Protocol
gRPC 中泛化调用服务接口
Thrfit 中的 Server
Thrfit 中的核心概念
gRPC 反射服务
gRPC 服务使用 TLS 加密
gRPC Gateway 使用
gRPC 中打印请求二进制日志
gRPC 中使用 Channelz
gRPC 拦截器和监听器

2020

gRPC 中监听 Sream 和 Transport 的事件
gRPC Server 端请求处理流程
gRPC Server 端启动流程
gRPC Server 端关闭流程
gRPC Channel
gRPC Client 启动流程
gRPC Stream
gRPC Transport
gRPC 使用自定义的 LoadBalancer
gRPC 超时时间与重试时间间隔
gRPC 中的核心概念
gRPC 重试流程
gRPC 对冲原理
gRPC 自定义健康检查
gRPC 健康检查
gRPC 负载均衡
HPA 使用自定义的指标自动扩缩容
gRPC 命名解析
gRPC 使用自定义的 NameResolver
gRPC 中 Binlog 打印原理
Spring Boot 2.3+ Liveness 和 Readness 接口使用
SpringBoot 框架自带插件构建 Docker 镜像
Raspberry Pi 4 使用 Grafana 监控
Raspberry Pi 4 使用 USB 从 SSD 启动
Spring Cloud 使用 Consul 作为配置中心
Spring Cloud 使用 Kubernetes 作为配置中心
Spring Cloud Consul 服务注册和发现
Spring Cloud Kubernetes 服务注册和发现
Spring Cloud Gateway 使用 Kubernetes 作为服务发现
Spring Cloud Gateway 使用 Kubernetes 实现负载均衡
Prometheus 使用 Consul 自动发现 Spring Boot 服务并拉取数据
使用自定义 Grafana 面板监控 Consul
使用 Prometheus 和 Grafana 监控 SpringBoot 应用
使用 Prometheus 和 Grafana 监控 Consul
Seata 高可用部署实践

2019

Kubernetes 中使用 Helm 部署使用 Prometheus
树莓派 4b 无网线安装 Ubuntu 并初始化
使用 GitHub 作为 Helm 仓库
使用腾讯云的Serverless部署天气应用
Go 调用 Windows 的系统 API,检测是否锁屏
Kubenetes 部署 Dashboard
Spring Cloud 使用 Kubernetes 作为配置中心 - 使用加密配置
Spring Cloud 使用 Kubernetes 作为配置中心
Spring Cloud 使用 Kubernetes 作为注册中心
Kubenetes 中使用 Traefik 作为 Ingress 转发流量
Kubernetes 中使用 Helm 部署应用
Kubernetes 中安装 Helm
Go 开发命令行工具-OSS文件上传
Spring Boot 中使用Spring Cloud Stream
Spring Boot 中使用 WebSocket
Spring Boot 中自定义异常处理
Spring Boot 中自定义接口返回格式
Ubuntu/Docker 替换软件源
Google Cloud Run 部署 Knative Serverless 应用
AWS Lambda 部署 SpringBoot 应用
MyBatis 查询错误:java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
微服务网关 Traefik - Docker Swarm 使用
GraphQL Spring Boot 使用
MySQL 中关于gap lock / next-key lock 的一个问题

2018

SpringBoot 使用 MySQL保存emoji 表情
Spring Boot 配置 HTTPS 访问
SpringBoot 中 Spring Security 403 自定义返回消息
Kubernetes 配置 kubeconfig 访问多个集群
Kubernetes 中部署 SpringBoot 应用
Ubuntu 搭建 ShadowSocks 服务
Mac 客户端访问 Dropbox
Java 中计算字符串表达式的值
Docker 容器中运行 Docker 命令
代码质量工具 Sonarqube 搭建使用
服务追踪工具 SkyWorking 搭建使用
使用 Jib 生成 Java Docker 镜像
JRebel 安装激活
SpringBoot 使用 FastJSON 自定义接口返回 JSON 格式
Ubuntu 服务器上传和下载文件
Docker 配置 Nginx 访问宿主机目录下的应用
Docker 构建 SpringBoot 应用
Docker 配置Ubuntu 下 Tomcat 和 Nginx 使用 HTTPS 访问
Docker 中使用 Dockerfile
Docker 常用命令
Docker
SpringBoot-使用 MyBatis 通用 Mapper
SpringBoot-使用 Spring Session 实现 Session 共享
SpringBoot 使用QuartzJob实现任务控制
SpringBoot 使用 MyBatis PageHelper 分页插件
SpringBoot 使用 ELK 日志收集系统安装配置
SpringBoot logback 输出日志到数据库、Logstash
SpringBoot 中日志使用
SpringBoot 使用 ElasticSearch
Swagger 常用注解说明
SpringBoot 集成 Swagger API 文档工具
Spring Boot 使用 Flyway
Rocket MQ 相关知识
Rocket MQ 发送消息
Windows Server搭建Shadowsocks服务器
Spring Boot Admin 管理应用-客户端注册
Ubuntu安装配置 Jenkins
Ubuntu安装JDK
Ubuntu安装 Nginx
Ubuntu安装 Redis -编译方式安装
Ubuntu搭建Redis服务器
Redis基础知识-数据类型
AngularJS配置Router(路由)提示Controller NaNunction/undefined错误
AngularJS 配置路由
Nginx 配置
Tomcat9 配置HTTPS连接
Windows下配置Chrome WebDriver
AngularJS中使用ngModal模态框
AngularJS 中ngTable自定义/重写过滤器
Spring Controller 数据传递中注解的使用
Spring Cloud 监控服务器下 IP/URL 不正确导致无法注册的解决方法
Spring MVC简单实现国际化/多语言
SpringBoot中Junit测试注入Bean失败的解决方法
AngularJS中使用ngTable
AngularJS发送异步Get/Post请求
HTML中使用Ajax进行局部刷新页面
解决从GitHub上下载文件慢的问题
Gauge中执行数据库测试
Gauge中执行Http请求测试
使用Gradle编译执行Gague项目
Gauge中执行钩子(Hook)
Gauge中执行测试的常用命令
Gauge 中Step使用别名
Gauge基础知识
在IDEA中配置Gauge环境
Gauge中Gradle自定义Task失败的解决方法
IDEA Maven项目导入失败,无法识别pom文件
Spring Boot Actuator 添加 Git 和 Build 信息
Tomcat启动时一直停留在一个应用的发布的解决办法
SpringMVC 生成验证码
IDEA启动Spring Boot项目提示Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServlet...
IDEA中Spring Boot项目MyBaits提示Invalid bound statement (not found)错误
Gradle 使用-编译时下载依赖失败解决方法
Ubuntu搭建Shadowsocks服务器
SpringMVC应用启动时执行操作
Spring Boot 启动时执行加载资源/执行操作
SpringBoot启动时报org.springframework.context.annotation.ConflictingBeanDefinitionException解决方法
SpringBoot中配置使用Druid数据库连接池
SpringBoot项目生成War包
使用Gradle整合Flyway进行数据库迁移
MyBatis 中使用 Association 嵌套查询
MyBatis 中使用 Collection 嵌套查询
在使用 Spring Security 的 Remember Me 记住密码功能时遇到的问题和解决方法
Spring Security 中实现 Remember Me 记住密码功能
Spring Boot 中集成 Spring Security
Spring MVC 使用 Spring Session 实现 Session 共享-Redis
Gradle 添加多项,依赖其他项目
Gradle 使用-多项目构建
Gradle 使用-添加 Jacoco 分析单元测试覆盖率工具
Java 将单元测试覆盖率上传到 Codecov

2017

Spring Boot Mail Could not connect to SMTP host
Spring Boot 发送邮件
Spring Boot MyBatis 动态数据源常见问题和解决方法
Spring Boot MyBatis Druid 多数据源、动态数据源切换
helloworld