我们都知道 log4j 有两种配置文件的语法,本文主要介绍 XML 格式的配置格式。
log4j XML 配置的一些细节记录。
priority 和 level 的区别
我们都知道日志打印的级别,从低到高依次是 TRACE, DEBUG, INFO, WARN, ERROR and FATAL.
日常使用中经常会看到 root 或者 logger 节点配置 <level value="INFO"> 这样的语句,root 节点中也有 priority 的配置
<logger name="com.package">
Read more ...
从开始接触正则到现在已经过去很多年了,然而依然没有完全学会正则,每一次回顾的时候总是有很多很多的新东西。
什么是正则,看中文非常抽象,而英文 regular expression 就好理解得多,regular expression 它是一个有规律,常规的,经常需要用的表达式,究其根本就是一个用来搜索特定字符串的表达式,这个表达式遵循一定的规律,有自身的逻辑表达,通过这种通用的方式可以写出比较容易理解的搜索语句。
根据维基百科的说明 正则一词是美国数学家 Stephen Cole Kleene 于 1950s 正式使用。而这个概念则是在 1980s
Read more ...
log4j 可以配置不同的包打印到不同的 appender 中,通过在配置中添加如下配置。
<!-- 这里的 additivity 配置了该 package 下的 appender 是否需要传递到 root , 默认为 true , 造成日志打印两遍 -->
<logger name="com.jutils.appender.LogLevelATest" additivity="false">
<level value="INFO"/>
<appender-ref ref="consoleAppende
Read more ...
很久之前产生记账的需求,所以当时试用了市场上很大一批的记账软件和 App,我的需求无非有几样:
多平台同步,至少 Web,Android 平台有产品
记账方便,随时随地能够使用
界面简洁美观,能方便查看使用记录,和历史统计信息
方便导出
在使用了近半年之后,我终于稳定的在使用一款叫做“随手记”的记账软件了。而事实上我看到很多 Google+ 的好友在使用类 Excel 工具记账,我也曾经使用过一段时间的 Excel,却没有坚持下来。使用这样一类工具时,我总感觉不是很方便,虽然也可以使用 Dropbox 或者其他工具同步到手机上,再
Read more ...
在网络下载资源时经常遇到一些整齐划一的命名,于是产生了这样的疑惑。
CAM(枪版)
CAM通常是用数码摄像机从电影院盗录。有时会使用小三角架,但大多数时候不可能使用,所以摄像机会抖动。因此我们看到画面通常偏暗人物常常会失真,下方的 字幕时常会出现倾斜。 由于声音是从摄像机自带的话筒录制,所以经常会录到观众的笑声等声音。因为这些因素,图象和声音质量通常都很差。
TS(准枪版)
TS是TELESYNC的缩写。TS与CAM版的标准是相同的。但它使用的是外置音源(一般是影院座椅上为听力不好的人设的耳机孔)这个音源不能保证是好的音源,因为受到很多背景噪音的干
Read more ...
MyBatis Generator(以下简称 MBG) 插件可以很方便的生成 Objects、Mapper 接口以及对应的 XML 文件。在使用 MBG 的时候也可以配置一些插件来自定义生成的文件的内容。
MBG 提供了一些自带的插件,比如缓存的,分页的等等,如果想要实现更多的功能可以参考这里 自己实现插件。
MBG 提供的插件都在 org.mybatis.generator.plugins 包下。插件源代码可以参考这里
org.mybatis.generator.plugins.CachePlugin
缓存插件,用来生成在 XML 中的 <
Read more ...
通常情况下会用 xml 来配置 MyBatis Generator 通常在 src/main/resources/generatorConfig.xml 文件中。
官方的配置文档可以在这里 找到。
Generator 的配置文件主要定义了:
如何连接数据库
需要自动生成什么 Objects,以及如何生成
哪一张 table 需要用来生成 Objects
下面是一个简单的示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurat
Read more ...
H2 is a Java SQL database, with following features:
fast, open source, JDBC API
Embedded and server modes; in-memory databases
Browser based console application
small footprint: around 1.5MB jar file size
连接方式
H2 数据库支持三种连接方式,三种模式都支持内存、持久化到文件,三种模式对同时开启的数据库数量和连接数没有限制。
Read more ...
最近几天在电脑上听歌,不由自主的在键盘上敲出了 http://music.163.com , 而在不久之前还是用 xiami.com 听歌呢,所以禁不住思考起来.
最初
最早用电脑听歌还是应该用的酷狗,酷我,多米之类的电脑端软件,那个时候经常是将歌曲下载到自己电脑上,伴随着清脆的一声”Hello kugou”,才开始听歌之旅的. 那个时候听的歌曲还往往是知道名字,知道歌手,很有针对性的去听的.那个时候的播放列表还往往是本地的自己的列表,如果换一台电脑那些列表还不一定能够同步过去.虽然后来酷狗,酷我都做了同步播放列表的功能,但是那时候的体验和感受都留在
Read more ...
之前的一篇文章就曾经提到字体的历史,这篇文章着重在推荐几款我个人认为非常适合编程这个环境的字体。
在选择一款字体之前,先要了解几个术语
monospace font 等宽字体,每一个字符宽度占用都是一样的
Sans-serif font 无衬线字体
Serif font 衬线字体
font weight 字重,字体的粗细程度,常见的字重有 Light, Regular, Medium, Bold 等等
在选择一款编程字体的时候我会考虑以下几个点:
能否区分,数字 0 以及大小写 o 与 O
能否区分,数字 1 以及大
Read more ...