- 博客(430)
- 收藏
- 关注
原创 基于DynamicDataSource整合分库分表框架Shardingsphere
会出现各种奇奇怪怪的报错,对此笔者结合报错原因查阅网上资料和底层源码运行机制找到了相对简单的适配步骤,遂以此文分享一下整个过程,希望对你有帮助。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。数据源完成了整合,实现多数据源场景下使用分库分表的操作,本文到此结束,希望这套方案对你有帮助。
2024-09-19 08:52:42
1030
1
原创 mini-redis如何解析处理客户端请求
因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注。自此笔者通过一篇文章, 介绍了笔者所实现的mini-redis中协议解析和指令处理的核心流程,希望对你理解笔者的源码有所帮助。协议的本质最简单的方式就是通过抓包的方式查看协议的基本格式和建立连接时的交互逻辑,所以这里笔者也贴出自己在研究。
2024-09-12 08:37:47
1509
原创 感觉你因为AI退化了?用Redis SCAN源码打脸AI时代的孔乙己
由此就出现上述的问题,假设我们指定scan的游标为0,定位到了桶0,与之对应存在2个元素,按照scan底层一个游标对应一个bucket的做法,scan扫描到两个当前桶中所有元素后,会直接写入到链表中,而对应的count检测是在bucket扫描完成之后的逻辑判断。假设我们初始化一个长度为4的数组,存放元素,通过顺序迭代算法,我们完成桶2的元素迭代,随后redis为避免极端的冲突导致读写性能下降,进行了一次渐进式rehash,构建一个长度为8的数组,逐步迁移桶2的元素到桶4中。
2026-05-17 22:34:39
346
原创 基于claude code的redis慢查询指令复刻实践
slowlog:慢查询列表,用链表的形式记录所有慢查询指令slowlog_entry_id:为了表示每一条慢查询指令,Redis 全局统一地维护了一个变量 slowlog_entry_id,采用自增的方式维护下一条慢查询信息的 idslowlog_log_slower_than:判定为慢查询的时间阈值,单位微秒slowlog_max_len:记录慢查询的链表的长度//保存慢查询日志的链表//下一条慢查询的日志id//慢查询日志的阈值//慢查询链表的最大长度//......128。
2026-05-11 10:44:35
449
原创 Claude Code 规则管理:Rules 拆分编排与迭代实践
同时,考虑到项目的体量,我们无法一次性完成规则的编排和粒度把控,笔者建议先全局初始化一份md文件并按照分段的方式划分规则,让这份规则跟随后续实际的迭代任务进行复盘升级,不断优化,使规则做到减少噪音的同时,保证较高的指令遵循度。因此,我们需要在保证规则精准的同时,避免非必要的规则文件造成噪声干扰。为了让读者更直观的了解规则的编写和维护技巧,笔者准备了一个典型的消息发送中心项目作为演示案例,演示一下如何针对一个既有的成熟的企业级项目进行规则初始化和复盘迭代升级,以提升AI的处理增量任务的指令遵循度。
2026-05-06 11:47:15
393
原创 Claude Code 记忆管理:CLAUDE.md 最佳实践
例如,要求 Claude 辅助优化代码性能时给出的指令是"注意考虑代码性能问题"——这就是典型的模糊描述,LLM 无法给出针对性的建议,可能只提供宏观的优化方案,最终要么过于复杂,要么无法解决实际问题。Claude 官方也提到,模型对 CLAUDE.md 内容的遵循率大约在 80% 左右,因此在上下文长度和遵循度的双重约束下,务必控制好文件长度。CLAUDE.md 是由用户手动维护的一份文档,为 Claude Code 提供一个持久的上下文,主要记录项目的构建命令、代码约定、项目结构和开发规范等信息。
2026-04-24 10:54:28
411
原创 Claude Code 实战指南:从安装配置到企业级开发流程
通过上文两个并行迭代的案例,我们演示cc使用过程中的一些常见的操作,这里笔者在介绍一些相对不常使用但相对实用的功能。claude code开始前后矛盾忘记之前的决策响应变模糊、笼统、细节减少反复询问之前已经回答过的问题需反复纠正同样的错误tokens:token窗口占用大约在13%,整体情况良好,没有超过压缩的阈值80%Estimated usage by category:代表各个类别的使用量,结合查询结果可以看出1. 系统提示词:占比 5.8k。
2026-04-22 10:40:40
612
原创 AI时代专注力培养
就像呼吸锚定法让大脑进入单一的"呼吸模式",单一任务法让大脑进入单一的"任务模式",两种训练的本质相同:一次只做一件事,让所有注意力能量集中在一个目标上。《刻意专注》作者杰哈指出,正确的训练和保养专注力,能让前额叶皮质的灰质密度增加、功能更强——灰质密度越高,大脑的"硬件配置"就越好,注意力控制能力就越强。这意味着如果你的大脑长期习惯这种频繁切换的模式,焦虑和急躁就不再只是偶尔的情绪反应,而会成为你的性格底色——引发专注的门槛变得越来越高,专注反而变成了需要"刻意用力"的事情。用小目标激活绿色注意力。
2026-04-12 15:26:42
662
原创 Spring Boot 启动优化实践
你是否遇到过这样的场景?灰度发布时,服务启动慢导致滚动更新时间过长;本地开发调试,每次重启都要等待漫长的时间。随着业务迭代和组件增多,Spring Boot 启动速度逐渐成为开发效率和上线效率的瓶颈。面对启动慢的问题,借助系统化的方法论与 AI 工具的协同,我们可以快速定位瓶颈并实施优化。以笔者近期为例,一个 Spring Boot 启动优化的任务,原本评估需要 2 天,实际不到半天就完成了。本着对解决方案的梳理和复盘,笔者创建了一个 demo 工程并以此文进行详细演示。本文将介绍:最终将服务启动时间从 1
2026-03-17 17:04:38
447
原创 记一次StarRocks源码级排错和既有架构优化实践
查看官方的说法是频繁的数据写入干扰FE 解析查询plan进而导致崩溃,按照leader对业务部的说法是这种情况本质就是流水表写入数据太过于频繁干扰了大量查询,所以只能通过重试解决问题。因为业务拓展,所有的报表查询都在sr进行,去年中断运营反馈查询时不时页面崩溃,查看The tablet write operation update metadata take a long time。本着业务维稳原则,我们在备库进行第一套方案的试运行,差不多一星期没问题后主库调整,备库进行一次滚动fe升级,并行执行。
2026-03-17 00:00:46
578
原创 千万级交易流水深分页查询优化实践
最早的思路是询问是否尝试打宽存储,经过业务层面一轮分析,涉及多出代码维护和状态机改动,即使通过redo log结合flink进行拼接同步,整体还是可能存在某张表字段同步异常导致账单数据错误的风险,于是还是考虑基于现有架构基础进行迭代优化。25年下半年业务体量直线增长,每日交易差不多是6000w笔,按照旧有逻辑交易数据会通过结转的方式存到历史表,但是针对当日的分页查询还是非常耗时。这些表量级基本控制在千单位以内,直接启动预热到redis中,这轮下来查询到4-6s左右,提升不大。先取出limit再关联。
2026-03-16 14:28:19
551
原创 对账核销场景设计与重构实践
所以这个跑批也是相对实时性的。明确的同步之后就是核销动作,因为监听与核销类似于跑批业务,按照组内规范更要将逻辑在XXL-JOB中开发,所以这其中就涉及到多标原子性的问题,基于上述几个动作大体得出,核销涉及账单核销记录、发票核销记录(其中发票还涉及明细项目),然后税差插入这几个属于实时一致性时间,封装成一个原子事务核销方法。针对欠票统计,属于针对这个月金额的核销,涉及各种汇聚结算,所以放在事务以外,定时定量执行,实时性要求不高,且汇总运算存在大表查询存在一定开销,这一步做是为了后续可能存在的优化工作做铺垫。
2026-03-13 15:45:19
509
原创 Spring AI Alibaba实战:JVM监控诊断Arthas Agent的工程化构建与最佳实践
文章摘要 本文基于Spring AI Alibaba框架,探讨如何将JVM监控诊断经验封装为智能agent。作者通过arthas工具实践,总结出AI agent开发的核心要素:Agent(大模型+工具+提示词)、Tool(外部调用能力)、Skill(可复用经验包)和ReAct范式(推理-行动循环)。文章详细介绍了JVM诊断agent的设计思路,包括用户提示词设计、工作流编排、命令行工具选型和arthas集成方案。该架构实现了确定性工具与不确定性推理的解耦,通过状态依赖的决策过程,将专家经验转化为可复用的诊断
2026-03-06 09:19:45
3432
1
原创 Spring AI Alibaba深度实战:一文掌握智能体开发全流程
本文介绍了Spring AI alibaba框架在Java生态中的AI应用开发能力。作者从AI核心概念入手,详细讲解了模型、大语言模型(LLM)、嵌入式模型的工作原理和应用场景,重点分析了提示词设计、Token机制和Tools工具调用等关键技术。通过KITE提示词框架和具体案例,展示了如何优化模型输出效果。文章还探讨了Token数量对模型性能的影响,以及Tools如何扩展模型能力。作者作为资深开发者和开源贡献者,分享了企业级AI应用的实践经验和技术见解。
2026-03-04 11:54:47
2003
原创 魔改Nightingale有感——面向后端开发的故障排查方法论
本文介绍如何利用Keynote制作高质量技术科普短视频。Keynote凭借低学习成本、丰富动画效果和Mac生态集成优势,成为技术内容创作者的理想工具。文章详细讲解竖屏画布配置、工具栏优化、字体形状设计等基础操作,重点演示构建动画和过渡动画技巧,并通过微服务架构案例展示动画制作流程。针对移动端特性,还提供短视频排版建议,如开场钩子设计、核心内容展示时长控制等。全文旨在帮助技术创作者快速掌握Keynote短视频制作方法,提升科普内容的表现力与传播效果。
2026-02-18 15:33:47
2606
1
原创 告别AI无效对话:资深工程师的提示词设计最佳实践
摘要:本文探讨了结构化提示词设计在AI编程中的应用,基于软件工程方法论提出了层次化标题和分段组织两大核心原则。作者分享了Markdown语法规范下的提示词编写技巧,包括输入输出标识、有序/无序列表使用、补充说明标注、术语特殊处理、内容强调方法以及语义槽位设计。通过实例展示了如何利用LLM的序列处理能力提升开发效率,为研发人员提供了工程化提示词设计的实用指导。文章还介绍了作者的技术背景与开源贡献,体现了其在分布式系统和高并发优化领域的专业经验。
2026-02-11 09:43:08
4782
1
原创 基于Vibe Coding的Redis分页查询实现
摘要 本文探讨了AI时代下的"氛围编程"(vibe coding)理念与实践。作者以Redis分页查询功能实现为例,展示了如何通过多轮对话与AI协同工作:首先澄清需求细节,然后生成设计文档,最后完成代码实现。这种开发模式将开发者从繁琐编码中解放,使其更专注于架构设计和方案评审。文章还分析了AI编程的三个阶段演进:编码氛围→应用氛围→需求氛围,指出随着AI发展,开发者将逐步转向更高层级的产品设计工作。案例中,AI成功完成了热点新闻数据生成和分页查询功能,代码质量良好,验证了vibe cod
2026-01-29 09:01:40
2724
原创 基于提示词工程与KITE框架的Redis签到功能开发实践.md
本文探讨AI时代下软件开发工程师如何通过提示词工程提升工作效率。文章提出应减少基础编码工作,专注于系统架构设计,并利用大语言模型的能力。重点介绍了提示词工程的KITE框架(知识注入、明确指令、设定目标、确定边界)及其应用方法,以Redis签到功能为例展示如何编写规范的提示词。同时分享了提示词调试技巧,强调通过多轮迭代优化提示词质量。作者还提供了个人技术公众号和开源项目信息,鼓励读者交流学习。
2026-01-27 10:00:08
1457
原创 VSCode与Claude Code后端开发环境搭建与AI编程工作流实践
本文介绍了如何在Trae IDE中搭建后端开发环境并快速入门AI编程。作者首先讲解了Trae的下载安装、语言配置、配色选择和VS Code配置导入等基础设置,并通过调试Redis源码验证环境配置成功。随后详细演示了Java后端开发环境的搭建,包括安装必要的插件(Java语言支持、Maven构建工具、Spring Boot扩展包)和创建Spring Boot项目。文章还展示了如何配置调试文件和验证调试功能,最后通过一个Hello接口示例快速上手Trae的CUE智能编程模式。该教程旨在为后端开发者提供AI编程的
2026-01-22 09:58:23
2160
原创 浅谈TDD模式下并发程序设计与实现
本文介绍了测试驱动开发(TDD)在并发缓存队列实现中的应用。作者通过一个有界缓存队列案例,演示了如何基于TDD模式完成功能开发、迭代和优化。文章首先阐述了并发编程的测试理念,强调安全性测试和活跃性测试的重要性。然后详细拆解了有界缓存队列的业务需求,设计了基于生产者消费者模型的实现方案,包括互斥锁和条件变量的使用。最后展示了核心代码实现,并说明如何通过测试用例驱动开发过程。全文以TDD为主线,结合并发编程特点,提供了一套完整的开发实践方法。
2026-01-15 10:07:49
654
原创 浅谈现代软件工程TDD最佳实践
正如上文所说的,强调先有测试,在通过测试驱动开发人员完成软件开发,即思想上让研发人员具备以终为始的一种软件设计思维,确保在研发开始的时候尽最大化努力按照可量化的标准正确的完成功能落地。所以这也是为什么笔者上文中的测试没有强调单元测试的原因,按照TDD研发人员在功能开发过程中基于自动化测试框架编写的单元测试基于业务要求得出的功能测试按照产品特定标准的软件验收测试。
2026-01-12 08:28:29
3709
2
原创 从操作系统底层浅谈程序栈的高效性
本文探讨了编程底层实现中的栈工作机制及其高效执行原理。文章从执行栈的基本概念入手,通过Go代码示例展示栈在函数调用和变量分配中的工作流程。随后深入分析了操作系统内存管理机制,包括伙伴算法的内存分配策略及其可能产生的碎片问题,以及CPU缓存行对性能的影响。最后揭示了栈执行高效的三大奥秘:预分配的连续内存空间、CPU寄存器对栈指针的精准控制,以及栈数据天然的局部性优势。这些特性使得栈操作相比堆内存更加高效可靠,为开发者理解编程语言底层机制提供了重要视角。
2026-01-07 09:16:57
711
原创 浅谈CPU流水线的艺术
本文深入剖析了CPU指令流水线设计原理与优化策略。首先通过指令串行执行的低效性(16ns完成4条指令)引出流水线思想,通过并行利用不同电路单元将执行时间缩短至7ns(提升56%)。进一步探讨了分级流水线设计在平衡性能与功耗上的取舍,并分析了结构冒险、数据冒险和控制冒险等竞争问题。随后介绍了乱序执行技术,通过保留站缓存和寄存器重命名解决指令依赖性问题,实现as-if-serial的并发效果。文章指出流水线技术虽能提升吞吐量,但需权衡深度与硬件复杂度,而现代CPU通过数据前推、分支预测等技术优化流水线性能。理解
2025-12-30 08:53:01
7827
原创 Mac常用快捷键与效率插件指南
本文介绍了macOS的快捷键配置调整与实用插件使用。主要内容包括:F1-F12功能键标准化设置、键盘键位适配调整(内置键盘与外接键盘)、F19虚拟功能键配置、输入法切换优化(解决输入法提示不显示问题),以及macOS基础快捷键使用技巧(如聚焦搜索、文件复制粘贴操作)。通过合理配置可提升Mac用户的操作效率,尤其适合从Windows转Mac的开发人员。文章还推荐了Karabiner-Elements等实用工具进行深度定制。
2025-12-29 08:58:54
3231
原创 浅谈传统并发编程的优化思路
本文探讨了并发编程中的性能优化理念与常见手段。文章首先分析了性能与可伸缩性的关联,指出优化本质是在有限资源下最大化效率,并列举了CPU、IO等资源密集型任务的识别方法。作者强调需要通过监控工具准确诊断任务类型,避免盲目增加线程数带来的额外开销。在可伸缩性方面,文章指出资源增加不一定提升性能,并通过单例模式的两种实现对比,展示了单线程优化可能破坏可伸缩性的案例。最后提出性能评估应基于基准测试,关注最差时间、平均耗时和可预知性三个指标,强调优化需要具体场景分析,避免过早优化带来的额外成本。文中还提供了开源项目m
2025-12-28 13:35:40
866
原创 浅谈Linux权限管理
明确上述ACL对应权限判定test具备读写权限后,最后在进行cgroup即硬件访问权限校验,和selinux(Security-Enhanced Linux一个限定服务进程最大限度减小系统服务进程可访问的资源)校验,只有着一切权限、安全规则校验都成功,自此,进程用户才能打开文件。ACL是针对文件一些更细粒度的访问权限控制,例如本例我们的info.log就给test用户配置的特殊的读写权限,对此我们可通过。这期间会经过重重函数调用,这里就不做展开,本质上就是携带文件名和需要的权限准备好,最终走到。
2025-12-26 08:48:19
1037
原创 浅谈并发编程等待通知模型
本文深入探讨了并发编程中的等待通知模型,通过实现环形有界队列分析了三种同步方案:异常式、轮询式和条件等待式。异常式简单但用户体验差,轮询式优化了用户体验但存在性能问题。最终提出基于条件等待的优化方案,通过阻塞等待和精准唤醒机制,在队列非满/非空时自动通知对应线程,有效避免了轮询开销,实现了高效的状态依赖性管理。文章还提供了相关代码示例和实现思路,为开发者提供了实用的并发编程优化方案。
2025-12-21 13:55:05
1066
原创 浅谈池化技术的优雅关闭
本文探讨了线程池优雅关闭的技术实现,重点分析了强制关闭线程池可能导致的数据丢失问题。作者通过日志线程案例指出,直接中断线程会导致阻塞队列中的未处理数据丢失。针对这一问题,提出了基于原子化标识的优雅关闭方案:通过同步锁检查中断标识,确保中断时队列数据完整处理,同时避免线程长时间阻塞。该方法实现了线程中断的及时响应、资源安全释放和任务完整性保障,为线程池关闭提供了更可靠的解决方案。
2025-12-16 11:20:34
691
原创 Linux上IO性能问题的故障排除实践
本文介绍了Linux系统IO性能问题的通用排查方法。首先通过top指令查看CPU等待IO的占比(wa),若超过30%-40%则可能存在IO瓶颈。然后使用iostat -x 1检查磁盘利用率(%util)和IO等待时间(iowait),当这些指标异常时,说明磁盘存在性能问题。最后通过iotop -o定位具体的IO进程,分析其读写操作情况。作者还提供了一个Java多线程读写程序示例来模拟高IO负载场景,帮助读者理解排查过程。这套方法可以帮助开发者快速诊断系统IO性能问题,保持对系统指标的敏感度。
2025-12-12 09:48:55
829
原创 Linux 性能问题排查最佳实践
本文介绍了Linux系统性能排查的通用方法论和实践,重点针对I/O性能瓶颈、CPU飙升和偶发CPU飙升三大经典场景进行分析。文章首先详细讲解了系统巡检的基本流程,包括查看系统负载(uptime)、内核日志(dmesg)、虚拟内存(vmstat)、CPU亲和力(mpstat)、进程状态(pidstat)、内存使用(free)、I/O性能(iostat)和网络流量(sar)等关键指标。针对每个命令的输出结果,文章提供了详细的解读方法,帮助开发人员快速定位系统性能问题。考虑到读者主要为Java开发者,文中案例均采
2025-12-11 09:20:14
879
原创 Java并发编程中的死锁问题
Java并发编程中的死锁问题与解决方案 摘要:本文深入探讨Java并发编程中的死锁问题,从哲学家就餐案例出发分析死锁的四大必要条件(互斥、请求与保持、不可剥夺、循环等待)。通过实际代码示例展示锁顺序死锁和动态函数死锁两种典型场景,并给出对应的解决方案。文章还分析了死锁带来的饥饿、响应延迟和活锁等危害,提出通过统一锁获取顺序、随机重试机制等技术手段来规避死锁问题。最后介绍了使用JStack诊断死锁的方法,为Java开发者提供实用的死锁排查和预防指南。
2025-12-09 14:09:12
1057
原创 基于arthas量化监控诊断java应用方法论与实践
应用系统监控也是软件研发中最重要的一环,从研发的角度来说,明确指出自己业务维度明确指出个人负责功能业务维度的系统监控指标,同时具备实时监控诊断的应对方法,是软件架构成功的重要的一环。笔者认为,一个健壮的系统运维监控体系是着重于强调量化且可感知观测的,在日常工作的对接中,我发现大量研发人员都有一种计算机文科化的趋势,小到应用程序指标调测,达到故障定位暴力迭代结合日志盲目推测。基于上述的说明,我们大体了解的监控诊断的一套理想架构,而本文将针对该架构进行演示和实践,按照。为方便与读者交流,现已创建读者群。
2025-12-08 09:01:44
610
原创 面向后端开发的故障排查方法论
本文分享了后端开发中故障排查的通用方法论。作者以修复开源项目Nightingale对ES9数据源兼容性问题为例,详细阐述了问题解决流程:1)拆解任务为可执行的小目标;2)通过调试定位问题源头;3)绘制执行流程图分析故障;4)采用最小成本改造方案;5)进行回归测试验证。文章强调将复杂问题拆解为具体步骤的重要性,并总结出通用工作方法:问题拆解、严格执行、精简解决、完整复盘。该方法论不仅适用于技术问题排查,也可推广到其他工作场景。
2025-12-05 10:01:10
619
原创 浅谈Linux基于信号处理中断的哲学
本文从操作系统角度探讨了进程中断和异常的处理机制。通过一个除法运算异常的案例,说明操作系统如何通过中断描述符表(IDT)定位异常处理函数,并投递信号(如SIGFPE)到进程信号队列。文章对比了中断(异步触发)与异常(同步触发)的区别,并分析了Linux如何优化传统Unix信号机制,通过64位信号表避免信号丢失问题。最后描述了内核态返回用户态的过程,完成中断处理的闭环。
2025-11-28 09:13:18
937
原创 深入源码解析synchronized关键字
摘要 本文深入剖析了JDK8中synchronized关键字的底层实现机制。通过ObjectMonitor结构体,详细阐述了线程竞争锁资源的流程:线程通过CAS获取锁,失败后自旋或进入阻塞队列;锁重入通过_recursions计数;调用wait的线程进入_WaitSet队列等待唤醒。文章结合源码分析了enter方法的上锁步骤,包括CAS竞争、自旋优化、锁升级等关键环节,并配以流程图辅助理解。最终指出synchronized通过CAS竞争和等待通知机制实现高效同步,在竞争激烈时主动挂起线程以减少CPU开销。
2025-11-25 10:13:41
62
原创 硬核安利一个监控告警开源项目Nightingale
本文介绍了夜莺(Nightingale)日志监控告警工具的强大功能,通过安装配置和Elasticsearch数据源对接,演示了如何设置日志采集和告警规则。作者详细展示了从二进制安装、数据源配置、日志查询到告警规则调测的全过程,并通过模拟错误日志触发告警进行验证。文章还解释了告警规则中持续时长等关键参数的作用,帮助读者全面了解夜莺的日志监控告警机制。
2025-11-11 09:23:58
1050
1
原创 聊聊我基于dict优化mini-redis数据性能这件事
本文介绍了mini-redis项目中字典数据结构的设计与重构过程,重点讲解了字典创建和键值对插入的实现细节。作者通过分析redis底层优秀的数据结构设计,将mini-redis底层数据库重构为dict字典结构。文章详细描述了字典的核心数据结构定义,包括哈希表、键值对等核心组件的实现,并深入讲解了字典初始化、键值对插入的算法逻辑,特别是redis优化的哈希取模位运算实现。通过代码示例和注释说明,帮助读者更好地理解这个开源项目的设计思路和实现细节。
2025-11-05 09:04:29
794
原创 来聊聊vibe coding
文章摘要:本文探讨了AI时代下的新型编程范式"vibe coding",通过与传统编程的对比分析其特点和优势。作者指出vibe coding将编程重心从代码实现转向功能设计,开发者可通过自然语言与AI协作完成开发。文章详细介绍了vibe coding的工作流程(设计-提示-生成-测试-优化阶段)和核心提示词理论,强调明确需求、具象化场景构思和MVP原则的重要性。同时指出vibe coding与传统编程应是互补关系,前者适合快速原型开发,后者在架构设计等复杂场景仍具优势。文末作者分享了自己
2025-11-03 14:08:01
1553
原创 从micrometer计量器角度快速上手promQL
监控的目的本质上是针对指标的趋势分析确保能够对系统有一个准确的决策优化思路,这其中就有一个比较经典的长尾问题,以我们监控接口耗时为例,1min内平均耗时为200ms,但是偶发出现5s,这种偶发波动对于rate等函数进行平均化之后就会被削平,从而无法及时的发现偶发飙升的数值进而无法及时发现问题,这种情况也就是长尾问题。从名字即可了解这个计量器本质上是一个只增不减的计数器,它是有状态的(即依赖于历史的值),从使用方法上来看,它是单调递增的且上界是不可确定的,所以使用。
2025-10-28 09:44:56
875
原创 Java监控度量Micrometer全解析
如下图,我们会将一个大文件进行切片,然后调用文件上传接口,将分片base64数据、源文件名称、分片大小、分片个数、索引号传到服务器上。这个是Spring框架自带的一个类,便于用户更好操作网络传输的文件,这个类为我们提供了很多便捷操作的API。getName() : 获取文件名 getOriginalFilename() : 返回客户端系统中原始文件名。getContentType() : 获取文件内容类型。isEmpty() : 判断文件是否为空。getSize() : 获取文件大小,以字节为单位。
2025-10-20 08:35:55
13279
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅