摘要:如果把某域定义成了枚举,那么,正确使用枚举要注意如下几点:
除了对外交易的输入输出,程序内部涉及到该域的,一律用枚举类型。例如:方法参数、bo的属性。
接收到外来的数据后,在使用该域时,应先把该域转换成枚举类型。
要做到上面几点,容易,也不容易。
阅读全文
摘要:如果把某域定义成了枚举,那么,正确使用枚举要注意如下几点:
除了对外的交易,程序内部涉及到该域的,一律用枚举类型。例如:方法参数、dto的属性。
接收到外来的数据后,在使用该域时,应先把该域转换成枚举类型。
要做到上面几点,容易,也不容易。
阅读全文
摘要:代码重构方面讲究DRY编程原则。我们在设计流程图、时序图、计划、接口文档等等,同样要遵循这样的原则,以免给别人的理解造成困惑。
阅读全文
摘要:对待别人系统的缺陷,我们吐槽往往毫不留情。而反之呢,我们却不屑于改正这种“缺陷”
阅读全文
摘要:public void error(String msg, Throwable t);与public void error(String format, Object arg); 比较这两个方法签名,可知作者在代码可读性方面很讲究
阅读全文
摘要:写在前面 支付结果回调通知:支付完成后,上游第三方支付渠道会把支付成功的结果以回调通知的形式发送给商户系统,商户系统需要接收处理,并按文档规范返回应答。 上游发送通知,安全方面会做数据签名(根据特定签名规则,通过商户号和签名私钥来生成),请求报文里会包含支付信息(如支付单号、支付金额)。 微信支付官
阅读全文
摘要:支付中心Project重构完成,经过本地测试,并未发现问题。发布到测试环境后,测试发现请求光大扫码https接口时,出现了如下的异常: 这个问题曾困扰了一哥们好几天,做了一些尝试,奇迹却未如愿出现。加上工作任务多,哥们很有些烦恼。 领导说让我来协助一下。分析caused by的堆栈,可以看到问题出在
阅读全文
摘要:因为每个枚举常量只有一个实例,所以如果在比较两个参考值,至少有一个涉及到枚举常量时,允许使用“==”代替equals()
阅读全文
摘要:pattern %t / %thread-输出的是产生日志的线程名。线程名会重复,需更改线程名的值为一个唯一值,来实现唯一&统一标记一次请求的所有日志
阅读全文
摘要:做个代理接口。什么意思呢? 就是写个http接口部署到web容器里,让JMeter直接调用这个http接口。而这个接口的逻辑是封装了溢+接口需要的请求报文(参数和参数签名),然后来调用溢+接口。
这么一中转,问题就迎刃而解了。
阅读全文
摘要:即,应用程序对每一次请求的处理过程所记录的日志统一打了一个标识。 这样,在系统运维过程中进行排障时,尤其在并发请求的情况下,即使日志记录得你中有我我中有你,也很容易就可以查到处理某次请求的来龙去脉,进而帮助我们快速定位原因。我对这种日志记录实现方式屡试不爽。
阅读全文
摘要:8个派生都这么改还是挺麻烦的,也违背了OCP原则。另外,从领域的角度来说,logFlag参数与整个功能并无关系,只是为了完善记录日志才“生硬地”加这么一个参数。所以,上面的实现方案不妥。改为封装一个LogFlag属性。这样,只需修改基类,派生类无需任何改动。调用方在实例化对象后,可以为LogFlag属性赋值(if possible)
阅读全文
摘要:溢+支付是公司刚投产不久的项目,还有很多的事情要尝试、摸索、探索,项目内缺乏专业的支付人才包括结算、运营、产品和技术,对于创业公司的这种项目,而不是总是想着大而全。那样只会耗费人力和时间成本。单就支付渠道对接来说,我们对接的渠道也有十几家了,但是,目前在商用的也就是中信、易宝的支付和代付,更多的对接工作变成了无用功。这其中,大家免不了相互吐槽,带来负能量。所以,小步稳跑或许才是比较好的节奏。
阅读全文
摘要:COE(Correction Of Error)是我们在JD研发部时使用的一种事故&问题处理反馈方式。
阅读全文
摘要:产品设计上有一条重要的原则:Don't Make Me Think,同样适用于软件设计
阅读全文
摘要:之前的一些重构,由于缺乏聚合支付方面的领域知识,是有些欠火候,一些解耦和封装,连自己都认可不了。也就在近期,将支付中心做了一次系统性的重构升级。
阅读全文
摘要:你还以为走路是世上最简单的事情呢?只不过是把一只脚放到另一只脚前面。但我一直很惊讶这些原本是本能的事情实际上做起来有多困难。而吃,吃也是一样的,有些人吃起东西来可困难了。说话也是,还有爱。这些东西都可以很难。--摘自蕾秋·乔伊斯《一个人的朝圣》
阅读全文
摘要:_ _
\. _(9> <6)_ ,/
\==_) (_==/
-'= ='-
阅读全文
摘要:系统中有个结算的逻辑,每张订单到了账期日后,平台会给商家进行结算。涉及到账户方面的操作包括,平台账户余额的扣减和商户账户余额的增加,以及账户流水的记录。
像这个场景,如果不考虑并发的话,那么很容易出现数据不一致,导致记账混乱。 当然,这是比(xiāng)较(dāng)要命的!tag:并发,lock,多线程,时间戳,timestamp
阅读全文