自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 问答 (1)
  • 收藏
  • 关注

原创 20260416,日常开发-再记一次内存溢出

本文记录了一次线上系统卡顿问题的排查与解决过程。多位用户反馈系统卡顿,经排查发现主要问题是RabbitMQ异常和crpc超时。10:19发现OutOfMemoryError异常后立即重启32.9节点,11:07定位到问题代码为车型参数查询导致的全表扫描(568万数据表)。最终通过修复代码并上线解决问题,从问题反馈到解决共耗时75分钟。经验总结:避免大表全表查询,需优化SQL性能。关键错误日志显示java.lang.OutOfMemoryError,问题最终得到有效解决。

2026-04-16 19:56:02 200

原创 20251125,内存溢出分享,纯干货

摘要:本文分析了两个线程堆栈,定位到DetectionAuditStaServiceImpl.timeoutList方法存在性能问题。问题根源在于对大表进行无条件查询(第90行),当重复执行该操作时导致系统崩溃。类似情况还包括循环查询、批量导入等操作。建议避免对大表进行无条件查询,优化查询逻辑,增加条件限制或分页处理,防止系统资源耗尽。

2025-11-25 19:12:32 276

原创 富文本编辑器(wangeditor)导入附件

富文本编辑器(wangeditor)导入附件

2025-01-20 15:47:04 1499

原创 记录一次内存溢出

线上内存溢出,步骤。

2024-04-15 19:54:42 1517

原创 20260929,日常开发-AI时代我们应该如何测试-BrowserSkill使用

BrowserSkill是腾讯开源的AI智能体工具,通过bskCLI与Chrome扩展实现对已登录浏览器的智能控制,解决Playwright等工具在维持登录态时的痛点。其核心价值在于打通开发上下游:上游以自然语言清晰表达需求,下游自动执行操作并生成测试报告,显著减轻开发负担,提升协作效率。

2026-09-29 15:10:18 208

原创 20260805,日常开发-AI时代还有多远

本文描述了一个开发者面对棘手的遗留项目需求时,通过GPT-5.6成功解决问题的经历。原本不愿接手同事遗留的"臭长"代码项目,尤其涉及复杂的数据处理和页面取值逻辑。但使用GPT-5.6后,仅通过简单描述新增字段、接口要求和数据存储方式,AI就完美生成了包括多文件附件支持、JSON存储转换等复杂功能的完整解决方案,一次性通过验收无需调整。作者对比之前使用的千问3.6,惊叹GPT-5.6的强大能力,表示"一战封神"。最后既表达了对AI技术发展的敬畏,也展现出接受技术变革的开

2026-08-05 11:36:30 34

原创 20260804,日常开发-观察与求助

【摘要】ERP系统跳转外部服务时报错404,排查发现是由于前端资源使用相对路径导致。当从ERP系统访问时,请求被错误路由到tqa.chaboshi.cn而非正确的treport.chaboshi.cn域名。问题根源在于项目打包部署时未使用绝对路径,导致跨域名访问失败。虽运维推诿责任,但最终确认是部署问题。经验教训:排查问题需保持冷静,多方协作,注意观察细节,尤其线上问题要及时发现处理。(149字)

2026-08-05 10:48:46 226

原创 20260609,日常开发-梳理代码,灵码妙用

【150字摘要】本文介绍使用AI工具灵码快速分析业务代码的实践。针对saveDetectionRecord方法,通过智能解析自动生成包含以下要素的技术文档:方法功能(车辆检测记录修改)、数据操作(6个表的UPDATE/INSERT)、消息推送(2类MQ通知)、RPC调用(3个服务)及变更日志(9种变更类型)。相比人工梳理,AI在3分钟内输出结构化Wiki文档,清晰展示280行代码的完整业务逻辑和数据流向,显著提升代码理解效率。该方法特别适用于多团队维护的复杂业务系统。

2026-06-09 17:26:51 355

原创 20260529,日常开发-查老数据全量更新闭坑

文章摘要:开发人员遇到保险审核列表查询异常问题,发现审核结果字段未被正确置空。经排查发现是CRM系统在自动分配审核任务时,通过查询旧数据全量更新导致字段被覆盖。最终解决方案是新建对象仅更新必要字段,避免全量更新引发的主从数据问题。总结得出:1)复杂问题需投入足够时间;2)紧急问题需优先处理;3)团队协作和精准定位是关键。该问题揭示了全量更新潜在风险,建议采用精准字段更新策略。(149字)

2026-05-29 20:12:46 201

原创 20260529,日常开发-数据库主从问题

文章摘要: 程序员遇到数据库操作报错问题,通过排查发现是由于使用了延迟较高的10库而非主从库导致。尽管同事认为主从延迟仅10秒,但实际数据显示延迟长达50分钟。最终通过检查DAO层数据源配置,将查询切换到主库解决问题。这个案例表明技术问题需要深入排查和较真精神,才能发现真正原因并获得成长。

2026-05-29 19:53:18 246

原创 20260527,日常开发-今日推荐灵码

本文记录了开发人员借助AI工具"灵码"重构复杂审核日志功能的经历。面对1500行的复杂方法,开发人员通过AI辅助实现了模块化部件信息提取功能。AI生成的代码与原逻辑高度吻合,仅需两处微调:1)修正了电池模块的误判逻辑;2)调整了检测记录类型参数。最终实现了基于基础照片配置和检测记录的五大模块(事故/泡水/火烧/车况/电池)部件分类功能。开发人员高度评价AI在代码重构中的表现,认为其大幅提升了开发效率,使开发者能更专注于业务逻辑而非底层实现。

2026-05-27 15:40:45 44

原创 2026年5月,软考高级架构师考题回顾

这篇文章讲述了作者参加国家软考架构师认证考试的经历。从2022年第一次听说这个考试,到2023年两次自学考试失败,再到2026年报班培训后再次尝试。作者详细记录了备考过程:3月报名培训课程,系统学习了计算机基础知识体系,并分享了考试的具体题型和答题情况,包括论文题、案例分析题和选择题。虽然经过认真准备,但作者对通过考试仍持保留态度,坦言即使是10年经验的Java开发者也觉得考试颇具难度。最后提到培训班的通过率数据(未报班21% vs 报班41%),表达了对考试难度的感慨,同时也保持平和心态看待结果。

2026-05-25 22:53:14 482

原创 20260420,日常开发-AI加持下的开发

本文记录了利用AI辅助开发完整需求的实践过程。通过豆包AI工具,开发者快速完成了接口定义、实体类生成、Controller层代码编写、数据库表基础层实现(包括Entity、Mapper、Service)等基础工作。AI还能理解业务需求本质,如自动生成"计算经纬度最小距离"等核心算法,并优化枚举转换等业务逻辑。实践表明,AI可高效完成约80%的基础编码工作,开发者只需专注于20%的特殊业务逻辑调整。这种"人机协作"模式显著提升了开发效率,建议开发者积极拥抱AI辅助编程技

2026-04-20 11:01:36 41

原创 20260417,日常开发-内存溢出再来,呵呵

摘要:本文分析了一个线上内存溢出问题,通过JProfile定位到两个主要内存消耗点:HashMap(609M)和char[](486M)。问题根源在于SellerUserServiceImpl.judgeSendOrderUserInformMessage4Bind方法中的字符串拼接和日志打印大Map。解决方案包括:1)使用StringBuilder优化字符串拼接;2)将日志打印改为只输出Map大小而非内容;3)优化Redis缓存操作,减少网络请求。同时指出了豆包方案的缺陷:破坏业务逻辑(丢弃后续用户信息)

2026-04-17 11:49:46 59

原创 20260312,日常开发-Apipost Cookie管理器配置

摘要:作者在使用Apipost维护接口时遇到项目无法调通的问题,发现请求参数丢失。通过浏览器打断点排查、咨询客服后,关闭Cookie管理器开关并升级版本解决了问题。虽然升级后的设置未立即生效,但最终成功调用接口。作者对Apipost客服的及时专业解答表示赞赏。整个调试过程体现了排查接口问题的典型思路:检查参数、工具配置、版本兼容性,以及善用客服支持。(148字)

2026-03-13 23:16:35 125

原创 20260313,日常开发-隐私手机号分享,有时候需要battle一下

本文讨论了业务开发中遇到的隐私数据使用难题:产品需求要求显示和检索用户手机号,但数仓因隐私安全问题拒绝在宽表中直接存储。通过AI建议,最终采用折中方案:数仓提供脱敏数据(隐藏部分号码)供业务查询,既满足检索需求又保障安全;真实号码通过单独接口按需获取。案例体现了不同立场下的方案平衡,强调通过充分沟通和创造性思维(如借助AI)寻找最优解,而非简单妥协或强硬执行。最终实现了效率、安全和需求的"三赢",展示了技术方案设计中换位思考的重要性。

2026-03-13 21:44:19 257

原创 20260306,cos上传文件底部空白。AI帮我改问题

摘要:用户反馈图片上传后浏览器显示底部白屏问题。通过测试发现,使用InputStream上传时存在三个潜在问题:1)available()方法返回值不准确;2)流只能读取一次;3)不支持mark/reset导致数据丢失。解决方案(commit263d22b)包括:1)先将流完整读取为字节数组;2)用字节数组探测内容类型;3)设置准确的文件大小;4)使用新的ByteArrayInputStream确保数据完整上传。该方案有效解决了白屏问题。

2026-03-06 20:28:52 251

原创 20260305,Hound 代码搜索工具

摘要:团队在将消息系统从ActiveMQ迁移至自研总线时,遇到消息归属不明确的问题。通过使用Etsy开源的Hound代码搜索引擎,有效减少了沟通成本。Hound基于Go语言开发,具有高性能、配置简单(通过config.json添加仓库)、支持实时索引更新等特点,可通过gitgrep+正则表达式快速搜索代码。该工具无需复杂配置即可快速投入使用,显著提升了问题排查效率。

2026-03-05 19:51:43 61

原创 20251215,豆包帮我写代码注释,靠谱吗?

摘要:本文记录了对一个6年历史的漆膜检测代码的优化过程。原代码120行无注释,逻辑复杂且维护困难。作者通过AI辅助生成带详细注释的优化版本,包含点位坐标计算、漆膜厚度显示、异常标记等功能。优化后代码增加了清晰的注释结构,但发现与线上版本存在差异,最终采取保守策略:保留原逻辑,仅移植注释内容。文章反映了处理遗留代码时的典型困境:在保持功能稳定性和提升可维护性之间的权衡,以及注释风格个性化的特点。

2025-12-15 11:35:42 376

原创 20251204,vue列表实现自定义筛选和列

摘要:本文介绍了如何快速实现复杂列表的自定义筛选和列显示功能。通过Vue+Element UI框架,开发了一个包含70多个字段的弹窗组件,支持用户勾选需要的筛选条件和显示列。关键技术点包括:1)使用el-dialog实现设置弹窗;2)通过v-if条件渲染控制筛选条件和列的显示;3)利用localStorage保存用户设置。原本预估3天的工作量,借助AI辅助生成代码后仅用3小时完成,展现了现代前端开发的高效性。文章还探讨了AI工具对传统开发模式的改变,认为在掌握基础语法后,结合AI能大幅提升开发效率。

2025-12-04 19:42:55 441

原创 20251204,职级权限,开发实践分享

本文探讨了基于树形职位结构的权限管理系统实现方案。系统以公司为根节点,构建包含部门、大区、城市等多层级的树状结构,实现勾选上级自动包含下级的权限继承机制。通过集合运算(获取产品运营负责人节点集合A与用户关联职位集合B的子节点集合C的交集D)实现权限过滤,并支持按城市、大区等维度查询。系统采用Redis缓存优化性能,建议通过增加path路径字段替代递归查询来提升效率。接口设计涵盖职位ID获取、城市列表查询、人员按角色过滤等功能,为培训系统提供完整的权限管理解决方案。

2025-12-04 10:52:38 410

原创 日常开发20251022,传统HTML表格实现图片+视频+预览

传统HTML表格实现图片+视频+预览

2025-10-22 11:01:00 558

原创 日常开发0928,后端代码优化(幂等、异步、平衡)

本文针对后台方法执行时间过长导致前端误报错的问题,提出异步执行优化方案。通过在主线程设置Redis锁防止重复操作,将核心业务逻辑转为异步执行,确保及时返回"操作已受理"提示。优化后实现了:1)幂等校验防止重复提交;2)主线程快速响应;3)后台异步处理大任务。但存在无法实时反馈最终结果的缺点,建议根据数据量级选择方案:小数据量用同步执行实时反馈,大数据量用异步方案。体现了技术方案需要平衡实时性和性能的设计思想。

2025-09-28 19:37:08 354

原创 日常开发-20250917

摘要:本文展示了两个AI辅助开发的场景。在第一个场景中,程序员使用AI工具"豆包"优化了一段Java后端代码,通过引入常量接口、拆分方法等重构手段,使代码更加清晰可维护。第二个场景描述了如何用AI快速生成美观的HTML表格邮件内容,仅需添加一行CSS样式就能满足产品需求,显著提升了开发效率。文章最后感慨AI技术已深度融入日常开发工作,成为程序员的高效助手。

2025-09-17 17:00:00 288

原创 前端开发,同源策略

Axios请求自动携带Cookie的原因在于浏览器的同源策略机制。同源请求(协议、域名、端口相同)时,浏览器会自动附加该域名下的Cookie,无需额外配置。跨域请求需同时满足:客户端设置withCredentials:true,服务端配置Access-Control-Allow-Credentials:true。类似PPUI的认证Cookie通常由服务端通过Set-Cookie响应头设置,浏览器自动保存并附加到后续请求中。前端也可通过document.cookie设置,但敏感令牌建议由服务端设置更安全。

2025-09-05 17:56:59 313

原创 接口很耗时,要不试试CompletableFuture.supplyAsync

摘要:针对传统前后端项目中页面加载慢的问题,一位同事通过引入线程池和CompletableFuture实现了性能优化。解决方案包括:1)自定义16-32线程的线程池;2)将原本串行的数据库查询操作(如evaluateContentIds处理)改为CompletableFuture.runAsync异步执行;3)使用supplyAsync处理有返回值的任务;4)通过allOf().get(5,SECONDS)实现多任务并行执行与超时控制。该方案有效提升了IO密集型操作的执行效率,特别适用于多第三方服务调用的场

2025-09-05 16:42:27 240

原创 Vue实践篇-02,AI生成代码

[摘要] 文章记录了一个前端开发问题的解决过程:作者需要实现动态表格、下拉框等复杂交互功能,在尝试AI编码工具后获得完美解决方案。该Vue组件实现了试卷评分功能,包含单选组、动态表格(可增删行)、下拉选择、输入框和备注区域。通过这段经历,作者深刻体会到:掌握基础知识后结合AI能力能极大提升开发效率,这种"不知所措→尝试→惊喜"的体验展现了AI编程的强大潜力。

2025-09-02 19:13:56 455

原创 传统web项目,vue开发实践篇01

本文分享了作者在Web开发中初次实战Vue框架的经历。文章重点记录了使用Element-UI组件库时遇到的三个典型问题:图标缺失(需下载字体文件)、表单校验方法兼容性问题(版本差异导致),以及el-container布局样式问题(需添加div层级)。作者通过实践体会到Vue框架"数据驱动"的优势,大大简化了页面布局和交互开发,对官方丰富的示例文档表示赞赏。最后总结Vue使页面渲染与数据分离,显著提升了开发效率

2025-09-01 11:23:27 464

原创 再来,一次内存溢出

摘要:服务器出现卡顿、白屏现象,CPU飙升。通过hprof文件分析,定位到4个项目中的线程问题。异常栈显示线程池和Redis操作存在性能瓶颈。主要慢方法集中在审核页面、消息消费和检测看板等高频调用接口,部分请求耗时高达50秒。通过网关日志发现/detectionContract/list和/detectionOM/cityDetail接口存在严重延迟。解决方案包括调整消息总线、优化线程池、增加日志监控等。反思指出工具链(JProfiler、Prometheus)和系统性排查的重要性,但承认部分问题可能无法立

2025-08-29 19:52:36 475

原创 日常开发-6,老项目日期和数字格式化,velocity模板

摘要:文章讨论了在老项目中通过Apache Velocity模板引擎处理数字和日期格式化的方法。项目中采用$number.format("#0.00",$value)格式化数字,$date.format()处理日期,这些18年前的技术虽然老旧,但依然有效。作者认为技术选择应注重适用性而非新旧,这些经过时间验证的方案在维护老系统时仍然实用可靠,体现了"合适比先进更重要"的工程理念。

2025-08-18 14:40:06 298

原创 日常开发-5,工具使用。datagrip mysql 写查询语句 数据库表名和字段 无法提示

摘要:DataGrip 2021.3.1版本出现MySQL查询时表名和字段无自动提示问题,严重影响开发效率。解决方法为重启软件,并注意勾选相关提示选项即可恢复功能。该问题属于突然出现的异常情况,非持续性问题。

2025-08-08 19:28:09 523

原创 日常开发-4,代码优化。deepseek和kimi,你喜欢哪个

都很棒,两个都喜欢。我直接用的kimi,哈哈。deepseek也看了下,对齐的,注释写的很好。开发完一个功能,有一段代码,第一次维护平台,想着如何优化下,就问了问AI,看看。两者就是代码风格上,一丢丢区别。

2025-08-07 13:56:27 365

原创 日常开发-3,DataGrip 中更新单字段导致全表更新的问题

使用DataGrip时避免全表更新的安全配置建议:1.启用安全更新模式(提示确认/默认只读);2.限制可编辑行数(如1000条);3.强制要求主键才能编辑;4.设置应用更改前显示SQL。建议查询时明确包含ID字段和WHERE条件,编辑前仔细检查生成的SQL语句。2021.3.1版本可通过Settings→Database调整相关选项,建议创建安全配置文件供日常使用。关键是要养成先预览SQL再执行的习惯,避免意外全表操作。

2025-08-06 11:19:53 766

原创 开发日常-2,如何去去除代码的if判断(java设计模式实践)

本文展示了一个优雅的订单状态变更监听设计方案。通过工厂模式+策略模式实现高扩展性,将不同状态的处理逻辑封装在独立类中(如DetectionDetailStatus10ChangeServiceImpl等),实现业务隔离。核心组件包括:1)消息消费者进行基础校验;2)状态处理接口统一规范;3)工厂类自动装配所有实现并路由到具体处理器。新增状态只需添加实现类,符合开闭原则。系统具备日志记录、异常处理等基础能力,通过接口隔离使各状态业务互不影响,整体架构清晰、扩展灵活。

2025-07-17 19:32:45 239

原创 开发日常-1,通用自动分单系统设计指南

《智能分单系统的两种核心模式解析》 摘要:本文探讨了自动分单系统的两种核心分配模式。通过具体案例展示:1)即时分配模式(单子找人),适用于实时来单场景如外卖/打车;2)延迟分配模式(人找单子),在检测师完成当前任务后主动获取新任务。系统设计需考虑需求-资源匹配模型、动态权重分配等要素,实现方式包括实时调度引擎、智能匹配算法(距离/能力/负载综合评分)和弹性分配策略。优化方向涉及预测性调度、动态规则引擎等,评估指标应包含效率、质量和平衡三个维度。不同业务场景需灵活选择分配策略,并通过数据持续优化算法。

2025-07-08 17:55:52 427

原创 (AI如何解决问题)在一个项目,跳转到外部html页面,页面布局

问题的答案很简单,但是过程很有意思。我只是朦胧知道现状和我想要的,AI一下。如何解决变为了如何选择方案。换做之前,我会找一个前端帮忙看看,搞一下,现在我自己就可以。

2025-07-04 17:55:19 255

原创 日常开发小结,耐心、格物找到题眼

日常哪有那么多技术,就是写普通的问题查找。

2025-05-15 11:31:14 317

原创 js showModal 弹框不显示

好好的代码,就是弹框不显示(而且就我的弹框)。原因是标签不闭合,把我的弹框代码包起来了。

2025-04-30 09:00:00 387

原创 支付场景下,乐观锁的实现(简洁版)

数据库 revision     bigint     字段,如何实现乐观锁。

2025-04-25 20:02:41 1083

原创 提示js方法未定义,但是确实<textarea>标签未闭合。

Uncaught ReferenceError: showOtherDismantleFn is not defined,提示js方法未定义,但是确实<textarea>标签未闭合。

2025-04-25 19:32:21 369

空空如也

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

TA关注的人

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