로그인

검색

Site
2012.08.02 21:32

소스 공유 사이트

조회 수 1320 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄

http://bit.ly/ov36Gk


코딩을 하다가 막히는 부분이 있어서 질문을 하고 싶거나,
혹은 내가 작성한 코드를 다른 사람들에게 보여 주어야 할 때가 있습니다.

그런데 코드를 공유한다는 것이 말처럼 쉽지만은 않죠.

파일 자체로 공유를 하려면 상대에게 메일을 보내거나 메신저로 전송하는 방법이 떠오르지만,
한 명 혹은 소수의 사람들에게 전달하는 거면 몰라도 온라인 커뮤니티 같은 곳에 공개하긴 어렵습니다.

파일을 별도의 서버에 업로드한 다음 그 링크를 따서 보내 주는 건 텍스트를 공유하기 위한 작업 치곤 거창합니다.

그렇다고 그냥 게시판에 Ctrl+C & Ctrl+V 신공을 쓰기엔 Syntax Highlighting 같은 게 안 되는 건 둘째 치고
들여쓰기 같은 것들이 무시되고 폰트 역시 고정폭 폰트가 적용되지 않는 등 보기가 상당히 불편합니다.
게다가 HTML 관련 문자가 섞여 있을 경우 표시가 안 될 수도 있고, 코드를 다른 사람이 복사해 가기도 어렵습니다.

아래 이미지는 게시판에 붙여넣기한 코드와 텍스트 에디터에서 보이는 코드의 '가독성' 차이를 극명하게 보여 줍니다.
(이미지들은 모두 클릭하면 크게 보입니다 ^^)




그래서 해외 네티즌들은 오래 전부터 소스 코드 공유 서비스들을 사용하고 있습니다.
소스 코드 전체를 게시판 글이나 답글 박스에 붙여넣기하는 것이 아니라, 공유 서비스에 소스를 올린 후
embed 형태로 삽입하거나 혹은 '그 글의 링크' 만 복사해서 공유하는 것이죠. 아래처럼요 ^^




실제 소스 코드 링크로 들어가 보면 아래와 같은 화면을 볼 수 있습니다.
그냥 게시판에 소스 코드 전체를 붙여넣기하는 것보다 훨씬 알아보기도 쉽고 공유하기도 편합니다 ^^




이런 서비스들을 흔히 ‘Pastebin‘ 이라고 지칭하는데, 클립보드의 내용을 다른 사람들과 공유하기 위한
임시 저장 및 공개 장소, 즉 인터넷 클립보드로서의 역할을 수행한다는 의미로 이해하면 되겠습니다.

이러한 서비스들은 자체적으로 Syntax Highlighting 을 지원함은 물론, 코드를 텍스트 형태 그대로 보여 주어
복사하기 쉽도록 하거나 아예 파일 형태로 다운로드할 수 있도록 해 주기 때문에 활용 가치가 상당합니다.

상당히 많은 서비스들이 존재
하며 개중엔 codepad 나 jsFiddle 과 같이 단순한 인터넷 클립보드 이상의
기능들을 지닌 것들도 많이 있습니다. 하지만 이 글에서는 ‘소스 코드 공유’ 라는 기본에 가장 충실한,
그렇기에 간편하게 사용할 수 있는 서비스 '딱 두 가지' 만 소개하고자 합니다.



1. Pastebin (http://pastebin.com)

2002년에 만들어진, 가장 초창기의 소스 코드 공유 서비스 중 하나입니다.
회원 가입이 가능하며 Pro 회원은 유료이지만, 딱히 가입을 안 해도 기능상 큰 제한 없이 사용 가능합니다.
Public List 가 존재하며 공개 설정을 바꾸지 않을 경우 전체 공개로 등록, 노출됩니다.

─ 장점:
    등록자, 코드의 용량, 조회수, 등록된 시간 등을 확인 가능
    자신이 올린 코드 수정 및 삭제 가능 (단, 로그인 후 작성했던 것들만)
    자신이 지금까지 올렸던 코드들을 조회 및 관리할 수 있음 (단, 로그인 후 작성했던 것들만)
    Wrap Lines 기능이 있음
    다른 HTML 페이지에 Embed 가능
    Raw File (서식 등이 전혀 없는 원본 그대로의 텍스트) 보기 및 다운로드 기능
    클립보드 복사 기능 제공됨
    글의 만료 시간을 설정할 수 있음 (해당 시간이 지나면 글이 자동 삭제되도록 하거나, 혹은 영구 보존할 수 있음)
    애플리케이션 및 API 지원이 아주 좋음. 특히 애플리케이션의 경우 다양한 플랫폼 (심지어 WebOS 도) 지원
    Layout width 버튼을 클릭하면 고정폭 · 유동폭 전환 가능
    Fork (라기보단 해당 소스 코드를 별도 글로 복사) 기능 있음

─ 단점:
    코드 안에 링크가 있을 경우, 등록할 때 스팸 방지용 Captcha 를 입력해야 함
    등록 가능한 소스 코드의 용량이나 비공개 가능한 코드의 개수 등에도 제약이 있음
    광고 배너가 많이 있는데, 크기도 큰 데다 중요한 위치들에 딱딱 박혀 있어 Adblock 같은 게 없다면 많이 거슬림
    Syntax Highlighting 테마를 지원하지 않음







2. Pastie (http://www.pastie.org)

Pastebin 에 비해 훨씬 심플하고 광고가 많이 박혀 있지도 않아서 개인적으론 더 선호하는 서비스입니다
이런 류의 서비스들이 으레 그렇듯 별도의 회원제는 없으며, 서비스 자체도 엄청나게 단순합니다.
Ruby on Rails 로 만들어진 서비스인데다 freenode IRC 의 #rubyonrails 에서 주로 쓰이기 때문에
등록되는 코드 중 많은 수가 Rails 관련 코드들입니다만, 기본적으로 주요 언어들은 모두 지원합니다.

─ 장점:
    극도로 심플하며 사용하기 편함
    Captcha 같은 게 없음. 배너는 있긴 한데 전혀 신경쓰이지 않음
    Syntax Highlighting 테마 지원. 테마의 다양성이 넓은 편
    Ruby on Rails 관련 키워드들에 대한 Syntax Highlighting 지원이 특히 좋음
    다른 HTML 페이지에 Embed 가능
    Raw File 보기 및 다운로드 기능
    역시나 Fork (라고 할 만큼 거창하진 않지만) 기능 있음

─ 단점:
    Wrap Lines 기능이 없으며, 코드가 화면 폭을 넘어가는지의 여부를 바로 알기 힘듬
    별도의 부가 기능이라고 할 만한 게 없음. 딱 코드를 올려서 공유하는 정도에 그침
    등록자, 코드의 용량, 조회수, 등록된 시간 등의 정보 확인 불가능
    해당 글의 Permalink 를 모르거나 잊었을 경우 찾기가 어려움 (검색을 통해 찾는 수밖에 없음)
    등록한 코드는 수정 및 삭제 불가 (단, 올린 직후의 글에 한해 수정만 가능)
    클립보드 복사 기능이 없음. Raw File 을 연 다음 직접 코드를 선택해 복사해야 함
    API 지원을 하긴 하지만, 그 정도가 너무 부실함. 설명 페이지조차 하나 없음




?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 Tool/etc Programming 게시판 관련 2 MoA 2014.11.01 5317
48 Tool/etc 쿠버네티스 클러스터 OBG 2022.11.11 1115
47 Web defer, async 스크립트 OBG 2023.01.10 550
46 서버 Caching in Node.js to optimize app performance OBG 2023.01.16 407
45 Tool/etc How To Set Up Multi-Factor Authentication for SSH on Ubuntu 20.04 OBG 2023.01.17 579
44 Database 수신 기한이 지난 데이터를 MySQL에서 삭제할 때의 이야기 OBG 2023.01.25 411
43 Python FastAPI 톺아보기 - 부제: python 백엔드 봄은 온다 OBG 2023.01.25 517
42 Site 개발에 도움되는 사이트 (초보 개발자 꿀팁) OBG 2023.01.28 478
41 서버 Caching In Node.js Applications OBG 2023.03.03 764
40 Deeplearning LLaMA: INT8 edition OBG 2023.03.09 645
39 서버 PM2를 활용한 Node.js 무중단 서비스하기 OBG 2023.03.09 434
38 Tool/etc 잡담) AWS에 서버 띄워 놓으니 벼라별 리퀘스트가 다 날아 오네요 OBG 2023.03.11 968
37 Deeplearning 추천 시스템 OBG 2023.03.30 935
36 Deeplearning Reinforcement Learning for Dynamic Pricing Suggestion OBG 2023.04.01 614
35 서버 SSH-Tunneling을 통한 MySQL 서버 연결 OBG 2023.04.21 538
34 서버 Design a Basic Search Engine (Google or Bing) | System Design Interview Prep OBG 2023.05.27 437
33 Python Numpy의 axis 변경 OBG 2023.06.09 562
32 Deeplearning [한빛미디어] 머신러닝·딥러닝 도서 선택 가이드 OBG 2023.06.11 869
31 LLM LLM 출력 속도 24배 높여주는 라이브러리 등장했다 OBG 2023.06.30 628
30 서버 Debugging Node.js Memory Leaks: How to Detect, Solve or Avoid Them in Applications OBG 2023.07.04 427
29 Deeplearning PyTorch 딥러닝 챗봇 OBG 2023.07.04 421
Board Pagination Prev 1 ... 6 7 8 9 10 11 12 13 14 15 Next
/ 15