liminfo

Text Diff

두 텍스트 비교, 차이점 하이라이트

Text Diff 소개

텍스트 비교 도구는 두 텍스트 블록을 비교하여 무엇이 변경되었는지 정확히 강조 표시하는 무료 브라우저 기반 도구입니다. 원본을 왼쪽에, 수정본을 오른쪽에 붙여넣고 비교 버튼을 누르면, 추가된 줄(초록색 배경, + 접두사)과 삭제된 줄(빨간색 배경, - 접두사), 그리고 맥락을 위한 변경되지 않은 줄이 포함된 통합 diff 출력이 생성됩니다.

작가, 개발자, 편집자, 데이터 분석가들이 문서 버전 간 변경 사항 추적, 전체 IDE 없이 코드 스니펫 검토, 변환이 올바른 내용을 유지했는지 확인, 또는 눈으로 발견하기 어려운 의도치 않은 편집을 찾기 위해 텍스트 diff 도구를 사용합니다.

기술적으로 이 비교는 Unix `diff` 명령어와 Git 같은 버전 관리 시스템에서 사용되는 것과 동일한 기본 알고리즘인 LCS(최장 공통 부분 수열) 알고리즘의 순수 JavaScript 구현을 사용합니다. LCS 표는 동적 프로그래밍을 사용하여 구축된 후 역추적하여 추가, 삭제, 변경 없음 줄의 시퀀스를 생성합니다. 결과에는 diff 패널 상단에 총 추가 및 삭제 수 요약이 포함됩니다.

주요 기능

  • 레이블이 있는 제목의 원본 및 수정 텍스트를 위한 나란히 입력 패널
  • 정확한 줄 단위 diff 계산을 위한 LCS(최장 공통 부분 수열) 알고리즘
  • 즉각적인 시각적 식별을 위한 + 마커의 초록색 추가 줄 강조 표시
  • 즉각적인 시각적 식별을 위한 - 마커의 빨간색 삭제 줄 강조 표시
  • 변경된 구역 사이에 중립 색상으로 표시되는 변경되지 않은 맥락 줄
  • diff 헤더에 표시되는 총 추가(+) 및 삭제(-) 줄 수 요약
  • 깔끔한 줄 정렬을 위한 모노스페이스 폰트의 스크롤 가능한 diff 출력 패널
  • 100% 클라이언트 사이드 처리 — 텍스트 내용이 서버로 전송되지 않음

자주 묻는 질문

이 도구는 diff 계산에 어떤 알고리즘을 사용하나요?

이 도구는 동적 프로그래밍 표로 구현된 LCS(최장 공통 부분 수열) 알고리즘을 사용합니다. LCS는 두 텍스트에 같은 순서로 나타나는 가장 긴 줄 시퀀스를 찾고, 나머지 줄을 추가 또는 삭제로 분류합니다. Unix `diff` 명령어와 Git에서 사용되는 것과 같은 알고리즘 기반입니다.

이 도구는 줄 단위 비교인가요, 문자 단위 비교인가요?

이 도구는 줄 단위로 비교합니다. 각 줄(줄바꿈 문자로 구분)이 단일 단위로 처리됩니다. 한 줄에 문자 하나만 변경되어도 삭제된 줄 하나와 추가된 줄 하나로 표시됩니다. 문자 단위 세분화를 위해서는 인라인 diff 도구가 필요합니다.

초록색과 빨간색 강조 표시는 무엇을 의미하나요?

+ 접두사가 있는 초록색 줄은 수정 텍스트에는 있지만 원본에는 없는 줄로 추가된 것입니다. - 접두사가 있는 빨간색 줄은 원본에는 있지만 수정 텍스트에는 없는 줄로 삭제된 것입니다. 색상이 없고 공백 접두사가 있는 줄은 두 텍스트에 모두 존재하는 변경되지 않은 줄입니다.

diff 헤더의 +/- 수는 무엇을 의미하나요?

diff 헤더는 전체 비교에서 추가된 줄(초록색, + 수)과 삭제된 줄(빨간색, - 수)의 총 수를 보여줍니다. 예를 들어 "+5 / -3"은 두 버전 사이에 5줄이 추가되고 3줄이 삭제되었음을 의미합니다.

코드 파일 비교에도 사용할 수 있나요?

네. 두 코드 파일 — 또는 같은 파일의 두 버전 — 의 내용을 두 입력 패널에 붙여넣으세요. diff 출력의 모노스페이스 폰트가 코드 비교를 특히 읽기 쉽게 만들어줍니다. 매우 큰 파일(수천 줄)의 경우 브라우저가 LCS 표를 계산하는 데 잠시 시간이 걸릴 수 있습니다.

줄이 수정되었는데 왜 삭제 및 추가로 표시되나요?

줄 단위 diff는 "수정"을 감지할 수 없습니다 — 추가와 삭제만 알 수 있습니다. 줄이 변경되면 원본 줄이 삭제(빨간색)되고 새 줄이 추가(초록색)된 것으로 표시됩니다. 이는 표준 diff 동작입니다. `git diff --word-diff`와 같은 도구는 인라인 문자 단위 변경 강조 표시를 제공합니다.

공백만 다른 경우도 감지되나요?

네. 비교는 정확한 문자열 일치 방식입니다 — 앞 공백, 뒤 공백, 탭만 다른 두 줄은 삭제 및 추가로 표시됩니다. 공백 차이를 무시하려면 붙여넣기 전에 텍스트를 정규화해야 합니다(예: 줄 트리밍).

텍스트 데이터는 안전하게 보호되나요?

네. 모든 diff 계산은 JavaScript를 사용하여 웹 브라우저 내에서 완전히 실행됩니다. 원본 텍스트와 수정 텍스트 모두 서버로 전송되거나, 데이터베이스에 저장되거나, 기록되지 않습니다. 비교는 즉각적이며 완전히 비공개입니다.