自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(222)
  • 资源 (2)
  • 收藏
  • 关注

原创 JobPilot:本地优先的 AI 简历桌面工具,让求职更高效

JobPilot是一款基于Tauri 2+React 19+Rust构建的本地优先AI求职桌面应用,专注于简历全流程管理。核心功能包括:AI简历评审与编辑(支持Anthropic工具调用)、多格式导入/导出、模块化简历编辑、模拟面试复盘及WebDAV加密同步。技术栈采用轻量化方案(Tauri+SQLite+Tailwind CSS),保障性能与隐私。应用支持Windows/macOS平台,提供安装包和源码构建选项,数据完全本地存储且可脱敏处理。作为开源项目(Apache 2.0协议),JobPilot持续迭

2026-06-09 02:08:41 390

原创 Flink CDC 写入 Iceberg 问题记录:清洗侧识别 Iceberg Equality-Delete Parquet 文件

Flink CDC 写入 Iceberg 时,02-raw 目录混入 equality-delete Parquet 文件,导致清洗程序误将仅含 id 的删除标记识别为无效空行。问题根源在于清洗侧未区分数据文件与删除控制文件,合并 Schema 后补 NaN 引发误判。修复方案:读取 Parquet key_value_metadata,识别 delete-type=equality 或 delete-field-ids 存在即跳过删除文件,确保仅业务数据进入清洗流程。此法不改变现有规则,可精准排除 del

2026-10-12 10:47:10 283

原创 HashMap为什么线程不安全?

JDK1.7中HashMap扩容时使用头插法,多线程并发导致链表成环,引发死循环;JDK1.8改用尾插法,避免死循环,但仍存在数据丢失问题,因put操作非原子性,易发生覆盖。所有版本均受fail-fast机制保护,多线程修改结构会抛出ConcurrentModificationException。建议在多线程环境下使用ConcurrentHashMap,以保证线程安全与高性能。

2026-09-27 11:14:10 183

原创 Synchronized 和 ReentrantLock 哪个性能好?

JDK 1.6 后,Synchronized 经过锁升级、自适应自旋等优化,性能与 ReentrantLock 基本持平。低竞争下 Synchronized 凭借偏向锁更优;高竞争或频繁锁撤销时,ReentrantLock 更具优势。选择应基于功能需求:如需可中断、超时、公平锁或多个条件变量,选 ReentrantLock;追求简洁代码则优先 Synchronized。

2026-09-27 11:06:12 124

原创 wait() 为什么要写在 while 循环里?写在 if里不行吗?

对比ifwhile条件检查次数进入wait前检查一次每次从wait返回后都重新检查虚假唤醒直接执行后续逻辑,可能出问题重新判断条件,安全场景被错误唤醒的线程会越界操作条件不满足则继续等待结论不可行必须使用使用while的目的是确保线程从wait()返回时,等待条件确实已经满足,这是并发编程中的标准实践,也是《Java 并发编程的艺术》和 JDK 源码中推荐的写法。

2026-09-27 10:59:43 297

原创 轻量级锁失败后,到底会不会自旋?——一次被八股文带偏的复盘

轻量级锁失败后不会自旋,而是直接膨胀为重量级锁。自旋是重量级锁(ObjectMonitor)获取失败时的优化行为,而非轻量级锁的步骤。八股文“先自旋再升级”混淆了阶段与机制。源码(JDK 8)显示,CAS失败即调用inflate,无自旋逻辑。新版本虽有微调,但经典实现中“失败即膨胀”才是真相。提醒:面试答案需回归源码,避免被误导。

2026-09-27 10:40:07 159

原创 一次线上串号排查:TransmittableThreadLocal 为什么没生效

项目使用TransmittableThreadLocal(TTL)传递用户上下文,但因未启用透传机制,退化为InheritableThreadLocal。在CompletableFuture异步任务中,由于ForkJoinPool线程复用且上下文仅初始化一次,导致多个请求间串号或日志静默丢失。根本原因在于:TTL未通过agent、包装器或TaskDecorator激活,且子线程共享同一Map引用。修复方案应显式使用TtlExecutors包装线程池,确保上下文正确透传。

2026-09-22 11:15:15 110

原创 PR 是写给人看的:从 Matt Pocock 的 /pr 到 dex 的 skills 复用技巧

AI生成的PR描述常冗长无用,Matt Pocock与dex提出解决方案:前者设计五段式克制模板,聚焦降低审阅者认知成本;后者开源visual-pr技能,以“show-me”可视化语法提升表达效率,并探索技能复用机制。二者分别从内容规范与工程基建切入,共同指向核心命题——在Agent普及时代,如何让AI产出更易被人类消化与延续。

2026-09-19 09:46:09 143

原创 1Password-开源计划申请免费使用资格

1Password for Open Source 申请已更新流程:不再需 fork 官方仓库,而是通过官方仓库的 issue 表单提交。申请者需注册 Teams 账户(非个人/家庭版),确保项目活跃、开源且无商业用途,填写包含项目名、许可证、贡献者人数等信息的表单。关键点包括:账户邮箱与申请人一致、项目满 30 天、短描述禁用 emoji 和格式。成功后获永久免费 Teams 权限,支持多平台及开发者功能。

2026-09-11 16:10:13 277

原创 Spring Boot Nacos绑定 Map 时中文 key 导致启动失败:一次从复现到源码的排查实录

Spring Boot Nacos绑定Map时中文key导致启动失败的排查过程 问题现象 在Spring Boot 2.6.5项目中,使用Nacos配置中心绑定包含中文key的Map时,启动失败报错"无法把Integer转成Map",而改用英文key则正常。 排查过程 确认YAML配置语法和结构正确 通过最小化复现代码稳定重现问题 发现中文key与英文key的绑定行为不同 根本原因 Spring Boot会将YAML拍平为属性链 构建索引时ConfigurationPropertyName.adapt()会

2026-08-10 15:51:59 253

原创 扩展性强、缓存命中 90% 以上、响应还利落:我用 Pi 换掉了 Claude Code

本文介绍了作者从Claude Code切换到Pi Coding Agent的体验。Pi是一款极简、可扩展的AI编程CLI工具,核心设计理念是保持精简,通过扩展生态补充功能。 关键优势包括: 高性能:缓存命中率达90%以上,响应速度快 经济性:系统提示词仅1000 token(Claude Code为23500 token),大幅降低使用成本 可扩展:通过pi packages生态灵活添加所需功能 注意力优化:精简设计让模型更专注于核心任务 文章详细对比了Pi与Claude Code的架构差异,并提供了安装配

2026-08-03 21:21:39 493

原创 Windows浏览器可访问外网但GIT/CMD/PowerShell命令行代理失效问题完整总结

适配绝大多数CLI工具:pip、npm、git、curl.exe等;不建议设永久系统环境变量,易导致内网访问异常。

2026-07-20 08:58:32 255

原创 mattpocock_skills 使用流程(官方标准工作流...

本文介绍了mattpocock/skills项目的标准工作流,包含两类触发方式(手动/自动)和核心开发流程。主流程为:需求对齐(/grill-with-docs)→ 文档固化(/to-prd)→ 任务拆分(/to-issues)→ 实现(/tdd或/implement)。另有三种常见变体流程:架构优化、bug修复和原型设计。项目还包含自动触发的规范审查(如代码审查、领域建模等)和辅助功能(如上下文交接)。该工作流强调垂直切片开发和定期架构检查,通过分层机制确保开发质量。

2026-07-09 10:40:33 936

转载 读书笔记《Code is cheap. Don‘t write any.——AI Native,程序员如何提升五倍coding效率》

AI时代程序员五倍提效指南(150字摘要) 文章提出AI时代代码已贬值,程序员需转型为"控盘者"实现五倍效率提升。核心方法论是Harness框架:通过Spec规范压缩AI生成空间,用Codemap管理上下文,将任务拆分为"最小混沌单元"交给AI执行。标准流程包括目标拆解、AI推进、边界校正和多层验收(自验→CI→灰度)。工程师角色向任务设计、规范制定和质量兜底迁移,形成"人定方向-AI执行"的新协作模式。关键要对抗大模型的两大缺陷:用Spec防止"套路废话",用Codemap解决上下文衰减。最终实现从写代码

2026-07-03 15:01:16 32

原创 Nacos 核心:服务发现、并发控制与健康检测的全景解析

Nacos核心机制解析:服务发现、健康检测与架构演进 本文深入剖析了Nacos作为服务注册与发现核心组件的三大关键机制:1)五层注册表结构实现精细化管理;2)CopyOnWrite技术保障高并发读写性能;3)临时/永久实例的健康检测体系。重点对比了Nacos 1.x与2.x的架构差异,包括从UDP推送升级为gRPC长连接的通信优化,实现了服务发现"本地缓存+实时推送+断链兜底"的闭环方案。文章通过源码映射、流程拆解和对比表格,揭示了Nacos在性能、可靠性和实时性上的设计权衡与演进路径,为分布式系统架构提供

2026-06-25 16:41:10 164

原创 Element UI el-upload 多文件上传踩坑与解决方案

本文总结了使用Element UI的el-upload组件进行多文件上传时常见的4个问题及解决方案: on-success回调中fileUrl为undefined:因遍历整个fileList会包含未完成上传的文件,应采用增量更新方式,只处理当前成功的文件。 on-success只触发一次:因修改了绑定的file-list数组导致组件重渲染,应使用独立数据数组存储上传结果,不与展示数组混用。 on-remove中fileUrl为undefined:删除文件时重建列表需跳过未完成上传的文件。 编辑回显数据不同步

2026-06-25 15:52:51 263

原创 Nacos 核心:服务发现、并发控制与健康检测的全景解...

摘要 Nacos作为服务注册与发现的核心组件,其设计平衡了高并发、高可用和强一致性。文章系统解析了三大核心机制:1)五层注册表结构(命名空间-分组-服务-集群-实例)实现精细化管理;2)CopyOnWrite机制确保读写强一致性,通过写时复制实现读写分离;3)健康检测采用临时实例(客户端心跳)与永久实例(服务端探测)互补方案。此外,服务发现结合主动拉取和订阅推送模式,2.x版本升级为gRPC长连接提升性能。Nacos通过层级模型、高效并发控制和灵活健康检测,成为微服务治理的重要支柱。

2026-06-25 10:02:35 248

原创 Claude Code 高级命令指南 (Simplify, Review, Loop, Batch)

文章摘要: 《Claude Code高级命令指南》介绍了四个组合型AI开发工具命令: /simplify - 智能代码重构:自动派生子Agent优化重复逻辑、可读性与性能 /code-review - 自动化审查:支持PR内联注释(--comment)和自动修复(--fix) /loop - 持久化任务:实现cron式循环检查(如CI监控) /batch - 批量处理:通过多Agent并行改造上百个文件(如框架迁移) 这些命令可串联形成AI原生工作流:架构调整→重构→审查→持续监控,显著提升开发效率。支持团

2026-06-18 14:28:29 236

原创 WebDAV 同步踩坑实录:从 405 到数据恢复不生效的完整排查

本文记录了在Tauri v2桌面应用中实现WebDAV备份/恢复功能时遇到的7个典型问题及解决方案。主要问题包括:Tauri v2命令权限配置缺失导致前端调用失败;云盘WebDAV不支持MKCOL创建目录;PUT请求缺少Content-Type报错;SQLite连接缓存导致数据恢复不生效;前端状态绑定错误等。文章详细分析了每个问题的现象和根因,并提供了具体解决措施,如调整权限配置、修改目录结构、添加HTTP头、强制应用重启等。最后总结了WebDAV集成经验:不要假设完整协议支持、优先使用PROPFIND检查

2026-06-03 18:52:48 337

原创 别被 exit code 0 骗了:一次浏览器 PDF 导出踩坑复盘 (Tauri中导出PDF文件)

文章摘要: 浏览器PDF导出常见陷阱:即使进程返回exit code 0且生成PDF文件,内容仍可能是错误页。核心问题在于浏览器多进程架构导致主进程结束≠渲染完成,临时HTML可能被过早删除。三大典型坑点:1)误判进程退出为业务成功;2)手工拼接file URL导致路径问题;3)旧输出文件造成假阳性。解决方案:采用三层校验机制(等待文件稳定+格式校验+内容检查),使用标准API转换路径,每次使用独立临时目录。排查时需确认PDF实际内容、保留临时HTML验证,并确保使用正确的file URL格式。

2026-05-26 14:33:43 391

原创 Redis 7 持久化机制

Redis 7持久化机制笔记摘要: Redis 7改进了AOF机制,采用多文件结构:manifest清单文件、base基础文件(RDB格式)和incr增量文件。数据恢复时优先加载AOF,遵循"base快照+后续incr回放"的顺序,确保数据完整性。混合持久化模式下,base文件前半部分使用RDB格式加速加载,后半部分保留AOF增量命令。关键配置包括appendonly、aof-use-rdb-preamble等。Redis 7持久化机制通过base地基+incr楼层的设计,兼顾了恢复速度

2026-05-11 09:26:16 355

原创 Redis RDB持久化之 save 自动备份检查机制

Redis RDB持久化的save机制采用固定时间窗口检查,而非滑动窗口。当自上次成功保存的时间差≥配置秒数且脏数据量≥配置变化次数时触发备份。Redis通过serverCron周期性检查,支持多条件并行触发。配置语法为save <seconds> <changes>,可通过INFO命令监控状态。最佳实践建议根据业务特点调整配置,避免常见误区如语法错误和重启误解。理解这一机制对合理设置备份策略至关重要。

2026-05-09 15:02:18 297

原创 云之家表单数据解析 skills (yzj-form-parser)

是一个专为处理云之家表单 JSON 数据而设计的 Claude Code 技能。它支持双向转换推送数据解析:从widgetMap提取业务字段(读取数据)审批发起构建:将业务字段转换为widgetMap(写入数据)

2026-05-09 15:01:17 401

原创 解析云之家数据推送示例(含有云之家密钥来源)

云之家通过Webhook推送加密数据到服务端,需要实现接收HTTP POST请求、AES解密和业务处理。核心工具类AESEncryptor采用AES/ECB/PKCS5Padding模式,结合Base64解码实现数据解密。接收接口需处理请求流、解密数据并异步处理业务。注意事项包括密钥管理、异常处理和安全加固。支持扩展至CBC模式,整个流程将加密业务数据通过HTTP传输后解密处理。关键是将底层加密API封装为业务友好工具,使接口代码专注于核心逻辑。

2026-04-28 10:42:46 243

原创 Docker Compose 安装 mysql

【代码】Docker Compose 安装 mysql。

2026-04-22 20:11:12 32

原创 Docker Compose 安装 Kafka

【代码】Docker Compose 安装 Kafka。

2026-04-22 19:55:35 52

原创 OpenClaw vs Hermes Agent:哪个更适合你的需求?

你见过 OpenClaw,也见过 Hermes Agent,两者都能在本地运行并连接到社交平台上。但你究竟应该为自己的使用场景选择哪一个呢?我在 10 个类别中对它们进行了正面比较,为每个类别选出赢家,最后揭示一个能改变比分的事情。在开始之前,先快速了解一下背景。OpenClaw 是一个围绕模块化网关、插件、渠道、工具路由等完整生态系统构建的开源 AI 代理平台。Hermes Agent 由 N Research 构建,该实验室背后有强大的开源模型,它是一个具有内置学习循环的单个自主代理。

2026-04-15 22:59:17 534

原创 有序的业务编号并发生成问题解决方案总结

业务编号高并发生成方案总结 问题背景:项目立项时需生成唯一编号(如XAJBJCL20260414001),原方案在高并发下出现重复编号问题。 解决方案演进: 数据库悲观锁:FOR UPDATE对空结果集无效,独立事务导致锁提前释放 本地锁:仅适用于单实例,存在事务自调用问题 唯一索引+重试:高并发冲突率高,性能差 Redis原子计数器:存在数据丢失和初始化并发问题 最终方案: 核心机制:Redisson原子计数器+分布式锁初始化 实现要点: 首次使用通过分布式锁安全初始化计数器 双重检查避免重复初始化 原子

2026-04-14 10:44:19 359

原创 Read Frog:一款开源的 AI 驱动浏览器语言学习扩展

定义你自己的翻译提示词,像专家一样翻译。为技术文档、文学作品或日常内容创建特定领域的提示词。使用[INPUT][TITLE]和[SUMMARY]等令牌构建动态、上下文感知的提示词。保存多个提示词模板,根据阅读内容随时切换。你的提示词,你做主。Read Frog 是一款简单、强大且易于使用的语言学习工具,通过 AI 技术帮助你更高效地掌握语言。无论是阅读外文文档、观看外语视频,还是学习新词汇,Read Frog 都是你的得力助手。

2026-04-12 12:59:34 599

原创 Ubuntu 22.04系统国内镜像源配置指南

本文介绍了Ubuntu系统更换国内镜像源的方法:1)备份原配置文件;2)使用vi或nano编辑源文件;3)提供清华、阿里云、中科大和网易四种国内镜像源配置示例;4)修改后执行sudo apt update更新。注意事项包括:需匹配系统版本代号(如22.04为jammy)、检查网络连接、推荐使用https协议等。操作前务必备份原文件以防配置错误。

2026-03-11 21:14:31 1141

原创 在wsl2中安装codex(原因是Codex在Windows中存在兼容问题)

本文提供了在Ubuntu/Debian系统上安装Node.js LTS版本和OpenAI Codex的完整指南。主要内容包括:1)通过官方源安装Node.js LTS版本并验证安装;2)全局安装Codex工具,配置授权文件的方法;3)推荐两款实用工具:CC Switch和wsl-dashboard(WSL管理工具)。文章配有详细的命令行操作步骤和界面截图,特别说明了Windows与Linux系统间Codex配置文件的迁移方法。

2026-03-11 09:38:26 942

原创 一篇讲清楚移位和异或

这篇文章详细讲解了移位和异或两种常见位运算的原理和应用。移位运算包括左移(<<)、带符号右移(>>)和无符号右移(>>>),分别实现二进制位的不同移动方式。异或运算(^)则遵循"相同为0,不同为1"的规则,具有可逆性和交换律等特点。文章重点分析了它们在哈希扰动、权限标记、状态压缩等场景中的组合使用,并澄清了常见误区。理解这些位运算的核心在于掌握"移位搬运位,异或混合位"的本质,这将有助于解读底层代码中的位操作逻辑。

2026-03-09 11:22:52 441

原创 HashMap 中 `hash` 与数组索引的计算原理

摘要:Java 8的HashMap通过h ^ (h >>> 16)扰动函数将key的hashCode高位信息混合到低位,改善低位分布均匀性;再利用(n-1) & hash位运算(n为2的幂时等价于取模)快速计算数组索引。这种设计在保证性能的同时,有效减少了哈希冲突。其中null key的hash固定为0,扰动函数并非强哈希但能改善低位分布,位运算替代取模的前提是数组长度为2的幂。

2026-03-09 10:54:20 379

原创 Spring-Gateway-理论知识总结/常问面试题

Spring Cloud Gateway 的本质不是“转发器”,而是微服务入口治理平台。路由设计清晰路径改写可预期过滤器职责单一可观测与韧性能力前置当你的网关从“能转发”升级到“可治理、可观测、可演进”,它才真正成为系统稳定性的核心基础设施。

2026-03-07 09:38:38 623

原创 Nacos `Client not connected / STARTING / Timeout`无法连接解决思路

而 Spring Cloud Alibaba 的注册过程需要 Nacos gRPC 通道,如果。+ 放行防火墙端口”解决,应用已成功启动。这次问题不是业务代码问题,核心是。仅证明了 HTTP 接口可用;后,应用启动恢复正常。,则会看到客户端尝试。,说明网络路径未打通。

2026-03-06 20:38:14 401

原创 Java实现富文本转PDF:支持自定义标题与二维码

在业务系统中,经常需要将富文本内容导出为PDF文档。本文介绍一种基于。

2026-02-28 09:35:31 528

原创 批量处理HTML转Markdown指南

本文提供的脚本可以一键批量转换HTML到Markdown,并自动处理图片路径问题。转换完成后,配合目录索引文件,可以在Obsidian等笔记软件中实现文档间的快速导航。

2026-02-27 10:47:01 511

原创 批量将目录下的HTLM文件转成MD文件,并且处理图片

【代码】批量将目录下的HTLM文件转成MD文件,并且处理图片。

2026-02-27 10:35:30 454

转载 Claude Code 完全指南:使用方式、技巧与最佳实践

本文转自 [https://www.cnblogs.com/knqiufan/p/19449849](https://www.cnblogs.com/knqiufan/p/19449849),如有侵权,请联系删除。

2026-01-16 09:19:56 2492

原创 【实战】Java 接入人脸识别(基于 DeepFace + FastAPI 构建高性能人脸识别微服务)

本文介绍了一种结合Java与Python优势的人脸识别微服务架构方案。通过Python的DeepFace库和FastAPI框架构建高性能特征提取服务,Java则负责业务逻辑和向量比对计算。该架构实现了计算密集型与IO密集型的分离,充分发挥各自语言优势。文章详细展示了Python端实现图片处理、模型预加载和API接口的关键代码,以及Java端进行余弦相似度计算的核心算法。这种跨语言协作方案既利用了Python在AI领域的丰富生态,又保持了Java在企业级开发中的主导地位,为实际项目提供了高效可行的技术路径。

2025-12-06 17:11:44 1072

使用Vue-Grid-Layout实现自定义工作台

使用Vue-Grid-Layout实现自定义工作台

2024-02-01

微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本

微服务项目容器编排docker-compose.yml、Dockerfile文件模板、相关配置文件、shell脚本

2023-08-24

libreoffice7.1.8 安装教程和启动kkfielview

libreoffice7.1.8 安装教程和启动kkfielview

2022-01-21

LInux真机安装JavaWEB环境

利用腾讯云服务器真机安装JavaWEB环境

2020-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除