2017-05-15

DAO层测试

<dependency>
    <groupId>com.wix</groupId>
    <artifactId>wix-embedded-mysql</artifactId>
    <version>2.1.4</version>
    <scope>test</scope>
</dependency>

利用wix-embedded-mysql把MySQL嵌入到进程中,作为内存型的MySQL来做单元测试。

脚本:resources/migrations/mysql/<database>/<timestamp>_<action>.sql

但多个项目需要共享数据库脚本,可能可以用 git submodule 共享。

2017-05-07

OmniGroup

前几天买了OmniGroup全家桶,强迫自己熟悉这些“效率工具”。现记录一些自己的理解。

为什么这些工具的功能看起来有重叠?

我的理解是每一款应用都是面向特定领域的专业人士的,并不会真的有像我这么“变态”的人一下子买全家桶的。

每款工具各自的作用和区别?

  • OmniFocus:面向个人的GTD工具,。
  • OmniPlan:面向小组的项目管理工具。OmniFocus和它的区别:前者管理个人的行动;后者管理一组人的任务。
  • OmniOutline:它和OmniFocus的功能重叠度很高,但作为区分:Focus更专注于Action,即动词;Outline更专注于清单,即名词。
  • OmniGraffle:这款应用和其他三款区别最大,它是画图软件。它用起来不像我自己开发的KingYoung那么“流畅”,但的确很漂亮。我为了方便使用,还把积灰已久的鼠标拿出来。

OmniFocus

  • 收件箱:灵光一闪,马上收集
  • 项目:根据项目,纵向地将Action组织到一起。项目的特点是有始有终。例如具体看某一本书
  • 上下文:类似于Spring的AOP概念,从横向/切面上看Action。例如读书,可以贯穿所有读书项目
  • 透视:其实就是搜索功能