buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

随笔分类 -  TechArt

1 2 3 4 5 ··· 18 下一页

分页查询还在用create_time去做降序?
摘要:本笔记记录的这个案例非常经典,也在展示一种优化原则:有时,巧妙地利用现有资源,比盲目增加索引更能体现技术深度。 📌 问题定位:一个典型的排序慢SQL 在巡检中发现一条慢查询,其目的是获取签约信息表中最新创建的10条记录: SELECT id, batch_no, order_no, ... -- 阅读全文

posted @ 2026-02-04 23:01 buguge 阅读(9) 评论(0) 推荐(0)

研发笔记:如何消除长字符串的秘钥数据对RPC负荷、日志量、系统安全所带来的伤害?
摘要:0x01. 秘钥数据特征 以我们系统的数据表levy_merchant_relation为例,该数据表存储的是商户服务商关联关系。下面是与之对应的 LevyMerchantRelation 实体类结构,除了包括商户与服务商相关字段,还包括HTTP接口通信的秘钥和口令,如RSA公私钥、加密秘钥。 Le 阅读全文

posted @ 2026-01-13 22:29 buguge 阅读(15) 评论(0) 推荐(0)

未给entity的主属性赋值,Mybatisplus却抛出了type mismatch异常。——————分享一下Mybatisplus主键填充机制
摘要:建议在定义主键时,养成显式指定 @TableId 的 type 的习惯。这可以避免因依赖全局默认配置(可能被不同人无意中修改)而导致的意外错误,使代码更加健壮和可读。 阅读全文

posted @ 2025-12-24 21:04 buguge 阅读(53) 评论(0) 推荐(0)

在java中实现c#的int.TryParse方法
摘要:在Java中实现类似C#的 int.TryParse方法,确实能带来更安全、更优雅的编码体验(指数字转换)。 阅读全文

posted @ 2025-12-09 22:44 buguge 阅读(17) 评论(0) 推荐(0)

灵活用工平台-连续劳务所得税-计算器-工具类,拿走不谢
摘要:本文主要讲新规下互联网平台从业人员的劳务报酬所得的计算方法。 本文关键词:个人所得(个人收入);劳务报酬所得;互联网平台劳务报酬所得;个人所得税(本文简称“个税”); 阅读全文

posted @ 2025-11-12 22:38 buguge 阅读(138) 评论(0) 推荐(0)

两行日志的时间差很大,有经验的开发者会分析为...
摘要:先看下面代码截图: 然后看下面log: 1) 观察第一个红框中的两行log,16:40:02.446 - 16:40:01.964 = 482ms, 这个时间程序在做什么? 有经验的开发者会分析:可能是服务器GC过长、内存占用过大,导致业务处理能力下降。 2) 再来看看sql执行耗时 16:40:0 阅读全文

posted @ 2025-11-03 20:57 buguge 阅读(17) 评论(0) 推荐(0)

程序日志优化:精准捕获与日志分级,践行数字低碳
摘要:以京东为例,全面推进电子发票工作,仅2021年就开具了28亿张发票,由此节约的纸张相当于少砍伐31万棵成年树木。而微信支付各类场景下的电子发票开具,近五年累计实现碳减排量0.83万吨。此外,每次通过钉钉提交日志可实现减碳6.4g,线上考勤打卡实现碳减排29.1g,每次提交审批报销也可碳减排6.4g。 一条完整的异常堆栈日志可能超过100行,若此类异常每日发生数百次,其累积的存储和 processing 能耗不容小觑。 日志输出过多不仅影响调试效率,更是一种数字资源浪费。根据研究,一张A4纸的碳足迹约为16g二氧化碳当量,而存储在固态硬盘上的1TB数据产生的碳排放高达2.41kg二氧化碳当量。由此可见,减少不必要的数据输出,就是减少能源消耗,是技术人员对环保的实质贡献。 阅读全文

posted @ 2025-10-22 20:47 buguge 阅读(19) 评论(0) 推荐(0)

靠谱的程序员推荐阅读----->《阿里Java开发手册》【强制】所有的覆写方法,必须加@Override注解
摘要:将程序错误前置扼杀在编译期,是这个规约对我们开发者带来的最大的收益。 阅读全文

posted @ 2025-09-24 12:48 buguge 阅读(142) 评论(0) 推荐(0)

别滥用面向对象设计(OOD)中的继承:从一则简单的回调工具类的重构案例,来看OOP/OOD原则
摘要:博客园支持 mermaid 语法了,赞一个👍🏻 阅读全文

posted @ 2025-09-08 23:14 buguge 阅读(21) 评论(0) 推荐(0)

妙哉!这个业务语义化的Builder模式,让对象构建变得更稳、更准、更快
摘要:妙哉!这个业务语义化的Builder模式,让对象构建变得更稳、更准、更快还在用传统的builder模式来实例化构建对象吗?来,给你的程序注入点新鲜血液🩸! 阅读全文

posted @ 2025-09-08 22:55 buguge 阅读(53) 评论(0) 推荐(0)

【程序员英语】程序设计中,day 与 date 这2个单词的区别
摘要:程序设计中,day 与 date 这2个单词的区别 先看下面几个例句感受一下: What day is it today? - It's Firday. What's the date today? - It's September 10th, Teacher's Day. It takes me 阅读全文

posted @ 2025-09-01 22:19 buguge 阅读(68) 评论(0) 推荐(0)

程序设计原则 之——Fail-Fast
摘要:“一旦发现问题,立刻抛出异常,拒绝执行,而不是隐藏错误或进行可能导致不确定结果的尝试。” 阅读全文

posted @ 2025-09-01 21:52 buguge 阅读(103) 评论(0) 推荐(0)

【面向接口编程(IOP)典型场景】底层组件如何实现回调通知上层应用系统?
摘要:【面向接口编程(IOP)典型场景】底层组件如何实现回调通知上层应用系统?本文介绍了在账务插件开发中,如何通过“面向接口编程”实现异步转账完成后的回调通知机制。通过定义回调接口 `TransferCallback`,账务组件在异步操作完成后可通知上层应用进行后续业务处理。文章提供了纯 Java 和 Spring 两种实现方式的代码示例,展示了接口在插件化架构中的重要作用,体现了面向接口编程在解耦与扩展方面的优势。 阅读全文

posted @ 2025-08-24 18:37 buguge 阅读(98) 评论(1) 推荐(0)

一个表示金额的数字是 100000000L,这是多少米(多少钱)?【代码可读性实践】
摘要:一个表示金额的数字是 100000000L,这是多少米(多少钱)?【代码可读性实践】易读的代码(Readable Code)是高质量软件开发的核心要素之一 阅读全文

posted @ 2025-08-12 16:14 buguge 阅读(155) 评论(0) 推荐(0)

【分享排雷经历】系统引入Apache-Tika产生的NoClassDefFoundError错误
摘要:为实现文件导入的安全控制,在系统中引入了基于`Apache Tika`的文件类型校验机制。但在运行时出现`NoClassDefFoundError`,提示缺少`commons-io`类。经排查发现,`monorepo`依赖的`commons-io`版本(2.6)低于Tika 2.9.1所需版本(2.16.1)。由于系统依赖统一管理,直接升级`commons-io`可能影响其他模块。最终解决方案为降级Tika版本至2.4.1,该版本兼容`commons-io:2.6`,问题得以解决且功能满足需求。 阅读全文

posted @ 2025-08-07 23:30 buguge 阅读(133) 评论(0) 推荐(0)

`System.out.println(Object)` 的打印行为详解
摘要:System.out.println(Object) 是 Java 中最常用的输出方法之一,它的行为等同于 java.io.PrintStream#println(Object),因为 System.out 是一个 PrintStream 实例。 package java.lang; public 阅读全文

posted @ 2025-07-22 18:36 buguge 阅读(152) 评论(0) 推荐(0)

Javadoc can be as clear and readable as "@JsonUnwrapped"
摘要:🍀 🍀 The javadoc screenshot at first. 🍀 🍀 Let's take a glance at its javadoc bellow. package: com.fasterxml.jackson.annotation @Target({ElementType 阅读全文

posted @ 2025-07-18 14:35 buguge 阅读(12) 评论(0) 推荐(0)

SpringBean的静态字段/静态属性(static的field),支持Apollo配置热更新吗?
摘要:我们知道,springbean的静态field可以通过显式的setter方法(实例方法)实现注入。 下面LaborFeeCalculator,其中的 basePercentage 是一个静态field。通过显式@Value的setter方法来进行配置参数赋值。 @Component public c 阅读全文

posted @ 2025-07-11 22:12 buguge 阅读(84) 评论(0) 推荐(0)

Spring MVC中枚举序列化-如何处理VO中的枚举字段?
摘要:枚举是Java中表达有限状态的利器,使用枚举不仅可以增强类型安全,同时也会极大提升代码的可读性和可维护性。 阅读全文

posted @ 2025-06-16 14:21 buguge 阅读(122) 评论(0) 推荐(0)

上层应用如何为其所依赖的基础SDK里的静态属性赋值?
摘要:我们的系统对商户暴露了RestAPI,供合作商户以API的形式接入。为了提高合作商户侧API接入的开发效率,我编写了一个SDK。 下面 ClientApiUtils是这个SDK一个工具类,封装了API数据加解密、API数字签名的工具方法。这些工具方法都是静态方法。在这个 ClientApiUtils 阅读全文

posted @ 2025-06-05 09:45 buguge 阅读(71) 评论(0) 推荐(0)

1 2 3 4 5 ··· 18 下一页