Rev. 2.73

Cloud9 GitHub에 놀러갔다가 뭔가 심상찮은 변화가 있는 듯하여 "git pull" 때렸더니 소스가 주룩주룩 갱신됩니다. 서브 모듈들도 왕창 업데이트 되었더군요. 참고로 저는 devel 브랜치를 빌드해서 운용합니다. 로그인 기능도 추가하고 새로운 기능들도 맛보고 싶어서지요. Cloud9은 확장기능을 제공하도록 설계되었습니다. 이것은 상단의 메뉴에서 Window > Extension Manager... 패널을 호출하여 사용자 지정 확장기능을 추가하거나 기존기능을 비활성할 수 있습니다. 그런데 뭔가 고장날까봐 잘 안건드리게 되더군요. 이번 패치에는 아래 그림에서 보는 것 처럼 사용자 지정 확장기능과 기본 확장기능이 구분되어있습니다. 뭔가 재미있는 것들이 있을것 같아 조금 살펴보기로 했습니다.

extansions.png

일단 1.6버전으로 운영되는 Cloud9 서비스의 기능과 비교해 보았습니다. 헉! Minimap이라는 쇼킹한 기능이 추가되었습니다! 이것은 소스전체를 작은 미리보기로 나타내고 현재 위치한 화면 영역을 구분하는 멋진 확장기능이었습니다. 상단 메뉴에서 View > Show Minimap을 클릭하여 활성 또는 비활성합니다. GitHub를 뒤져보니 Tane Piper씨가 벌써 훔쳐와 적용했더군요. 이 diff를 적용하면 아래 그림처럼 Minimap 기능이 활성화 됩니다. 신기해서 살짝 들춰보니 Canvas 요소를 이용해서 구현된 것이더라고요.

minimap.png

그런데 이분 코드에서 livecoffee라는 못보던 키워드를 발견합니다. 다시 GitHub에서 검색하니 바로 모습을 드러냅니다. Live CoffeeScript 확장은 커피스크립트로 작성된 코드를 즉시 자바스크립트로 해석해 주는 아주 멋진 녀석이었습니다. 간간히 커피스크립트로 만들어진 소스를 만나면 개짜증을 내며 js2coffee.org를 찾곤 했는데, 이제 그럴필요가 없습니다. Cloud9이 설치된 폴더로 이동하여 다음과 같이 clone하고 ...

git clone git://github.com/tanepiper/cloud9-livecoffee-ext.git client/ext/livecoffee

Extension Manager 패널에서 "ext/livecoffee/livecoffee"를 입력해주면 아래 그림처럼 기능이 활성됩니다.

livecoffee.png

그리고 client/ext 폴더는 ext 라이브러리를 사용했기 때문에 있는줄로 착각했었는데, 그게 아니라 확장기능들을 모아놓은 위치라는 사실도 알게 되었습니다. 웹으로 만들어진 도구로 웹앱를 짜고 Cloud9으로 Cloud9 소스를 머지(merge)하고 앉았으니 참 기분이 오묘합디다. ㅋㅋ

Cloud9 덕분에 좀처럼 변화가 없던 개발관습에 서서히 변화가 나타나고 있습니다. 이제는 Node.JS 코드를 만질때면 습관적으로 크롬을 찾게 됩니다. 코드를 짜는 족족 서버에 반영하고 결과를 즉시 확인하는 이 믿을수 없는 개발환경은 마치 클라이언트-사이드에서 자바스크립트를 다루는 것과 별반 다르지 않습니다. 프로세스를 여러개 실행할 수 있어서 개발용과 배포용을 구분하면 한 대의 서버에서 다양한 프로젝트를 작업할 수 있기 때문이고 더불어 GitHub와 함께하면 소스 리파지토리는 클라우드가 되어버리죠. 이제 Cloud9이 SSH 콘솔만 제대로 갖추면 크롬북이나 아이패드로 작업하는 그야말로 클라우드 개발환경이 만들어질 날도 머지않았습니다. 시와 때를 가리지 않는 미친 개발환경이네요.

Comments

Got something to add? You can just leave a comment.

Your Reaction Time!

captcha

avatar