๐Ÿ”
โ† ๊ฐ€์ด๋“œ ๋ชฉ๋ก์œผ๋กœ

์˜จ๋ผ์ธ์—์„œ ํ…์ŠคํŠธ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•: Diff ๋„๊ตฌ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ

ยท ํƒœ๊ทธ: compare-text, text-diff-tool, diff-checker-guide, text-comparison, online-diff

์˜จ๋ผ์ธ์—์„œ ํ…์ŠคํŠธ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•: Diff ๋„๊ตฌ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ

๋‘ ํ…์ŠคํŠธ ์กฐ๊ฐ์„ ๋น„๊ตํ•˜์—ฌ ์ฐจ์ด์ ์„ ์ฐพ๋Š” ์ž‘์—…(diffing)์€ ๊ฐœ๋ฐœ์ž, ์ž‘๊ฐ€, ํŽธ์ง‘์ž ๋ฐ ๋ฌธ์„œ ์ž‘์—…์„ ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ•„์ˆ˜์ ์ธ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๊ฑฐ๋‚˜, ํ‘œ์ ˆ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ฑฐ๋‚˜, ํŒŒ์ผ์˜ ๋‘ ๋ฒ„์ „ ๊ฐ„์— ๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ๋‹จ์ˆœํžˆ ํ™•์ธํ•˜๋ ค๋Š” ๊ฒฝ์šฐ, ํ…์ŠคํŠธ diff ๋„๊ตฌ๋Š” ์ด ๊ณผ์ •์„ ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

์ด ๊ฐ€์ด๋“œ์—์„œ๋Š” ์˜จ๋ผ์ธ์—์„œ ํ…์ŠคํŠธ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•(diff ๋„๊ตฌ์˜ ์ž‘๋™ ๋ฐฉ์‹, ์‚ฌ์šฉ ์‹œ๊ธฐ, ๊ฒฐ๊ณผ ํ•ด์„ ๋ฐฉ๋ฒ•)์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ ๋น„๊ต๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

ํ…์ŠคํŠธ ๋น„๊ต(diffing)๋Š” ๋‘ ํ…์ŠคํŠธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ชจ๋“  ์ฐจ์ด์ ์„ ์‹๋ณ„ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค. diff ๋„๊ตฌ๋Š” ๋‹ค์Œ์„ ๊ฐ•์กฐ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:

  • ์ถ”๊ฐ€(Additions): ์ƒˆ ๋ฒ„์ „์—๋Š” ์žˆ์ง€๋งŒ ์ด์ „ ๋ฒ„์ „์—๋Š” ์—†๋Š” ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
  • ์‚ญ์ œ(Deletions): ์ด์ „ ๋ฒ„์ „์—์„œ ์ œ๊ฑฐ๋œ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
  • ์ˆ˜์ •(Modifications): ๋‘ ๋ฒ„์ „ ๊ฐ„์— ๋ณ€๊ฒฝ๋œ ์ค„์ž…๋‹ˆ๋‹ค.

diff๋ผ๊ณ  ํ•˜๋Š” ์ถœ๋ ฅ์€ ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ•œ๋ˆˆ์— ์ฝ๊ธฐ ์‰ฌ์šด ๊ตฌ์กฐํ™”๋œ ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์˜จ๋ผ์ธ์—์„œ ํ…์ŠคํŠธ๋ฅผ ๋น„๊ตํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์˜จ๋ผ์ธ diff ๋„๊ตฌ๋Š” ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋น„ํ•ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์žฅ์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ์„ค์น˜ ๋ถˆํ•„์š”: ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด๊ณ  ์ฆ‰์‹œ ๋น„๊ต๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํฌ๋กœ์Šค ํ”Œ๋žซํผ: Windows, macOS, Linux, Chromebook์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ: ๋งŽ์€ ์ตœ์‹  ๋„๊ตฌ์˜ ๊ฒฝ์šฐ ๋ชจ๋“  ์ฒ˜๋ฆฌ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ ํŒŒ์ผ์ด ๊ธฐ๊ธฐ๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ์†๋„: ์„ค์ •์ด๋‚˜ ๊ตฌ์„ฑ ์—†์ด ๋ช‡ ์ดˆ ๋งŒ์— ๋ถ™์—ฌ๋„ฃ๊ณ  ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…์ŠคํŠธ Diff ๋„๊ตฌ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์˜จ๋ผ์ธ diff checker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:

1๋‹จ๊ณ„: ํ…์ŠคํŠธ ์ž…๋ ฅ

๋Œ€๋ถ€๋ถ„์˜ diff ๋„๊ตฌ๋Š” ๋‘ ๊ฐœ์˜ ํ…์ŠคํŠธ ์˜์—ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋‚˜๋Š” "Original" ๋˜๋Š” "Old Text"๋กœ, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” "Changed" ๋˜๋Š” "New Text"๋กœ ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘ ๋ฒ„์ „์„ ๊ฐ๊ฐ์˜ ํ•„๋“œ์— ๋ถ™์—ฌ๋„ฃ์œผ์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด:

| Original | Changed | |----------|---------| | Hello world | Hello beautiful world | | This is a test | This is a test | | Goodbye for now | See you later |

2๋‹จ๊ณ„: ๋น„๊ต ์‹œ์ž‘

"Compare" ๋˜๋Š” "Diff" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. ๋„๊ตฌ๋Š” ๋‘ ํ…์ŠคํŠธ๋ฅผ ์ค„ ๋‹จ์œ„๋กœ, ๋ฌธ์ž ๋‹จ์œ„๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ชจ๋“  ์ฐจ์ด์ ์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

3๋‹จ๊ณ„: ๊ฒฐ๊ณผ ๊ฒ€ํ† 

๋น„๊ต ๋ณด๊ธฐ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ‰์ƒ ์ฝ”๋”ฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

  • ๋…น์ƒ‰ ๋˜๋Š” ๊ฐ•์กฐ ํ‘œ์‹œ๋œ ๋ฐฐ๊ฒฝ์€ ์ถ”๊ฐ€๋œ ํ…์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • ๋นจ๊ฐ„์ƒ‰ ๋˜๋Š” ์ทจ์†Œ์„ ์€ ์‚ญ์ œ๋œ ํ…์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • ํฐ์ƒ‰ ๋˜๋Š” ๊ฐ•์กฐ ํ‘œ์‹œ ์—†์Œ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ํ…์ŠคํŠธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋งŽ์€ ๋„๊ตฌ๋Š” ๋‘ ๊ฐ€์ง€ ํ‘œ์‹œ ๋ชจ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ๋ณ‘๋ ฌ ๋ณด๊ธฐ(Side-by-side view): ๋™๊ธฐํ™”๋œ ์Šคํฌ๋กค๋กœ ๋‘ ๋ฒ„์ „์„ ๋‚˜๋ž€ํžˆ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํฐ ๋ฌธ์„œ๋ฅผ ๊ฒ€ํ† ํ•  ๋•Œ ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ๋ผ์ธ ๋ณด๊ธฐ(Inline view): ์ถ”๊ฐ€ ๋ฐ ์‚ญ์ œ ์‚ฌํ•ญ์ด ์ธ๋ผ์ธ์œผ๋กœ ํ‘œ์‹œ๋œ ๋ณ‘ํ•ฉ๋œ ๋‹จ์ผ ๋ณด๊ธฐ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ง‘์ค‘์ ์ธ ์ฝ๊ธฐ์— ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์‹ค์šฉ์ ์ธ ์˜ˆ: ํ…์ŠคํŠธ ๋น„๊ต

๋‹ค์Œ์€ diff ์ถœ๋ ฅ์ด ์–ด๋–ป๊ฒŒ ๋ณด์ด๋Š”์ง€ ๋ณด์—ฌ์ฃผ๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค. ์ด ๋‘ ๋ฌธ์žฅ์„ ๋น„๊ตํ•  ๋•Œ:

Old: The quick brown fox jumps over the lazy dog.
New: The quick brown fox jumps over the sleepy cat.

diff ๋„๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค:

  • "lazy"๊ฐ€ ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋จ).
  • "sleepy"๊ฐ€ "cat" ์•ž์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋จ).
  • "dog"๊ฐ€ ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋จ).
  • "cat"์ด "sleepy" ๋’ค์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋จ).

ํ…์ŠคํŠธ ๋น„๊ต์˜ ์ผ๋ฐ˜์ ์ธ ์‚ฌ์šฉ ์‚ฌ๋ก€

์ฝ”๋“œ ๋ฆฌ๋ทฐ

๊ฐœ๋ฐœ์ž๋Š” pull request๋ฅผ ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. diffing์€ ์ถ”๊ฐ€, ์ œ๊ฑฐ ๋˜๋Š” ์ˆ˜์ •๋œ ์ค„์„ ์ •ํ™•ํžˆ ๊ฐ•์กฐ ํ‘œ์‹œํ•˜์—ฌ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋” ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋ฌธ์„œ ๋ฒ„์ „ ๊ด€๋ฆฌ

์ž‘๊ฐ€์™€ ํŽธ์ง‘์ž๋Š” ์ดˆ์•ˆ ๊ฐ„์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๋ฒ„์ „์„ ๋น„๊ตํ•˜๋ฉด ๋ฌด์—‡์ด ์ˆ˜์ •๋˜์—ˆ๋Š”์ง€ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ์‹ค์ˆ˜๋กœ ์†์‹ค๋˜๊ฑฐ๋‚˜ ๊ฐ„๊ณผ๋˜๋Š” ๋‚ด์šฉ์ด ์—†๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ ๊ฐ์‚ฌ

์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๋Š” ์„œ๋ฒ„ ๋˜๋Š” ํ™˜๊ฒฝ ๊ฐ„์˜ ๊ตฌ์„ฑ ํŒŒ์ผ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. diff๋Š” ํ”„๋กœ๋•์…˜ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์˜๋„ํ•˜์ง€ ์•Š์€ ํŽธ์ฐจ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋“œ๋Ÿฌ๋ƒ…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ฒ€์ฆ

ํ…Œ์Šคํ„ฐ๋Š” ์˜ˆ์ƒ ์ถœ๋ ฅ๊ณผ ์‹ค์ œ ์ถœ๋ ฅ์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋‚˜ ๋กœ๊ทธ ํŒŒ์ผ์„ ์ˆ˜๋™์œผ๋กœ diffingํ•˜๋Š” ๊ฒƒ์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ์ง€๋งŒ, ์ž๋™ํ™”๋œ ๋„๊ตฌ๋Š” ๋ชจ๋“  ๋ถˆ์ผ์น˜๋ฅผ ์žก์•„๋ƒ…๋‹ˆ๋‹ค.

๋” ๋‚˜์€ ํ…์ŠคํŠธ ๋น„๊ต๋ฅผ ์œ„ํ•œ ํŒ

๊ณต๋ฐฑ ์ •๊ทœํ™”

๋’ค์ชฝ ๊ณต๋ฐฑ๊ณผ ์ผ๊ด€๋˜์ง€ ์•Š์€ ์ค„ ๋์€ diff์—์„œ ๊ฑฐ์ง“ ์–‘์„ฑ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜๋ฏธ ์žˆ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•ด "๊ณต๋ฐฑ ๋ฌด์‹œ" ์˜ต์…˜์„ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ๋ฅผ ์ฐพ์œผ์„ธ์š”.

๋จผ์ € ์ค„ ๋‹จ์œ„๋กœ ๋น„๊ตํ•˜๊ธฐ

ํฐ ๋ฌธ์„œ์˜ ๊ฒฝ์šฐ, ๋จผ์ € ์ค„ ์ˆ˜์ค€ diff๋กœ ์‹œ์ž‘ํ•˜์—ฌ ์–ด๋–ค ์„น์…˜์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ๊ฐœ์š”๋ฅผ ํŒŒ์•…ํ•˜์„ธ์š”. ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋ฌธ์ž ์ˆ˜์ค€ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์œ„ํ•ด ํŠน์ • ์„น์…˜์œผ๋กœ ๋“œ๋ฆด๋‹ค์šดํ•˜์„ธ์š”.

์ž‘์—…์— ์ ํ•ฉํ•œ ๋„๊ตฌ ์‚ฌ์šฉํ•˜๊ธฐ

  • ์งง์€ ์Šค๋‹ˆํŽซ(100์ค„ ๋ฏธ๋งŒ): ์ตœ๋Œ€ ์ •๋ฐ€๋„๋ฅผ ์œ„ํ•œ ๋ฌธ์ž ์ˆ˜์ค€ diff.
  • ์ฝ”๋“œ ํŒŒ์ผ: ๊ตฌ๋ฌธ ๊ฐ•์กฐ ํ‘œ์‹œ๊ฐ€ ์žˆ๋Š” ์ค„ ์ˆ˜์ค€ diff.
  • ๊ตฌ์„ฑ ํŒŒ์ผ: ๊ณต๋ฐฑ์ด ๋ฌด์‹œ๋œ ์ค„ ์ˆ˜์ค€ diff.

์ง€๊ธˆ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”

์ €ํฌ ๋ฌด๋ฃŒ ํ…์ŠคํŠธ diff checker๋Š” ์ฆ‰๊ฐ์ ์ธ ๋ณ‘๋ ฌ ๋ฐ ์ธ๋ผ์ธ ๋น„๊ต ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ํ…์ŠคํŠธ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ณ  Compare๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ชจ๋“  ์ฐจ์ด์ ์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐ€์ž… ๋ถˆํ•„์š”, ์—…๋กœ๋“œ ๋ถˆํ•„์š”, ์™„์ „ํ•œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ.

์˜จ๋ผ์ธ์—์„œ ํ…์ŠคํŠธ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ๋ฒ•: Diff ๋„๊ตฌ ์‚ฌ์šฉ ๊ฐ€์ด๋“œ - CoolTool