📊 텍스트 비교기

두 텍스트의 차이점을 비교합니다

Diff(차이점 비교)란?

왜 필요한가요?

Diff(Difference)는 두 텍스트나 파일 간의 차이점을 비교하여 추가, 삭제, 변경된 부분을 시각적으로 보여주는 도구입니다. 코드 리뷰, 문서 비교, 설정 파일 검증 등에서 변경사항을 빠르게 파악할 수 있습니다.

Git, SVN 등 버전 관리 시스템에서도 diff 알고리즘을 사용하여 커밋 간 변경사항을 추적합니다. 개발자는 diff를 통해 코드 변경의 영향 범위를 정확히 파악하고 실수를 방지할 수 있습니다.

언제 사용하나요?

  • 코드 리뷰: Pull Request의 변경사항 검토
  • 설정 비교: 개발/운영 환경의 설정 파일 차이 확인
  • 문서 버전 관리: 문서 수정 전후 비교
  • API 응답 비교: 예상 응답과 실제 응답 차이 분석
  • 마이그레이션 검증: 데이터 이동 전후 비교
  • 충돌 해결: Git 머지 충돌 시 양쪽 변경사항 확인

실무 사용 예시

예시 1: 설정 파일 비교

개발 환경 (config.dev.json)

{ "database": "dev_db", "port": 3000, "debug": true }

운영 환경 (config.prod.json)

{ "database": "prod_db", "port": 8080, "debug": false }

차이: database, port, debug 값이 모두 다름

예시 2: 코드 변경사항

- function calculateTotal(items) {
+ function calculateTotal(items, discount = 0) {
  let total = items.reduce((sum, item) => sum + item.price, 0)
+ total = total * (1 - discount)
  return total
}

함수 시그니처와 할인 로직 추가

Diff 표현 방식

표시의미설명
+ 줄추가됨 (Added)새로운 내용이 추가됨
- 줄삭제됨 (Deleted)기존 내용이 삭제됨
~ 줄변경됨 (Modified)내용이 수정됨
  동일 (Unchanged)변경 없음 (컨텍스트)

주의사항

  • 공백/들여쓰기: 공백 차이만 있어도 변경으로 표시됩니다. 포맷터를 먼저 적용하세요.
  • 줄바꿈 문자: Windows(CRLF)와 Unix(LF) 줄바꿈 차이에 주의하세요.
  • 대량 변경: 파일 전체가 변경된 경우 diff가 의미 없을 수 있습니다.
  • 바이너리 파일: 이미지, PDF 등 바이너리 파일은 diff로 비교할 수 없습니다.
  • 인코딩: 파일 인코딩이 다르면 같은 내용도 다르게 보일 수 있습니다.

Diff 알고리즘

대표적인 diff 알고리즘:

  • Myers Diff: 가장 널리 사용되는 알고리즘. Git에서 사용.
  • Patience Diff: 코드의 구조적 변경을 더 잘 감지.
  • Histogram Diff: Patience의 개선 버전. 성능 향상.
  • Word Diff: 줄 단위가 아닌 단어 단위 비교.

더 알아보기

Developer Tools

개발자를 위한 18가지 이상의 무료 온라인 도구를 제공합니다. Base64, JSON, JWT, 정규식 등 필수 개발 도구를 한 곳에서.

Developer Tools © 2025. All rights reserved.

모든 도구는 클라이언트 사이드에서만 작동하며, 입력 데이터는 서버로 전송되지 않습니다.