プログラマの間では当たり前になっている差分ツール。GitやSubversion、Hgなどのリポジトリ管理において更新された箇所をチェックするのに使っているかと思います。

今回はそんな差分ツールに注目したいと思います。テキストだけでなく、各種バイナリについてもソフトウェアが存在するので仕事がさらに便利になるはずです。

要点

画像

クライアントサイドの差分表示としてはテキストに次いでポピュラーだと思います。GitHubでもWebベースの差分ビューワーで画像の差分表示に対応しています。画像はバイナリなので差分処理がテキスト以上にしづらい分、使いやすいライブラリは人気があります。

処理的に見れば、縦横のサイズが同じであれば、バイナリのピクセル単位での比較になるのでそれほど難しい訳ではないでしょう。サイズが変わったり、JPEGのようにデータが保存するごとにちょっと違ったりすると、その差が大きく見えてしまうので注意が必要です。

更新チェック

差分の使い方として、Webサイトやディレクトリの更新チェックに使うというものも幾つかあります。これは面白いアイディアだと思います。Webサイトであれば更新チェッカーであり、ディレクトリであればバックアップや同期ツールとして利用できるでしょう。

データベース

データベースの差分チェックツールも人気があります。スキーマの更新状態をチェックしたり、2つのデータベース間の差分を抽出します。一般的にはスキーマレベルのチェックで、データの差分は行いません。

オフィスファイル

ExcelやWord、PDFなどの差分チェックです。ビジネスでよく使われるファイルだけに差分チェックは欠かせません。特にオフィスファイルをメールでやり取りするような場合、更新された場所を明確化するためにも使いたいですね。

オフィスファイルは更新履歴をとれるようになっていますが、それ以外の機能もあるので余計ややこしくなってしまったり、慣れていない人には分かりづらかったりします。個人的にはオフィスファイルも差分チェックツールを使う方が良いと思います。

その他

その他、レジストリの差分をとったり、実行ファイルの差分を抽出したりと様々な差分ツールがあります。仕事上、よく使うファイルフォーマットについてどんなツールがあるか調べてみると面白いかも知れません。