使用Pyparsing来定制自己的解析器
Pyparsing
是纯python
的,易于使用。Pyparsing
提供了一系列类让你可以以单独的表达式元素开始来构建解析器。 其表达式使用直觉的符号组合,如+
表示将一个表达式加到另一个后面。|
,^
表示解析多选 (意为匹配第一个或匹配最长的).表达式的重复可以以类的形式表示,如OneOrMore
,ZeroOrMore
,Optional
.
记一次Android内存泄漏的问题分析
最近看了下MonitoSDK
的代码,试用了下里面的Sample App
,然后在使用”测试数据库”时,发现存在部分内存泄漏的情况,leakcanary
直接弹出提示,可以看到MonitorDBActivity
的instance
导致泄漏。
ADB的架构设计
ADB
,即 Android Debug Bridge
,它是Android
开发/测试人员不可替代的强大工具,也是 Android
设备玩家的好玩具。如果想更多了解ADB
,可以查看一个开源项目Awesome Adb
。本文不讲ADB
的用法,只简单介绍下它的设计架构。
自定义注解:来看看@FindBy是怎么工作的
由于Selenium
框架采用PageObject
设计模式,因而提供提供了不少很方便的注解来达到目的,其中有一个注解就是@FindBy
。在使用中,只要通过在field
中使用注解,则可以将不同属性的元素对象转换成一个WebElement
对象。通过WebElement
提供的方法,则可以进行UI
上的操作了,下面来简单看看这个神奇的注解是怎么工作的。
面向对象编程:Java注解与Python装饰器
在面向切面编程中,python
跟java
有一个写法类似的语法,就是@
,通过使用这个功能,两者都能达到切面编程的目的,但python
中叫装饰器,是一种语法糖,而java
中叫注解,是一种元数据的标注语法。下面来对比一下两者的异同。