摘要:关于好代码的定义,各路大神都给出了自己的定义和见解 整洁的代码如同优美的散文。—— Grady Booch 任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。—— Martin Fowler 首先要达成一致,我们写的代码,除了用于机器执行产生我们预期的效果之外,
        
阅读全文
 
    
        
        
摘要:【技能与技巧】技能固然重要,如果再掌握一定的技巧,岂不是锦上添花如虎添翼!
        
阅读全文
 
    
        
        
摘要:我们做任何事情,其实是要考虑成本的。生产排障尤其衡量时间成本。长时间定位不到原因,无法及时反馈和修复,小问题也可能会升级为生产事故。
        
阅读全文
 
    
        
        
摘要:公司主做基于灵活用工市场的业务场景系统。企业为了把握市场先机,通常是业务先行,所以,首先会做业务系统。随着业务系统和交易量增多,内部管理系统也随之增加。 系统耦合 如下,上面是业务系统,下面是支撑系统。渠道商系统要计算渠道商分润,销售管理系统要统计销售业绩,报表系统呢,要出各种数据报表,这些支撑系统
        
阅读全文
 
    
        
        
摘要:日常开发,还是要关注一下程序设计,多考虑更好的实现方式,磨刀不误砍柴工。
        
阅读全文
 
    
        
        
摘要:今天运营反映了一个问题:用户在微信小程序端提交实名认证信息时,提示“不支持信用卡”。 直觉告诉我们,既然提示是“不支持信用卡”,那看来用户输入的银行卡号是信用卡。接下来直接去auth生产库的卡bin表查证,却发现此卡是借记卡。 显然,是程序出了问题。 我们看如下用户实名信息提交的处理时序,可见,卡b
        
阅读全文
 
    
        
        
摘要:目前在进行的Boss开工改版,需求版本比较大,涉及到灵活用工系统的全业务包括企业入网及配置、企业结算、充值分账、签约、下发、发票开具等各个环节,同时要兼容现网BOSS开工系统里存量客户和交易不受影响。虽然拆分成3次小迭代,不过每次迭代的开发任务也同样不容小觑。 因此,有必要站在更高更全面的角度来俯视
        
阅读全文
 
    
        
        
摘要:rpcapi虽然可以像程序内部api一样,支持java各种数据类型,可以像调用程序内部api一样调用rpcapi。不过,所不同的是,rpcapi应该处理各种可能的异常情况,而不是抛出异常。这使得rpcapi与restapi一样,不能只是返回数据(资源),而应该对可能出现的异常情况进行判断,比如参数合法性,数据是否存在,数据状态,程序异常,等等,当没有异常情况时,才返回所需数据(资源)。因此,就有了本文下文说的Result
        
阅读全文
 
    
        
        
摘要:这个问题暂且不表。我们先来看跨企业通信的业务回调通知。
        
阅读全文
 
    
        
        
摘要:在系统安全、信息安全、系统安全防御领域,短信盗刷是老生常谈的话题了。所谓安全,安防,说白了,是防君子不防小人的,道高一尺魔高一丈。我们只能做到更安全一些,最大程度减少恶意攻击导致的短信资源浪费。one,two,three,你品
        
阅读全文
 
    
        
        
摘要:分布式锁在技术层面有两种应用场景:1. 可以保证幂等性(防重与幂等有区别:幂等通常是对并发请求的防重控制;防重除了需要分布式保证幂等以外,还需要做数据防重校验,因为重复请求可能不是并发请求过来的,有可能是隔了很长时间的重复数据提交,就是用DCL)2. 实现进程同步(类似于线程synchronized
        
阅读全文
 
    
        
        
摘要:出现bug的,一般有两种心态:
- 啊?原来这样实现会出现bug呀!涨姿势了!
- 我知道这里可能会出bug,不过可能应该不会有那一天,以后再说吧。
        
阅读全文
 
    
        
        
摘要:╭────────────────────────────────────────────────────────────╮║..作者发现,本文被多个博客和网站转发。赠人玫瑰,手有余香!......................................................║║.
        
阅读全文
 
    
        
        
摘要:众所周知,org.apache.commons.lang3包里提供了StringUtils,用来对字符串判空、去除空格(trim)、取子串、去头去尾(strip),等等处理。apache之所以提供这个工具包,很容易理解,通过封装基本的操作,让我们只需关注企业应用开发即可。这样,一方面提高了开发效率,另一方面,更重要的,使得程序更易读易维护。这就是它的强大之处,许多的工具和框架也都是基于这样的理念。再来说StringCheckUtils,其实,和MapPPP一样,也是基于这个理念的延伸。
        
阅读全文
 
    
        
        
摘要:我的Tomcat版本是7.0.93;jetty版本是6.1.26。通过比较两者的servlet-api.jar,发现Tomcat7的servlet-api的版本是3.0,而jetty的servlet-api的版本是2.5。或许是这种版本的差异导致结果不同。
        
阅读全文
 
    
        
        
摘要:基本上每个企业应用系统都涉及到时间处理。我们知道,以前用java原生的Date+Calendar非常的不方便。后来Joda-Time诞生,Joda-Time是Java SE 8(Java8/Java1.8,我们口中说的Java8、JDK8、JDK1.8都是同一个东西)之前广泛使用的Java日期和时间
        
阅读全文
 
    
        
        
摘要:安全和稳定是三方支付系统的两个关键要素,系统开发要时刻紧绷这两根弦。安全要从服务器、网络、程序、数据、资金这几个方面来考虑。
        
阅读全文
 
    
        
        
摘要:商户手续费(MercFeeModEnum)的收费方式有 手续费计算类里,会根据商户的收费方式配置来计算手续费。配置值是0,则手续费是0;配置值是1,则计算手续费;配置值是2也会计算手续费,只不过定期收取;配置值是3则不计算手续费(手续费是0),同样收取方式同配置值2。 实时清分逻辑里,在调用记账时,
        
阅读全文
 
    
        
        
摘要:Java是一种强类型语言。通俗说就是,在Java中存储的数据都是有类型的,而且必须在编译时就确定其类型。
编程规范里,也强调数据要有明确的数据类型。这样会让代码变得很清晰,而且会规避不必要的麻烦。
        
阅读全文
 
    
        
        
摘要:继续讲枚举的使用。前文阐释了方法请求参数、方法返回值、POJO属性定义成枚举类型的好处。本文讲在方法里使用枚举的妙处。
        
阅读全文