LIANG.FEI

職人になる男だ

Mockito 详解(二)插件机制

Mockito 通过插件形式对外提供了扩展能力,本篇主要分析其插件加载原理。 注册插件插件通过 PluginRegister 进行注册,现在只支持四个组件,分别是: MockMaker StackTraceCleanerProvider InstantiatorProvider AnnotationEngine PluginRegistry 是 package 级别的 class,其初......

Mockito 详解(一)基本用法

Mockito 是一个用于 Java 单测的 Mock 框架,除了 JUnit 之外,它还可以用于其他单测框架(例如:TestNG)。Mockito 可以改变一个类或者对象的行为,能够让我们更加专注地去测试代码逻辑,省去了构造数据所花费的努力。 0x00 基本概念Mock 可分为两种类型,一种是 Class Mock,另一种是 Partial Mock(Mockito 叫 spy)。改变 ......

2017 年中总结

复盘是一个总结过去、发现问题的好方法,借着公司复盘的东风,很有必要进行一次个人复盘。唯有不断地自我反省,才能更深刻地认识自己、找到短板,从而变得更加优秀。 团队管理为了了解“创业”这件事,我疯狂地阅读了很多大佬的书,差不多两三天一本。阅读过程中不求甚解,只是大概了解故事的经过,但是大量阅读之后,一些共通的概念会不断得到强化,这些强化过后的观点就形成自己的认知。当然也可以说被洗脑,但是个人......

精通 HTTP 之 STATUS CODE

HTTP 的 status code 分为 5 个类别(1XX、2XX、3XX、4XX、5XX),每个 code 都有对应的 reason phrase,这些 reason phrases 并没有规范,都是约定俗成的。 statuses@npm 是一个 HTTP 状态码的工具类:var status = require('statuses') 101-199: Informational ......

Android 强升逻辑和实现

“强制升级”会中断用户操作,阻碍正常使用,看似是一个不光彩的行为,但是智者千虑必有一失,我们无法保证 App 的正确性,在某些紧急情况下,强制升级还是非常必要的,而且接入的时间越早越好。 有赞微商城 App 早期版本只提供了一个更新提示的对话框,并不会强制用户去升级。随着后端网关升级,一些老的服务需要下线,但是新版本到达率并不理想,继续维护老接口带来一定成本,而且新功能也无法触及用户。 ......

2016 年终总结

光陰は矢の如し,来有赞一年多了。 距离上一次写技术总结又过去了半年了,真是时光飞逝。 生活上又升了一级,角色+1,亲爱的悠哈,我是你爸爸,希望你健康快乐,以后代码随便写写就好了,不要当真。摇到浙A,又买了一辆车。带同事去了趟日本,买了很多宝宝用品。 读了很多书。 日语退化了很多:( 要注意了 工作上较之上半年最大的改变就是开始带团队,大家一起去完成一个目标,不再孤立无援,刚开始有点压力,......

关于 App 开发的一些思考

春节假期在家看了两本关于 Web 架构方面的书,虽然有很多地方没看懂,有的地方似懂非懂,但是俗话说,他山之石、可以攻玉,知识是相通的,试着总结一下对 APP 开发的一些启示。 关于工具很多时候 Web 开发者通过 ssh 登录到远程服务器,只能利用 terminal 来进行排查日志、更改配置等操作,虽然 GUI 确实能起到事半功倍的效果,但是对于不习惯命令行的同学,面对黑屏上快速滚动的字符......

架构笔记之数据分析

蚂蚁积分是一个数据产品,这个简单的积分体现的是风控和信用,分数越高表明放贷的风险越小、履约的概率越大,而积分背后的风控体系和信用体系都是来自数据的采集和分析,所以数据是最重要的。 数据来源 UGC(对这些数据的分析和掌握可以提供更好的服务) 日志(可以得到系统的情况) 数据分析类型 数据分析的实时与否 实时分析任务(金融、电子商务) 离线分析任务(数据挖掘搜、索引擎索引计算、推荐内容计算......

架构笔记之安全

数字摘要 摘要算法 MD5 / 128 bits / Message Digest Algorithm 5 SHA / 160 bits / Secure Hash Algorithm 计算出的摘要(byte数组)转换成字符串之后可能会包含一些无法显示或网络传输的控制字符,因此需要对生成的摘要字符串进行编码。 编码算法 十六进制编码 Base 64 编码(每 6 位为一个单元,2^......

写 Gradle 插件的一点经验

本着简单易用的原则,参考android-resource-remover 写了一个删除无用资源的 Gradle 插件 - clean-unused-resources-gradle-plugin,结果微博发出来不到10分钟,陈启超就告诉我 AS2.0+ 已经提供了此功能。天哪,为了纪念这个短命无用的轮子,只好写篇博客,把造轮子的过程记录下来,也算对别人有点用处。 官方文档说了,自定义 Gr......