LIANG.FEI

職人になる男だ

精通CSS之position

keywords document flow containing block offset properties HTML的“正常”布局称为document flow,在这种normal flow下,元素按照从左到右(inline block)、从上到下(block)进行排列。position则打破了normal flow。我们把元素的父节点(ancestor)称为containi......

Beautiful CSS

future-proof coding elegance the work of the devil nudge an element the clincher take center stage vender prefix BACKGROUND Multiple overlapping backgrounds on one element Multiple background la......

小程序开发总结

小程序的核心是一个响应式的数据绑定系统,逻辑上分为视图层和逻辑层。这两层始终保持同步,只要在逻辑层修改数据,视图层就会相应的更新。 小程序遵守Convention Over Configuration的原则,没有留给开发者自由选择的余地。 支付宝小程序和微信小程序的开发框架几乎一模一样,以下代码以微信小程序为例。 包管理微信小程序使用bower做模块管理,支付宝小程序使用npm。 bowe......

CSS Mastery笔记

我们的宗旨是:backward compatible and future friendly SEPARATION OF CONCERNS “Small pieces, loosely joined.” Unix管道的设计哲学吗? You could think of these small pieces of code as LEGO bricks. Each brick is......

Mockito 详解(五)MockitoAnnotation

MockitoAnnotations负责初始化@Mock、@Spy、@Captor、@InjectMocks等注解。 如果不用@Mock,我们当然可以手动创建一个mock对象:1List mockedList = Mockito.mock(List.class); 但是相比于手动创建,使用注解可带来如下好处: 代码更简洁 避免重复创建 可读性好 验证错误更易读(因为注解默认使用field ......

Mockito 详解(四)MockitoSession

MockitoSession表示一次mock会话,这个会话通常是一次测试方法的执行。 在一个会话周期内,MockitoSession会做三件事: mock初始化(initializes mocks) mock使用验证(validates usage) 检测插桩错误(detects incorrect stubbing) MockitoSession可以帮我们省去一些原本需要手动去写的代......

SalesforceAnalytics 源码分析

SalesforceAnalytics 可分为两个部分: Event 存储 Event 上报 AnalyticsManagerAnalyticsManager 有三个属性: key type comment storeManager EventStoreManager 在 AnalyticsManager 的构造方法中初始化,只有 getter 没有 setter d......

有赞自有APP的OAuth2授权模型分析

本文精华 分析来源: The OAuth 2.0 Authorization Framework。 找到 Resource Owner 是判断 OAuth2 模型的关键。 有赞自有 APP(微商城、微小店)的 OAuth2 类型是 Resource Owner Password Credentials。 1234567891011121314The resource owner p......

Mockito 详解(三)插桩

每次插桩(Stubbing)都会产生一个 Invocation,本篇从 Invocation 着手,重点分析插桩的原理。 Invocation 之间的关系如下所示: +----------+ +----------+ | StubInfo |--stubbedAt-->| Location | +----------+ +-----......

Mockito 详解(二)插件机制

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