buguge - Keep it simple,stupid

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

导航

随笔分类 -  TechArt

上一页 1 2 3 4 5 6 ··· 17 下一页

代码 “歪楼”:Money 类在程序里的离奇 “旅程”
摘要:原文:https://www.cnblogs.com/buguge/p/18763748#_label0 以下是与豆包的dialog↓ $ 请将这段话以诙谐的方式来表达出来 宝子们,今儿必须吐槽下咱程序里这段代码,简直要把我笑不活了! 系统公共包里有个Money类,它有fen()和yuan()两个方 阅读全文

posted @ 2025-04-05 19:15 buguge 阅读(65) 评论(0) 推荐(0)

恕我直言,你不懂开发
摘要:恕我直言,你不懂开发"任何一个傻瓜都能写出计算机可以理解的代码,唯有能写出人类容易理解的代码的,才是优秀的程序员。" 阅读全文

posted @ 2025-03-30 22:45 buguge 阅读(27) 评论(0) 推荐(0)

缓存过期的惰性删除(Lazy Deletion)策略
摘要:缓存过期 - 惰性删除(Lazy Deletion)是一种用于处理缓存过期的策略,它在读取缓存数据时才去判断缓存项是否过期,如果过期则将其删除并返回空值,而不是在缓存项过期的瞬间就立即进行删除操作。以下从原理、优缺点、适用场景、实现示例几个方面为你详细介绍: 原理 在采用惰性删除策略的缓存系统中,为 阅读全文

posted @ 2025-02-27 22:33 buguge 阅读(90) 评论(0) 推荐(0)

Oops! 更改field的数据类型,影响到rabbitmq消费了...(有关于Java序列化)
摘要:程序中有如下entity类-LevyPaymentFlow @Data @TableName(value = "levy_payment_flow", autoResultMap = true) public class LevyPaymentFlow implements Serializable 阅读全文

posted @ 2025-02-20 15:20 buguge 阅读(62) 评论(0) 推荐(0)

【注意】sql语句where条件中的数据类型不一致,不仅存在性能问题,还会有数据准确性方面的bug...
摘要:隐式类型转换规则 MySQL 在进行比较操作时,如果比较双方的数据类型不一致,通常会尝试将其中一个数据类型转换为另一个数据类型,以便进行比较。 对于 select * from t_order where order_no = 1538808276987285507 ,当 order_no 为 va 阅读全文

posted @ 2025-02-10 22:32 buguge 阅读(136) 评论(0) 推荐(0)

状态机幂等
摘要:与版本号乐观锁相比,有所不同的是,使用状态机幂等,可以不用事先查询数据。 阅读全文

posted @ 2025-01-16 21:37 buguge 阅读(104) 评论(0) 推荐(0)

来了,资金类交易业务(如电商交易、支付结算)中,经常提到的Money类!
摘要:资金类交易业务中 经常提到的Money类,大家了解一下。 了解了Money类,就会对资金类业务如电商交易、支付更了解。 阅读全文

posted @ 2025-01-07 15:24 buguge 阅读(271) 评论(2) 推荐(0)

浅谈分布式锁的常用实现
摘要:序言 在单机系统里,如果有多个线程要同时访问某个共享资源的时候,我们可以采用线程间加锁的机制,即基于 mutex(互斥锁),当某个线程获取到这个资源后,就需要对这个资源进行加锁,当使用完资源之后,再解锁,其它线程就可以接着使用了。例如,在 Java 中 synchronized/Lock 等。 如今 阅读全文

posted @ 2024-12-27 18:09 buguge 阅读(106) 评论(0) 推荐(0)

系统网站登录,如何合规传输用户登录密码?
摘要:这里要说的是,用户登录密码属于用户隐私数据。首先,隐私数据属于敏感数据,不能明文传输;其次,系统server端不能直接触碰用户密码。 阅读全文

posted @ 2024-12-17 21:42 buguge 阅读(541) 评论(3) 推荐(0)

开发一份API接口,需要注意这些,看你做到了几项
摘要:本文介绍了设计API接口时需注意的关键点,包括数字签名、敏感数据加密与脱敏、限流、参数校验、统一返回与异常处理、请求日志记录、幂等设计、数据量限制、异步处理、参数定义、完整文档及开发者对接SDK等内容,旨在帮助开发者设计出安全、稳定、易维护的API接口。 阅读全文

posted @ 2024-11-20 10:16 buguge 阅读(476) 评论(0) 推荐(1)

【开发笔记241025】她趣介意时效超5分钟的付款交易。简单一招,应对!
摘要:她趣介意时效超5分钟的付款交易。简单一招,应对! 我们平台近期入网一个新客户是她趣。她趣这个企业比较关注下发时效,他们那边系统做了告警,当存在超5分钟时效的交易,就会发告警。然后,那边的人就来质问。并声称,现在只是放了3%的量,就总出现下发慢的交易,如果10月份剩下的这5天里依然存在,就不打算用我们 阅读全文

posted @ 2024-10-31 20:56 buguge 阅读(122) 评论(0) 推荐(0)

Mybatisplus TableInfoHelper:获取entity对应的数据表字段列表
摘要:如题,调用 TableInfoHelper#getTableInfo(clazz) 这个工具方法可以得到entity类所对应的数据表的字段列表。 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper; import com.bao 阅读全文

posted @ 2024-10-23 19:45 buguge 阅读(497) 评论(0) 推荐(0)

spring mybatis upgrade to mybatisplus 实战小记
摘要:spring-mybatis项目集成Mybatisplus实战小记 阅读全文

posted @ 2024-10-22 09:27 buguge 阅读(829) 评论(1) 推荐(0)

程序埋点(Event Tracking)
摘要:程序埋点(Event Tracking)是指在软件程序中嵌入记录用户行为或系统运行状态的代码,以便收集数据用于分析和监控。程序埋点通常用于分析用户行为、性能监控、问题排查、产品优化等目的。 何时使用程序埋点: 用户行为分析:了解用户在应用中的行为,例如点击量、页面访问次数等。 性能监控:监控应用性能 阅读全文

posted @ 2024-09-27 09:00 buguge 阅读(135) 评论(0) 推荐(0)

系统里这个同时查冷热表的sql,动动手指,从12s降到3s
摘要:系统将交易数据按交易时间分为热表(最近3个月)和冷表(3个月前)。为保证用户体验,当企业门户端查询跨越冷热表时,尤其针对大客户,查询性能优化至关重要。以下是程序的SQL查询语句及其优化版本。 阅读全文

posted @ 2024-09-26 21:18 buguge 阅读(74) 评论(0) 推荐(0)

redis序列化数据时,如何包含clsss类型信息?
摘要:通过配置 `com.fasterxml.jackson.databind.ObjectMapper` 的 `enableDefaultTyping` 方法,可以使序列化后的 JSON 包含类信息。 阅读全文

posted @ 2024-09-24 20:11 buguge 阅读(240) 评论(0) 推荐(0)

niubility!即使JavaBean没有默认无参构造器,Fastjson也可以反序列化。- - - - 阿里Fastjson反序列化源码分析
摘要:本文详细分析了 Fastjson 反序列化对象的源码(版本 fastjson-1.2.60),揭示了即使 JavaBean 沲有默认无参构造器,Fastjson 仍能正常反序列化的技术内幕。文章通过案例展示了 Fastjson 在不同构造器情况下的行为,并深入探讨了 `ParserConfig#getDeserializer` 方法的核心逻辑。此外,还介绍了 ASM 字节码技术的应用及其在反序列化过程中的角色。 阅读全文

posted @ 2024-09-21 11:33 buguge 阅读(330) 评论(0) 推荐(1)

java中的enum-java中特殊的class;通过字节码来分析enum构成
摘要:§1 先思考一个问题 先思考一个问题:我们在enum类里,可以直接使用 values() 或 valueOf(String name) 方法,我们也没有在enum类里定义这两个方法,怎么就能直接使用呢? 这里先按下不表。 下面是正文。 §2 enum类及其编译后的字节码 在java编程中,我们经常会 阅读全文

posted @ 2024-08-29 20:32 buguge 阅读(198) 评论(0) 推荐(0)

解决非Spring Bean访问Spring Bean的问题:实用指南
摘要:在非SpringBean类中直接获取SpringBean可能会引发问题,例如上面案例里提到的空指针和自动装配失败。为避免这些问题,建议将需要访问Spring Bean的类也注册为Spring Bean,以确保依赖关系得到正确管理。 阅读全文

posted @ 2024-07-31 09:31 buguge 阅读(330) 评论(0) 推荐(0)

局部变量,在需要时再定义
摘要:关于局部变量,适时定义可以提高代码可读性并规避不必要的bug。示例代码中,为了避免误解`checkTaskApplyDTO`仅设置了`userId`,在`existAppliedTask`方法内部,可以通过将`checkTaskApplyDTO`的定义与设置属性的操作靠近,以明确其所有属性值的来源。另外,本文还展示了一个因提前定义变量`ret`而导致的bug实例。如果将此变量的定义延迟至其实际使用前,则可以避免此类问题。适时定义变量有助于减少混淆,提高代码质量。 阅读全文

posted @ 2024-07-30 09:00 buguge 阅读(43) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 17 下一页