liminfo

Diff Checker

코드/텍스트 diff 비교 - Text, JSON(구조 비교), YAML, 3-Way 병합

모드:
보기:

Diff Checker 소개

Diff Checker는 두 텍스트 블록을 비교하여 차이점을 시각적으로 보여주는 무료 온라인 도구입니다. 왼쪽에 원본 텍스트, 오른쪽에 수정된 텍스트를 붙여넣고 비교 버튼을 클릭하면, 추가된 줄은 녹색, 삭제된 줄은 빨간색으로 강조된 나란히 보기(side-by-side) 비교 결과를 즉시 확인할 수 있습니다. LCS(최장 공통 부분 수열) 알고리즘을 사용하여 정확하고 최소한의 차이점을 산출합니다.

텍스트 비교는 소프트웨어 개발, 기술 문서 작성, 설정 파일 관리에서 필수적인 작업입니다. 개발자는 커밋 전 코드 변경사항을 검토하고, 환경별 API 응답을 비교하며, 리팩토링 후 출력이 달라지지 않았는지 확인합니다. 기술 작가는 문서 수정 이력을 추적하고, 시스템 관리자는 스테이징과 프로덕션 환경 간 설정 파일 차이나 비인가 변경을 식별합니다.

비교 엔진은 브라우저에서 동적 프로그래밍 LCS 구현을 통해 완전히 클라이언트 사이드에서 동작합니다. 코드, 문서, 설정 데이터가 외부 서버로 전송되는 일이 없습니다. 추가, 삭제, 동일한 줄의 정확한 개수를 요약 통계로 제공합니다.

주요 기능

  • 왼쪽 원본, 오른쪽 수정본을 나란히 보여주는 직관적인 Side-by-side 비교 뷰
  • 색상 코드 강조: 추가된 줄은 녹색, 삭제된 줄은 빨간색, 동일한 줄은 기본 배경
  • 양쪽 모두 줄 번호 표시로 대용량 텍스트에서도 변경 위치를 빠르게 파악
  • LCS(최장 공통 부분 수열) 알고리즘으로 오탐 없이 최소한의 정확한 차이점 산출
  • 추가, 삭제, 동일한 줄 개수를 한눈에 보여주는 요약 통계
  • 표준 통합 diff 규칙에 따른 + / - 접두사 표시로 변경 유형 즉시 식별
  • 최대 500px 높이의 스크롤 가능한 비교 결과 영역으로 긴 문서도 페이지 넘침 없이 탐색
  • 고정폭 글꼴로 공백과 들여쓰기를 정확히 보존하여 코드 및 설정 파일 비교에 최적

자주 묻는 질문

Diff란 무엇이고 이 도구는 어떻게 작동하나요?

Diff(difference, 차이점)는 두 버전의 텍스트 사이에서 무엇이 변경되었는지를 식별합니다. 이 도구는 두 입력을 줄 단위로 분리한 뒤 LCS(최장 공통 부분 수열) 동적 프로그래밍 알고리즘으로 최적 정렬을 찾습니다. 원본에만 있는 줄은 삭제(빨간색), 수정본에만 있는 줄은 추가(녹색), 양쪽 모두에 있는 줄은 동일로 표시됩니다. git diff나 Unix diff와 동일한 근본 원리입니다.

두 텍스트를 어떻게 비교하나요?

왼쪽 텍스트 영역에 원본을, 오른쪽에 수정된 텍스트를 붙여넣거나 직접 입력하세요. "비교" 버튼을 클릭하면 아래에 줄 번호, 색상 코드, 추가/삭제 표시가 포함된 나란히 보기 결과가 나타납니다. 비교 결과 위에 추가, 삭제, 동일한 줄 수가 요약 통계로 표시됩니다.

비교 결과의 색상은 각각 무엇을 의미하나요?

녹색 배경은 추가된 줄(수정본에만 있고 원본에는 없음), 빨간색 배경은 삭제된 줄(원본에만 있고 수정본에는 없음)을 나타냅니다. 배경색이 없는 줄은 양쪽에서 동일합니다. 이 색상 규칙은 GitHub, GitLab 등 대부분의 코드 리뷰 도구에서 사용하는 표준과 동일합니다.

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

네. 모든 프로그래밍 언어의 소스 코드를 포함한 모든 일반 텍스트에서 작동합니다. 고정폭 글꼴이 들여쓰기 정렬을 유지하고, 줄 번호로 변경 위치를 쉽게 찾을 수 있습니다. JavaScript, Python, HTML, CSS, SQL, YAML, JSON 등 어떤 텍스트 기반 포맷이든 두 입력 영역에 내용을 붙여넣으면 됩니다.

LCS 알고리즘이란 무엇이고 왜 중요한가요?

LCS(Longest Common Subsequence, 최장 공통 부분 수열)는 두 텍스트에 공통으로 존재하는 가장 긴 줄 수열을 순서를 유지하며 찾는 동적 프로그래밍 알고리즘입니다. 동일한 부분을 정확히 파악함으로써 추가되거나 삭제된 부분을 정밀하게 결정합니다. 이를 통해 최소 차이(minimal diff)를 생성하여, 단순 줄별 비교에서 발생할 수 있는 거짓 매칭을 방지합니다.

비교할 수 있는 텍스트 크기에 제한이 있나요?

하드 리밋은 없지만, LCS 알고리즘은 각 텍스트의 줄 수(m, n)에 대해 O(m*n) 시간 및 공간 복잡도를 갖습니다. 수천 줄 정도는 즉시 비교됩니다. 매우 큰 파일(각 10,000줄 이상)은 잠시 계산 지연이 있을 수 있으며, 초대형 파일 비교에는 VS Code나 Beyond Compare 같은 데스크톱 도구가 더 적합할 수 있습니다.

JSON이나 YAML 같은 설정 파일도 비교할 수 있나요?

물론입니다. JSON, YAML, TOML, INI 등 모든 설정 파일 내용을 두 텍스트 영역에 붙여넣으세요. 모든 차이 줄이 강조되어 변경된 값, 추가된 키, 삭제된 섹션을 쉽게 파악할 수 있습니다. 포맷팅 차이가 아닌 실제 내용 변경에 집중하려면 두 파일의 들여쓰기와 키 순서를 통일한 뒤 비교하는 것을 권장합니다.

이 도구를 사용할 때 데이터가 안전한가요?

모든 텍스트 비교는 브라우저 안에서 완전히 이루어집니다. 붙여넣은 두 텍스트는 JavaScript로 로컬에서 처리되며 서버로 전송되거나 데이터베이스에 저장되거나 어디에도 기록되지 않습니다. 소스 코드, 자격증명이 포함된 설정 파일, 사용자 데이터가 담긴 API 응답, 내부 문서 등 민감한 콘텐츠도 안심하고 비교할 수 있습니다.