[scala]50行实现web表单验证器

思路是这样,每个表单实现Validatable特质。这个特质要求实现返回一个属性名到验证器列表的映射。

表单验证器执行时首先获取表单所有的属性(除去class),然后遍历这个映射,运行字段对应的验证器变成响应的验证错误(如果有的话),否则最后是个空集合。

FormValidatorRunner(代码最下方)是测试类,执行结果是

Map(name -> List(ValidateError(default.notBlank,List())))

代码如下:

Continue reading “[scala]50行实现web表单验证器”

GetBeanProperties via Scala

一个简单的用Scala写的获取bean属性的例子。核心方法是Introspector#getBean(Class)

returnvalue & xwrapper

introduction

背景是WebService,具体实现是XFire。由于某种原因XFire的Fault无法使用,导致只能使用返回值表示成功与错误的情况。举例如下:

实际实现时,发现服务有很多方法,每个方法有各自的返回类型,有部分重复。其次是服务端每个方法都必须try catch,把错误转化为返回值。第三是客户端代码也有重复,每次都要检查是否为null和是否成功。
为了减少重复代码,提供如下方案:

Continue reading “returnvalue & xwrapper”

compile install mysql 5.6.10 and optimize for low memory VPS on debian 6

compile

initialize database

Continue reading “compile install mysql 5.6.10 and optimize for low memory VPS on debian 6”