buguge_个人页

个人头像照片 buguge
个人头像照片 个人头像照片
15
0
0

个人介绍

☀ 随写、跑步,一静一动,保持近10年的两个习惯在坚持。已分不清习惯于自律还是自律成习惯。 ☸ 研发一线TL,注重成本和绩效。大龄码匠,不停奔跑,才能留在原地。 ☂ 知识就是力量,但更重要的是运用知识的能力。会 is one thing,会用 is another。

擅长的技术

  • 数据库
  • 程序设计
  • Java
  • 企业应用业务场景实现
  • 开发者
获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
暂无更多信息

2024年08月

  • 08.05 19:59:58
    发表了文章 2024-08-05 19:59:58
  • 08.04 17:45:44
    发表了文章 2024-08-04 17:45:44

    有关于异常捕获点滴,plus我也揭揭apache-common ExceptionUtils的短

    本文通过示例展示了Java编程中异常处理的几种不当做法,包括无意义地捕获并重新抛出异常、改变异常堆栈信息以及私自“吞噬”异常等,并指出了这些做法可能带来的问题,如增加排障难度等。同时,文章推荐了在捕获异常后打印错误日志的良好习惯,并介绍了如何使用`try...finally`结构进行资源管理和程序状态记录。此外,还特别提到了Apache Commons Lang库中的`ExceptionUtils`工具类在记录异常堆栈信息方面的应用价值,但也对其某些行为提出了疑问,鼓励读者深入探究。

2024年07月

  • 07.30 20:47:59
    发表了文章 2024-07-30 20:47:59

    解决非Spring Bean访问Spring Bean的问题:实用指南

    在非SpringBean类中直接获取SpringBean可能会引发问题,例如上面案例里提到的空指针和自动装配失败。为避免这些问题,建议将需要访问Spring Bean的类也注册为Spring Bean,以确保依赖关系得到正确管理。
  • 07.29 10:04:27
    发表了文章 2024-07-29 10:04:27

    局部变量,在使用时再定义

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

2024年06月

  • 06.18 20:32:24
    发表了文章 2024-06-18 20:32:24

    【程序设计】做一个发送系统邮件的功能,如何设计数据表? 转至元数据结尾

    重构系统邮件发送旨在实现统一的邮件发送功能,通过公共API提供服务。设计包括两个核心数据表:`mail` 表用于存储邮件基本信息,如邮件ID、业务类型、发送者、标题、内容、附件信息、发送状态和时间戳;`mail_receiver` 表记录邮件接收者信息,包括邮件ID、接收者邮箱、接收者类型、发送状态和重试次数。为了优化查询性能,建议创建`Email_Content`表,将`content`和`attach_file`从`Email`表中分离,以减少主表大小。这有助于提高主表的查询速度,并通过定期的数据结转策略,确保热表只存储最近的数据。
  • 06.06 21:56:47
    发表了文章 2024-06-06 21:56:47

    不扒瞎,这个程序让我从150s优化到了5s

    在优化一个业务开发组的生产问题时,发现销售管理系统查询数据延迟高达2-3分钟。问题根源在于,程序在for循环中频繁读取Redis大KEY数据,导致性能下降。解决方案是采用本地缓存HutoolCache,将耗时降至毫秒级别。此外,还对RedisTemplate配置进行了研究,Jackson2JsonRedisSerializer在序列化时包括了所有字段,即使字段值为null,增加了数据体积。通过对ObjectMapper的调整,仅序列化非空字段,可以显著提升redis读取性能。本文同时还提醒我们在使用Redis时要注意大对象缓存,强调了正确使用和配置缓存以及避免大对象存储的重要性。
  • 06.04 10:12:19
    发表了文章 2024-06-04 10:12:19

    设计文档中的流程图,靠得住吗?

    本文讨论了软件开发设计文档中图形化设计图的重要性,如流程图、思维导图等,它们有助于清晰传达设计意图和提高沟通效率。然而,当面临迭代更新、人员变动时,基于截图的图形设计图可能会带来协作难题。作者提倡使用简单文字格式搭配标签和符号作为替代方案,分享了团队内部实践,通过表格来实现类似思维导图和流程图的功能,以增强文档的可维护性和协作性。同时,作者强调这不是反对使用设计图,而是提出在某些场景下的一种有效补充方法。
  • 06.03 19:41:26
    发表了文章 2024-06-03 19:41:26

    通过一次性能优化,再次记牢了mybatisplus的QueryWrapper、LambdaQueryWrapper、AbstractWrapper这三者之间的关系...

    本文描述了一次针对SpringBoot应用中MyBatisPlus分页查询的性能优化过程。在优化时,作者重写了BaseMapper的`selectPage`方法,通过`Wrapper`的`between`操作添加了ID区间限制以提升SQL执行效率。然而,由于在业务服务类中循环调用分页查询时未每次都创建新的`Wrapper`对象,导致`id BETWEEN ? AND ?`条件重复出现在SQL中。那么,如何解决这个问题呢?

2024年05月

  • 05.30 23:17:14
    发表了文章 2024-05-30 23:17:14

    HTTP的系统登录页面,如何避免明文传输用户密码?

    该文讨论了登录页面中密码安全传输的问题。当使用HTTP时,密码以明文形式传输,存在风险。在示例中,前端使用JavaScript的CryptoJS库和当前时间戳作为动态加密key对密码进行DES加密。后端接收到密文后,利用相同的时间戳解密。为了增强安全性,文章还建议使用RSA等非对称加密算法。
  • 05.30 22:45:27
    发表了文章 2024-05-30 22:45:27

    短信验证码登录接口,如何防止恶意攻击

    该文讨论了移动应用中常见的手机短信验证码登录(短验登录)的安全设计。后端通常需要提供获取短信验证码和手机短验登录两个API。为了增强机短验登录API的安全性,提出了几种无需依赖Redis等存储介质的方案:1)使用数字签名确保请求合法性;2)基于时间戳的验证,允许在一定时间范围内有效;3)应用TOTP算法生成动态码进行验证;4)利用JWTToken进行身份验证并设置有效期。文章强调了创新思考在解决安全问题中的重要性,并鼓励读者分享更多方案。
  • 05.30 22:38:38
    发表了文章 2024-05-30 22:38:38

    短信验证码登录接口,如何防止恶意攻击

    该文讨论了移动应用中常见的手机短信验证码登录方式,后端实现通常涉及两个API:获取短信验证码和短信验证码登录。在设计时,为增强短信验证码接口的安全性,提出了几种无需使用Redis等存储介质的方案:1) 使用数字签名,基于时间戳或随机数生成唯一签名进行验证;2) 基于时间的有效期验证,通过加密或修改时间戳形式确保安全性;3) 应用TOTP算法,按时间生成动态码进行比对;4) 利用JWTToken生成带有限期的签名进行验证。这些方法旨在防止恶意攻击并优化登录接口性能。

2023年09月

2023年08月

  • 发表了文章 2024-08-05

    通过一个简单的应用案例来说说迪米特法则

  • 发表了文章 2024-08-04

    有关于异常捕获点滴,plus我也揭揭apache-common ExceptionUtils的短

  • 发表了文章 2024-07-30

    解决非Spring Bean访问Spring Bean的问题:实用指南

  • 发表了文章 2024-07-29

    局部变量,在使用时再定义

  • 发表了文章 2024-06-18

    【程序设计】做一个发送系统邮件的功能,如何设计数据表? 转至元数据结尾

  • 发表了文章 2024-06-06

    不扒瞎,这个程序让我从150s优化到了5s

  • 发表了文章 2024-06-04

    设计文档中的流程图,靠得住吗?

  • 发表了文章 2024-06-03

    通过一次性能优化,再次记牢了mybatisplus的QueryWrapper、LambdaQueryWrapper、AbstractWrapper这三者之间的关系...

  • 发表了文章 2024-05-30

    HTTP的系统登录页面,如何避免明文传输用户密码?

  • 发表了文章 2024-05-30

    短信验证码登录接口,如何防止恶意攻击

  • 发表了文章 2024-05-30

    短信验证码登录接口,如何防止恶意攻击

  • 发表了文章 2023-09-06

    业务中台如何实现业务结果的回调通知

  • 发表了文章 2023-09-05

    支付系统-出金-【资金安全铁律】

  • 发表了文章 2023-08-29

    【五讲四美】之“讲思想”

  • 发表了文章 2023-08-28

    千人千面:来看看这道简单的SQL面试题——设计一个学生成绩表

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息