메뉴 건너뛰기

OBG

Programming

Site
2012.08.02 21:32

소스 공유 사이트

조회 수 458 추천 수 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 1714
246 Python [첫게임 만들기] 8. Win or Lose file MoA 2013.11.21 421
245 Python [첫게임 만들기] 9. 사운드 file MoA 2013.11.21 449
244 Deeplearning [한빛미디어] 머신러닝·딥러닝 도서 선택 가이드 OBG 2023.06.11 70
243 Tool/etc "Node.js를 떠나며" - express를 만든 TJ의 글 OBG 2022.06.23 121
242 API/MFC #pragma MoA 2013.07.28 292
241 Site 10 Useful/Fun/Weird Github Repos You Have to Play Around With OBG 2023.12.28 94
240 Tool/etc 2016년에 자바스크립트를 배우는 기분 MoA 2016.12.27 460
239 Python 2048 Game in Python OBG 2022.09.22 117
238 Algorithm 2048게임 높은 점수 얻기 위한 알고리즘 MoA 2014.03.29 547
237 LLM A Beginner's Guide to Prompt Engineering with GitHub Copilot OBG 2024.04.04 19
236 Web Address Bar Install for Progressive Web Apps on the Desktop OBG 2021.12.15 82
235 LLM Anthropic, LLM의 내부를 이해하는데 있어 상당한 진전을 보임 OBG 2024.06.03 17
234 Library AS3 Code Library MoA 2013.10.11 5030
233 Graphic ASCII 3D 렌더러 만들기 OBG 2024.06.03 25
232 Tool/etc AWS VPC 피어링 OBG 2022.11.03 105
231 Tool/etc AWS 망 분리하기 OBG 2022.09.06 113
230 Site Base64 decoder (binary file로 저장) Naya 2012.11.15 441
229 C/C++ Binary 데이터 저장 by Google MoA 2013.07.28 323
228 STL/Boost Boost c++ Libraries (설명, 정리) Naya 2012.08.02 294
227 STL/Boost boost::shared_ptr 소개 Naya 2012.08.02 362
Board Pagination Prev 1 ... 2 3 4 5 6 7 8 9 10 ... 15 Next
/ 15
위로