- 博客(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
原创 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
原创 日常开发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
原创 提示js方法未定义,但是确实<textarea>标签未闭合。
Uncaught ReferenceError: showOtherDismantleFn is not defined,提示js方法未定义,但是确实<textarea>标签未闭合。
2025-04-25 19:32:21
369
空空如也
如何用正则匹配到含日期的字符串
2017-05-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅