摘要:
问题现象:在macOS中按如下命令安装nvm后重新打开控制台发现新加的nvm命令不生效,操作步骤如下: ~ % brew install nvm // 安装nvm 管理node版本 ~ % echo "source $(brew --prefix nvm)/nvm.sh" >> .bash_prof 阅读全文
摘要:
本周其他同事值班时,接到线上反馈账单问题并排查出来是我写的一段代码抛异常了。 于是找我聊。我写的这段代码背景是当时应付账单往下游推结算时需要将账单明细文件的url也传递下去,当时我写了一个方法入参是账单号,出参是url,但是这个方法处理过程中回去查询账单文件表,如果查到多条记录就会抛出异常,现在线上 阅读全文
摘要:
问题背景: 账单结算完成时需要更新对应账户余额。如果多笔账单同时结算完成,此时会同时更新账户余额。更新的步骤为,先查询账户当前余额,然后累加上本次账单金额,然后更新。例如,账单1和账单2同时查到当前账户余额为10元,其中账单1金伟为5元,于是先将余额更新为10+5=15元并提交事务,账单2金额为8元 阅读全文
摘要:
Spring Properties默认不支持通过通配符加载配置文件,如果需要,需要自己在@Configration文件中增加单独的配置代码: @Bean public static PropertySourcesPlaceholderConfigurer getPropertySourcesPlac 阅读全文
摘要:
Spring StateMachine 功能强大,适用于较复杂的场景,理解起来有一定难度,对于简单的场景,使用起来相对繁琐。经过一番查阅和了解,并不能找到适合我当前工作场景的成熟框架,因此决定自己写一个。 组件构成: 1)基础组件:事件、状态、状态转换 2)状态机接口:定义状态机具备的行为 3)一个 阅读全文
摘要:
先说一说不推荐大量采用属性构造器的理由: 容易违背单一职责原则 使用这种基于 field 注入的方式,添加依赖是很简单的,就算你的类中有十几个依赖你可能都觉得没有什么问题,普通的开发者很可能会无意识地给一个类添加很多的依赖。但是当使用构造器方式注入,到了某个特定的点,构造器中的参数变得太多以至于很明 阅读全文
摘要:
分页查询要求调用者传递页码和页大小信息,是为了解决数据量太大而消费端无法一次性接纳这么多数据时所采用的技术手段。 对于具有“页”概念的消费端来说,采用分页查询和加载数据的确便捷且有效,但是某些场景下,调用者其实并不想关心分页查询这种具体的技术方式,只关心还有没有数据待处理,此时如果再让调用者提供页码 阅读全文