照片添加GPS信息

在玩Ingress之后的很长一段时间内,我觉得如果照片没有地理位置信息是一种缺失,而去年买的 Nikon 单反没有GPS模块,Nikon提供的GPS模块需要单独购买价格不便宜并且携带不方便,于是我找到一种既便宜又简洁的方式可以给照片添加上GPS信息。 需要借助的工具: 支持GPS的Android手机一部 Google My Tracks 应用 GeoSetter 软件 具体原理是:按照时间顺序,将手机记录的GPS信息写入相机拍摄的照片中。 具体步骤: 调校相机时间和手机时间保持一致 使用My Tracks应用记录GPS Read more ...

2014-10-02 DSLR , GPS , Nikon , 摄影

优化 Java 中正则表达式

Java 中和正则相关的工具类都在 java.util.regex 包下,Java 使用了 Nondeterministic Finite Automaton (NFA),之所以称为非确定性是因为当正则匹配给定字符串时,每一个字符都可能和正则匹配多次。这个匹配引擎被广泛的使用在 .NET, PHP, perl, Python, Ruby 中。很多人认为正则处理很快,很强大,但是其实不同正则表达式的写法可能导致消耗的时间和空间相差几十倍甚至上百倍,当在一些移动设备中使用正则时则要更加注意。 在引擎内部,NFA 使用回溯(backtracking) ,通常 Read more ...

2014-09-30 java , regex

log4j XML 配置

我们都知道 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 ...

2014-09-28 java , log4j , log4j12 , log4j12-config

正则表达式学习笔记

从开始接触正则到现在已经过去很多年了,然而依然没有完全学会正则,每一次回顾的时候总是有很多很多的新东西。 什么是正则,看中文非常抽象,而英文 regular expression 就好理解得多,regular expression 它是一个有规律,常规的,经常需要用的表达式,究其根本就是一个用来搜索特定字符串的表达式,这个表达式遵循一定的规律,有自身的逻辑表达,通过这种通用的方式可以写出比较容易理解的搜索语句。 根据维基百科的说明 正则一词是美国数学家 Stephen Cole Kleene 于 1950s 正式使用。而这个概念则是在 1980s Read more ...

2014-09-27 regex , regular-expression , java , python , nlp

log4j 根据 package 打印日志到不同目的地

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 选择

很久之前产生记账的需求,所以当时试用了市场上很大一批的记账软件和 App,我的需求无非有几样: 多平台同步,至少 Web,Android 平台有产品 记账方便,随时随地能够使用 界面简洁美观,能方便查看使用记录,和历史统计信息 方便导出 在使用了近半年之后,我终于稳定的在使用一款叫做“随手记”的记账软件了。而事实上我看到很多 Google+ 的好友在使用类 Excel 工具记账,我也曾经使用过一段时间的 Excel,却没有坚持下来。使用这样一类工具时,我总感觉不是很方便,虽然也可以使用 Dropbox 或者其他工具同步到手机上,再 Read more ...

2014-09-09 android , web , android-app , app , ios

电影版本中的缩写是什么意思

在网络下载资源时经常遇到一些整齐划一的命名,于是产生了这样的疑惑。 CAM(枪版) CAM通常是用数码摄像机从电影院盗录。有时会使用小三角架,但大多数时候不可能使用,所以摄像机会抖动。因此我们看到画面通常偏暗人物常常会失真,下方的 字幕时常会出现倾斜。 由于声音是从摄像机自带的话筒录制,所以经常会录到观众的笑声等声音。因为这些因素,图象和声音质量通常都很差。 TS(准枪版) TS是TELESYNC的缩写。TS与CAM版的标准是相同的。但它使用的是外置音源(一般是影院座椅上为听力不好的人设的耳机孔)这个音源不能保证是好的音源,因为受到很多背景噪音的干 Read more ...

2014-09-03 Movie , Knowledge

MyBatis Generator Plugins

MyBatis Generator(以下简称 MBG) 插件可以很方便的生成 Objects、Mapper 接口以及对应的 XML 文件。在使用 MBG 的时候也可以配置一些插件来自定义生成的文件的内容。 MBG 提供了一些自带的插件,比如缓存的,分页的等等,如果想要实现更多的功能可以参考这里 自己实现插件。 MBG 提供的插件都在 org.mybatis.generator.plugins 包下。插件源代码可以参考这里 org.mybatis.generator.plugins.CachePlugin 缓存插件,用来生成在 XML 中的 < Read more ...

2014-08-28 mybatis , mybatis-generator , java , orm , mysql

Mybatis Generator 配置详解

通常情况下会用 xml 来配置 MyBatis Generator 通常在 src/main/resources/generatorConfig.xml 文件中。 官方的配置文档可以在这里 找到。 Generator 的配置文件主要定义了: 如何连接数据库 需要自动生成什么 Objects,以及如何生成 哪一张 table 需要用来生成 Objects 下面是一个简单的示例: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfigurat Read more ...

2014-08-27 mybatis , orm , mysql , java

H2 Database Engine

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 ...

2014-07-28 h2 , database , in-memory-database , jdbc

最近文章

  • K3s 部署 Bitwarden 我之前一直是在一台机器上使用 Docker compose 安装了 Bitwarden,但是这样存在一个隐患,那就是如果这一台机器宕机了,或者发生任何意外,那么我可能有一段时间无法访问我的所有密码仓库,所以为了避免这样的问题,尤其是在我已经稳定运行 K3s 一段时间之后,我就想着将 Bitwarden 迁移到 K3s 上,并且我希望直接使用 Bitwarden 历史的数据,并且也直接使用原来的域名,密码等等,这样就不需要让我所有的设备重新再登录一遍。那么本文就记录一下我在 K3s 上搭建 Bitwarden ,以及将历史数据迁移到 K3s 中的过程。
  • K3s 中给节点添加标签并实现 Pod 调度控制 给 K3s 中的节点添加标签并实现 Pod 调度是一个非常常见的需求,特别是当你希望某些 Pod 只在特定地理位置的节点,比如美国,日本,上运行的时候。
  • 使用 Claw Cloud 免费部署 Gemini 反向代理教程 前两天介绍过永久免费的 Claw Cloud Run,本文将介绍一下如何使用 Claw Cloud Run 来免费部署一个 Gemini API 反向代理服务。
  • K3s 部署 IT Tools 在线工具集 IT Tools 是一个开源的工具集,包含了非常多好用的工具,Token 生成,Hash 生成,UUID 生成,加密解密,BIP39 passphrase 生成,Hmac 生成,RSA 密钥生成,Password 生成,PDF 签名检查,日期转换,Base64 转换,Unicode,ASCII,YAML,JSON 等等非常多有用的工具。
  • 在 K3s 中安装 Redis Cluster 集群 在拥有 3 个 master 节点和多个 Agent 节点的 K3s 集群上部署高可用的 Redis Cluster 是一个很好的选择,可以确保数据的高可用性和可扩展性。