Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました プログラマーであればソースコードの差分に助けられることも少なくないと思います。差分は色々な情報が見えてくるでしょう。今回はその一つ、exediffを紹介します。実行ファイル(ExeまたはDLL)のロードイメージを比較し、差異を表示してくれるソフトウェアです。 オプションとして、タイムスタンプやチェックサムを無視した比較もできます。そして比較ファイルのテキスト形式のダンプが可能となっています。セクションデータでの比較は差異が一定量(デフォルトでは4)に達すると比較を打ち切るようになっています。 バイナリファイルの比較というのは面白く、単純にバイトコードではなく構造を比較してくれるので見やすいのが特徴です。同じファイル名のExeファイルやDLLファイルがあった時にその何が違うのか目安と
Git に同梱されている contrib/diff-highlight を使います。 あとは README に書いてあることの引き写しですが、PATH の通ったディレクトリに置いて、~/.gitconfig に以下のように設定を書く。 [pager] log = diff-highlight | less show = diff-highlight | less diff = diff-highlight | less すると、対応するコマンドの出力がこんな風になります。 行レベルの diff に加えて、単語レベルでの diff もハイライトされ、GitHub での diff のように描画されました。 組み込みのオプションで --color-words というのがありますが、こちらを使うと行レベルの diff 情報が失われるので、少し不便だったわけですね。とすべて README に書いてあ
MergelyはPHP/JavaScript製のオープンソース・ソフトウェア(GPL/LGPL/Mozilla Public License)です。 プログラマーであればDiffの恩恵にあずかったことが少なからずあるはずです。この便利さを他の場合でも使いたい、そう考える方はMergelyを使ってみましょう。オンラインで手軽にテキストの比較ができます。 2ペインのエディタになっています。左と右にドキュメントを書くと、リアルタイムに差分が表示されます。 矢印をクリックすると、そのテキストがもう片側にマージされます。 差分表示時の色設定です。 右側だけ(またはその逆)をリードオンリーにすることで変更点だけをチェックしたり、空白を無視したりできます。差分の処理としては行単位の比較で、一部の文字でも違うと行全体が対象になるようです。 MOONGIFTはこう見る Mergelyを既存のCMSに導入する
Diffが重要な理由について良い記事が書かれていたのでメモ。 【元ネタ】 テキストでないファイルのdiff(差分)をとる方法 - ザリガニが見ていた...。 (引用開始) 一旦diffの恩恵を経験すると、差分をとれない環境というのがとても不安に思えてくる。あの、MacBook ProのRetinaモデルのデスクトップピクチャに採用された写真家のKent Shiraishi氏も、常時モニタを2台並べて写真の色合いのチェックをしているそうである。曰く、自分の感覚なんて当てにならない、正確な色を再現するためには完璧にデジタル調整されたモニタを並べて、その違いを感じて現像するそうである。つまり、色の差分を見ているのだ!差分を知ることはとても大切。写真でも、テキストでも。 (引用終了) プログラム、テキスト、WordやExcelのドキュメント、そして写真すらも差分比較するのは重要という指摘。 テキス
posix shell で標準入力同士の diff (1) を実現する方法 コマンド command1 の出力結果と コマンド command2 の出力結果を diff (1) で比較したい場合、 一番手軽なのはそれぞれの出力を一時ファイルに出力して比較する方法である。 $ command1 > ${TMP:-/tmp}/output1 $ command2 > ${TMP:-/tmp}/output2 $ diff ${TMP:-/tmp}/output1 ${TMP:-/tmp}/output2 : $ rm ${TMP:-/tmp}/output1 ${TMP:-/tmp}/output2 しかし、この方法では一時ファイルを作成するので 処理効率が悪く一時ファイルの削除など後処理をする必要がある。 例えば bash (1) の場合は以下の様にする事で簡単に比較できる。 $ diff
DiffPDFはPDFファイル同士のテキスト、描画の差分を表示するソフトウェアです。 プログラマーが開発中によく使うのがDiffです。行や単語単位で比較し、どこが違うか分かるので修正したり相違点をチェックしたりするのにとても便利です。そんなDiffをPDFでも使えるようにするのがDiffPDFです。 メイン画面です。 二つのファイルを指定して比較しました。異なるテキスト部分がハイライト表示されています。 こんな感じです。 線の表示の違いも取れます。 こうするとぐっと分かりやすくなります。 この手のソフトウェアとしてPDFをテキスト化して、それを比較するものはありましたが、PDFのまま比較してくれるという点においてDiffPDFは非常に便利です。なお日本語には対応しておらず、PDFとして表示した時点でも内容が抜け落ちてしまっています。 DiffPDFはWindows/Mac OSX/Linu
いままでなんとなく使ってきたけど、ようやく使い方が分かったような気がするのでメモ。 前提知識 インデックスとワーキングツリーが理解できていること HEAD が何か分かっていること git diff ワーキングツリーとインデックスの差分を表示。 git add した後にさらに修正したけど、そういえばどの時点で git add したのかなー、というときに使う? git add したらすぐにコミットする自分には関係なさそう。 git diff --cached HEAD とインデックスの差分を表示。 git add して、コミットする前に差分を確認したい時に使うんだと思う。 自分は git diff よりもこっちの方をよく使う。 git diff HEAD HEAD とワーキングツリーの差分を表示。 前にコミットした時からどれくらい編集したか確認したい時に使う。 HEAD の部分はコミット(HE
2011年5月23日(月) ■ O157 と O111 の関係 _ 食中毒事件が起きたのはだいぶ前だが今さら。 _ O157 やら O111 やらが8進数に見えた。ので、ためしに 8進の 0157 を10進数に変換してみた。 _ !! % echo "ibase=8; 157" | bc 111 ということで、O157 と 111 は同じもののようです。 ■ 亀の踊らせかた _ v6 での接続性に問題がないかみんなで検証しようぜ、という主旨のイベント World IPv6 Dayまであと半月。たいていは v6 化(正確にはデュアルスタック化)しても問題は起きないはずだけど、「たいてい」に含まれないユーザが少なからず出てくるかもしれない(まったくいないことが確実ならそんなイベントをやる必要はない)。 _ で、そんな影響が出たユーザがいたとして、その人が v4/v6 のどっちでつながってたのか
Githubで画像の差分を見られるモードが話題を呼びましたが、このように2枚の画像の差分を調べたいときって時々ありますよね。 そんなときImageMagickのコマンドラインツールを使えば、たった1行で実現できます。 $ composite -compose difference A.jpg B.jpg diff.jpg とすれば、A.jpg と B.jpg の差分画像 diff.jpg が作られます。この差分画像は以下のようになります。 さらにこの差分画像(diff.jpg)が「真っ黒な画像」かどうかも、コマンドラインで調べることができます。 # 差分がなかった場合(=diff.jpgは黒一色の画像) $ identify -format "%[mean]" diff.jpg 0 # 差分があった場合 $ identify -format "%[mean]" diff.jpg 960.8
UNIXの基本的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 本稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。本稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要
DiffuseはWindows/Linux用のオープンソース・ソフトウェア。バージョン管理システムを使っている時に必須と言えるのがDiff、いわゆる差分ツールだ。コミット前にどこが変更されているか確認したり、既にコミットされているファイルで変更点を確認したりするのに使える。 日本語にも対応している その便利さに慣れるとバージョン管理されていないテキストファイルなどでも複数のファイルを比較したりするのに使うようになる。まさにテキスト編集においてなくてはならない存在だ。そんなDiffツールの一つ、Diffuseを紹介しよう。 Diffuseは2ファイルの比較はもちろん、3ファイルの比較にも対応している。行単位はもちろん、文字単位の比較も行われており、異なる部分の色が変わるようになっている。行ごとでざっと確認しつつ実際にどこが違うのかは文字単位で終えるのだ。 設定画面 さらにBazaar/CVS
WEB+DB PRESS Vol.46で取り上げたGNU diff(1)のラッパー、「di」をGitHubに置いた。GNU diffには多彩なオプションが用意されているが、POSIXなどの規格の縛りもありデフォルト設定が日常利用には不便なものになっている。いちいちdiff -Nrpu dir1 dir2なんて面倒くさい。以下の特長を持つラッパーdiで楽をしよう。 -U3 -N -p -dがデフォルト。 出力が色付き。ページャが起動される。(Gitのまね) バックアップファイルやオブジェクトファイル、.git, .hg, .svn, CVSなどのディレクトリを無視する。 RCS/CVSキーワードタグの違いを無視する。 ディレクトリを与えれば自動で再帰比較。 上記を含むデフォルトのオプション設定は環境変数で変更可能。 GNU diffがサポートしないオプションの組み合わせもサポート。 「ali
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く