Yuki Naitoさんの開発したdifff«デュフフ»はブラウザでテキストの差分を確認することのできるツールです.

目次

  1. 使い方
  2. 仕組み
  3. ツールの使用時に注意すること
  4. 機密情報の場合
  5. CGIファイルの設置例
    1. CentOS8のNginx
    2. CentOS7・8のApache

使い方

difff«デュフフ»のページを開いたら,左右のフレームにそれぞれテキストをコピペします.
左が原稿,右が成果物といった具合です.
そして,「比較する」のボタンを押せば,相違している部分に背景色が付きます.

差分が一目で分かるdifff差分が一目で分かるdifff

仕組み

LinuxやMacのターミナル.appから使用できるdiffコマンドに基づき,2枚のテキストファイルの文字列を比較するという方式で差分を検出しています.

ツールの使用時に注意すること

difffはとても有用な校正ツールの1つです.
原稿と成果物が両方ともテキストの場合,その通りに比較することができます.
でも,もし原稿が間違っていて,その通りに制作されたしまったとしたら…?

difffでは原稿自体のエラーは検知できません.
スペルや人名など原稿作成者が間違いやすい点で,かつ,一見正しく見える箇所が,原稿通りであったとしてチェックを通過してしまいます.
difffだけでチェックを終わりにしないようにしましょう.

difffを使うときには原稿に潜む誤りを見つける作業,すなわち,「校閲」が不可欠です.

機密情報の場合

上記リンクで入力するテキストは,当然にどこかのサーバーに飛ばされて差分検出が行われます.
このため,会社の規定や書類の性質によっては,利用が躊躇われるでしょう.

実はGitHubで,difffのCGIスクリプトは公開されています.
Perl製の1ファイルだけのスクリプトです.

1ファイル有効化するだけで,自前のサーバーからdifffを使用することができます.

CGIファイルの設置例

CentOS8のNginx

まず,必要なツールをインストールします.

dnf install fcgiwrap
dnf install epel-release
dnf install spawn-fcgi fcgi-devel

/etc/sysconfig/spawn-fcgiで,CGIの処理のために適当に空いているポートを使って,

OPTIONS="-u nginx -g nginx -a 127.0.0.1 -p ポート -P /var/run/spawn-fcgi.pid -- /usr/local/sbin/fcgiwrap"

を設定します.

そして,/etc/nginx/conf.d/にある編集したいサイトのconfファイルで,CGIとしてファイル名.plのファイルを使用するためにサーバー情報へ以下を追記します.

location ~ /cgi-bin/ファイル名\.pl$ {
alias /var/www/cgi-bin/ファイル名.pl;
fastcgi_pass 127.0.0.1:ポート;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}

最後に,設定を有効化します.

systemctl start spawn-fcgi
systemctl restart nginx

CentOS7・8のApache

/etc/httpd/conf/httpd.confを開き,以下の設定を確認します.

スクリプトが実行されるリンクを作成するため,「URI/cgi-bin/ファイル名」へリンクする場合だと,

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

とします.
拡張子cgiだけでなくplのファイルも実行できるようにするなら,

AddHandler cgi-script .cgi .pl

ともします.

/var/www/cgi-bin/にCGIファイルを置き,パーミッションを設定します.

chmod 755 /var/www/cgi-bin/
chmod 644 ファイル

最後に,httpdを再起動します.

systemctl restart httpd