1. 阿里云 oss sts 使用不当引起的 oom 问题排查

    阿里云 oss sts 使用不当引起的 oom 问题排查

    2022/08/22 oss, sts

  2. 使用 freeMarker 解析字符串

    背景 最近在做一个 java 代码脚手架,有用到 freeMarker 做模板引擎。脚手架中有一个功能,是需要根据传入的 groupId 来生成代码的包路径,该功能就需要用 freeMarker 解析文件的路径(字符串格式)。

    2022/07/24 bug, freeMarker

  3. 让 knife4j 配置更优雅

    背景

    2022/07/03 swagger, spring, knife4j

  4. 止于数据订正, 始于数据订正

    数据订正,是指为保证软件正常运行而直接修改数据的运维方式。它像英雄,在千疮百孔的软件系统中救各方于水火,却又像恶魔,在系统恢复后不愿被所有人提及。数据订正如同与魔鬼签订契约,它越好用,我们对它的代价就越讳莫如深。

    2022/06/04 specification

  5. 接口路径设计指南

    接口路径设计 背景 因网关直接对外,所以后端很多内部接口会在无意中被网关透传到公网。 建立统一的路径规则,方便拦截器统一做登录校验 需求 暴露给网关的接口,可以认为直接暴露给公网 暴露给外网用户的接口,要有明确标识,作用如下: 提醒开发要做特殊权限处理 代码走查时可以重点注意是否有安全漏洞 暴露给外网B端的接口都是经过网关权限验证的,不能给C端用户使用 暴露给运管的接口不能给C端用户使用 定时任务接口无需登录,但是不能透传给外部系统 系统无需登录必须有统一路径,以便登录拦截器统一配置规则 设计 暴露给C端、B端、运管端网关的接口虽然都可以对公网,但权限要求不同,因此路径前缀要分开: C 端 /open B 端 /biz 运管端 /admin 定时任务无需登录,但是权限较高,因此前缀也要独立: /task 不需要登录的路径额外加上 /na [表示not authed] 为方便网关以及权限适配,接口版本号应该放在最后,比如: 某个方法更新版本,则:user/list/v1、user/update/v1 某个模块更新版本,则:user/v2/list、user/v2/update 图示

    2022/05/31 specification

  6. BeanPostProcessor 在单测中的应用

    BeanPostProcessor 在单测中的应用 背景 项目的核心功能依赖第三方服务,封装在接口 RemoteService 的实现类 RemoteServiceImpl 中,并注册为 spring 的一个 bean。 和所有第三方服务一样,该服务并不稳定,这就要求单测时,必须要对该服务进行 mock。 相关基础代码如下 ```java /** 封装远程调用服务接口*/ public interface RemoteService { String getRepFromRemote(Integer param); }

    2021/01/17 spring

  7. 记一次死锁的排查过程

    一次死锁的排查

    2020/12/27 database

  8. spring 项目 集成 camunda

    需求 最近要启动一个故障自动化处理的项目。即在系统收到故障告警后,按照一定的规则进行故障的筛查和处理。

    2020/02/26 camunda