在玩Ingress之后的很长一段时间内,我觉得如果照片没有地理位置信息是一种缺失,而去年买的 Nikon 单反没有GPS模块,Nikon提供的GPS模块需要单独购买价格不便宜并且携带不方便,于是我找到一种既便宜又简洁的方式可以给照片添加上GPS信息。
需要借助的工具:
支持GPS的Android手机一部
Google My Tracks 应用
GeoSetter 软件
具体原理是:按照时间顺序,将手机记录的GPS信息写入相机拍摄的照片中。
具体步骤:
调校相机时间和手机时间保持一致
使用My Tracks应用记录GPS
Read more ...
Java 中和正则相关的工具类都在 java.util.regex 包下,Java 使用了 Nondeterministic Finite Automaton (NFA),之所以称为非确定性是因为当正则匹配给定字符串时,每一个字符都可能和正则匹配多次。这个匹配引擎被广泛的使用在 .NET, PHP, perl, Python, Ruby 中。很多人认为正则处理很快,很强大,但是其实不同正则表达式的写法可能导致消耗的时间和空间相差几十倍甚至上百倍,当在一些移动设备中使用正则时则要更加注意。
在引擎内部,NFA 使用回溯(backtracking) ,通常
Read more ...
我们都知道 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 ...