본문으로 건너뛰기

텍스트 공유 도구 - 코드 스니펫을 위한 무료 페이스트빈

브라우저에서 텍스트와 코드를 온라인으로 손쉽게 공유하는 무료 도구입니다. 열 가지 프로그래밍 언어의 구문 강조 표시를 지원하고, 링크 만료 시간을 직접 선택할 수 있으며 회원 가입 없이 바로 쓸 수 있는 무료 개발자용 협업 도구입니다.

텍스트 공유 도구

0 문자
로딩 계산기...
📚

문서화

텍스트 공유 도구(페이스트빈)

텍스트 공유 도구는 흔히 페이스트빈이라고 하며, 텍스트나 코드 블록을 게시하고 이를 여는 누구에게나 해당 텍스트를 보여 주는 링크를 받는 웹 페이지입니다. 이 페이스트빈 도구는 브라우저에서만 작동하고 계정이 필요 없으며, 선택적으로 구문 강조와 링크 만료 시간을 추가할 수 있습니다.

텍스트 공유 도구의 작동 방식

대부분의 페이스트빈 서비스는 텍스트를 서버에 저장하고 데이터베이스 행을 가리키는 짧은 링크를 돌려줍니다. 이 도구는 다르게 작동합니다. 서버도 데이터베이스도 없습니다. 대신 붙여넣은 전체 내용을 링크 자체에 담습니다.

누군가 "링크 만들기"를 클릭하면 도구는 네 가지 작업을 수행합니다.

  1. 텍스트, 선택한 언어, 만료 시간(또는 "never"를 선택한 경우 만료 시간 없음)을 담은 작은 객체를 만듭니다.
  2. 해당 객체를 한 줄의 JSON 텍스트로 변환합니다.
  3. 웹에서 어디서나 사용하는 UTF-8 인코딩으로 JSON을 바이트로 변환합니다.
  4. 해당 바이트를 base64url로 인코딩합니다. 이는 임의의 바이트를 문자, 숫자, -, _로 변환하는 방식이므로 결과를 URL 안에서 안전하게 사용할 수 있습니다.

인코딩된 텍스트는 페이지 URL 끝의 #p= 뒤에 배치됩니다. # 뒤의 모든 부분을 프래그먼트라고 합니다. 브라우저는 페이지를 불러올 때 프래그먼트를 서버로 전송하지 않으므로 붙여넣은 내용은 어디에도 전송되지 않습니다. 링크를 다시 읽는 과정은 그 반대입니다. base64url 텍스트를 디코딩하고, 바이트를 UTF-8을 사용한 JSON 문자열로 되돌린 다음, JSON을 구문 분석하여 텍스트, 언어, 만료 시간을 복원합니다.

프래그먼트에 붙여넣은 전체 내용이 들어 있으므로 공유 링크는 링크를 만든 기기나 브라우저뿐 아니라 모든 기기와 브라우저에서 작동합니다. 조회할 항목이 없습니다. 링크를 열기만 하면 내용이 표시되며, 다운로드한 파일을 열 때 파일 내용이 무엇인지 서버에 물어볼 필요가 없는 것과 같습니다.

이 도구는 편의를 위한 초안으로 각 붙여넣기의 사본도 브라우저 저장소에 보관합니다. 이 사본은 같은 브라우저가 해당 브라우저에서 과거에 만든 붙여넣기를 다시 찾도록 도울 뿐입니다. 공유 링크를 여는 방식에는 전혀 관여하지 않으며, 링크가 이 사본에 의존하지 않으므로 사본을 삭제해도 공유 링크는 깨지지 않습니다.

구문 강조

구문 강조는 키워드, 문자열, 주석과 같은 코드의 부분에 색을 입혀 구조를 더 쉽게 읽도록 합니다. 이 도구는 다음 열 가지 옵션을 지원합니다.

  • 일반 텍스트(구문 강조 없음)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

선택한 언어는 인코딩된 페이로드 안에 저장되므로, 보는 사람이 아무것도 선택하지 않아도 링크를 열 때 구문 강조가 자동으로 적용됩니다.

만료 시간 계산식

만료 옵션은 1970년 1월 1일부터 경과한 밀리초로 측정되는 절대 타임스탬프를 설정합니다. 이는 유닉스 에포크라고 하는 일반적인 컴퓨팅 기준 시점입니다. 도구는 링크가 생성된 시점에 고정된 시간을 더합니다.

옵션추가 시간
없음타임스탬프를 저장하지 않음
1시간60 × 60 × 1,000밀리초
1일24 × 60 × 60 × 1,000밀리초
1주7 × 24 × 60 × 60 × 1,000밀리초
1개월30 × 24 × 60 × 60 × 1,000밀리초(달력상의 한 달이 아니라 고정된 30일)

예를 들어 시계가 1,700,000,000,000밀리초를 가리킬 때 링크를 만들고 만든 사람이 "1주"를 선택하면 저장되는 만료 시간은 다음과 같습니다.

1,700,000,000,000 + (7 × 24 × 60 × 60 × 1,000) = 1,700,604,800,000밀리초

보는 사람이 링크를 열면 도구는 저장된 타임스탬프를 현재 시각과 비교합니다. 저장된 시간이 이미 지났다면 텍스트 대신 "이 콘텐츠는 만료되었습니다"라는 메시지를 표시합니다. 만료 타임스탬프가 텍스트와 함께 링크 안에 들어 있으므로 이 확인은 어떤 기기에서도 같은 방식으로 작동합니다.

예시: 붙여넣기가 링크가 되는 과정

누군가 만료 시간을 설정하지 않고 일반 텍스트 Hello, world!를 공유한다고 가정해 보겠습니다. 도구는 링크를 간결하게 유지하기 위해 짧은 필드 이름을 사용하여 다음 JSON 객체를 만듭니다.

1{"t":"Hello, world!","l":"plaintext","e":null}
2

해당 JSON을 UTF-8 바이트로 인코딩한 다음 base64url로 인코딩하면 다음 결과가 나옵니다.

1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

전체 공유 링크는 페이지 주소 뒤에 #p= 토큰을 붙인 것입니다.

1https://whiz.tools/en/development/paste-bin-tool#p=eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

이 링크를 여는 사람의 브라우저는 토큰을 디코딩하고, Hello, world!를 일반 텍스트로 다시 읽어 표시합니다. 서버에 무언가를 요청한 적은 전혀 없습니다.

텍스트 또는 코드 공유 방법

  1. 텍스트 상자에 텍스트를 입력하거나 붙여넣습니다. 텍스트를 입력할 때마다 문자 수가 업데이트됩니다.
  2. 선택적으로 구문 강조 메뉴에서 언어를 선택합니다.
  3. 선택적으로 링크를 얼마 동안 유효하게 유지할지 선택합니다.
  4. "링크 만들기"를 클릭합니다.
  5. "링크 복사" 버튼으로 생성된 링크를 복사한 뒤 원하는 방식으로 보냅니다.

공유된 텍스트를 보는 방법

  1. 공유 링크를 엽니다.
  2. 선택한 언어가 있으면 구문 강조와 함께 텍스트가 즉시 표시됩니다.
  3. "텍스트 복사"를 사용하여 내용을 클립보드에 복사합니다.
  4. "새로 만들기"를 사용하여 새 붙여넣기를 시작합니다.

링크를 만든 후에는 붙여넣기를 편집할 수 없습니다. 텍스트를 변경하려면 새 붙여넣기를 만들고 새 링크를 공유해야 합니다.

일반적인 사용 사례

  • 검토나 디버깅 도움을 위해 코드 조각을 공유하는 개발자
  • 시작 코드나 지침을 공유하는 교사
  • 목록이나 메모 모음과 같은 텍스트 블록을 자신의 두 기기 사이에서 옮기는 사람 누구나

여러 사람이 동시에 편집해야 하는 텍스트에는 공유 문서 도구가 더 적합합니다. 영구적인 변경 이력이 필요한 코드에는 Git과 같은 버전 관리 시스템이 더 적합합니다.

제한 사항 및 개인정보 보호

붙여넣은 전체 내용이 링크 안에 있으므로 실제 크기 제한은 저장 용량이 아니라 URL 자체의 길이입니다. 브라우저는 긴 URL을 처리할 수 있지만, 많은 이메일 프로그램과 채팅 앱 및 오래된 시스템은 매우 긴 URL을 잘라 내거나 거부합니다. 따라서 매우 큰 붙여넣기는 모든 채널에서 제대로 전송되지 않을 수 있습니다. 짧거나 중간 크기의 붙여넣기에는 영향이 없습니다.

프래그먼트는 서버로 전송되지 않으므로 도구 자체는 붙여넣은 내용을 알 수 없습니다. 정확한 링크를 가진 사람은 누구나 열 수 있으므로 링크는 그 안에 포함된 텍스트와 같은 방식으로 취급해야 합니다. 이 방법으로 비밀번호나 기타 민감한 데이터를 공유하지 말고, 내용을 비공개로 유지해야 한다면 링크를 공개된 곳에 게시하지 마십시오.

자주 묻는 질문

공유된 텍스트는 실제로 어디에 저장되나요? 링크와 별도로 저장되는 곳은 없습니다. 텍스트, 선택한 언어, 만료 시간은 모두 링크의 프래그먼트, 즉 # 뒤의 부분에 직접 인코딩됩니다. 링크 자체가 유일한 사본입니다.

링크가 다른 기기나 브라우저에서도 작동하나요? 예. 내용이 링크 안에 들어 있으므로 링크를 여는 모든 기기에서 내용을 디코딩하고 표시할 수 있습니다. 계정이나 원래 사용한 브라우저가 필요하지 않습니다.

브라우저 데이터를 삭제하면 어떻게 되나요? 기존 공유 링크에는 아무 일도 일어나지 않습니다. 공유 링크는 브라우저에 저장된 어떤 항목에도 의존하지 않고 링크 자체에만 의존합니다. 브라우저 데이터를 삭제하면 해당 기기에서 만든 붙여넣기에 대해 브라우저가 보관한 편의용 로컬 사본만 제거됩니다.

링크를 만든 후에 붙여넣기를 편집할 수 있나요? 아니요. 내용이 생성 시점에 링크에 포함되므로 변경하려면 새 링크를 만들어야 합니다.

붙여넣기가 만료되면 어떻게 되나요? 만료된 링크를 열면 원래 텍스트 대신 콘텐츠가 만료되었다는 메시지가 표시됩니다. 링크 자체는 여전히 존재하지만 저장된 만료 타임스탬프가 지나면 더 이상 내용을 표시하지 않습니다.

크기 제한이 있나요? 고정된 저장 용량 제한은 없지만 일부 이메일 클라이언트와 메시지 앱은 매우 긴 URL을 거부하거나 잘라 낼 수 있습니다. 따라서 매우 큰 붙여넣기에는 전용 파일 공유 도구가 더 적합합니다.

참고 문헌

  1. "UTF-8." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/UTF-8
  2. "Base64." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/Base64
  3. "URL." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/API/URL
  4. "Syntax highlighting." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Syntax_highlighting
  5. "Unix time." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Unix_time