Rev. 2.73

Joseph Gentle씨는 Operational Transform(운영변환) 알고리즘을 구현한 Node.JS용 모듈인 ShareJS를 배포했습니다. 이 모듈은 여러명의 사용자가 웹브라우저에서 하나의 문서를 실시간으로 동시에 편집 할 수 있는 애플리케이션을 쉽게 구축할 수 있도록 돕는 것이 목적입니다. 그는 운영변환 알고리즘을 제대로 구현하는 것은 아주 어렵고 오랜 시간이 소요된다고 토로했습니다. 이 알고리즘의 핵심은 하나의 문서를 여럿이 동시에 편집해도 충돌이 일어나지 않게하는 구조를 가진다는 것입니다. 그리고 자신을 Google Wave 팀의 엔지니어로 일하면서 2년동안 연구한 결과를 ShareJS로 다시 작성한 것이라 밝혔습니다. 이제 여러분도 Etherpad와 같은 문서 편집 도구를 쉽사리 만들어 낼 수 있게 된 것입니다.

sharejs.open('blag', 'text', function(error, doc) {
  var elem = document.getElementById('pad');
  doc.attach_textarea(elem);
});

이봐봐... 정말이에요! 단 4줄로 Etherpad 같은 앱을 구현해 버리잖아요.

위 데모는 ShareJS의 예제 중 하나인 실시간 협업 코드 편집기입니다. 당신이 지금 편집하고 있는 상황은 이 웹페이지에 접속한 모든 사용자에게 실시간으로 방송됩니다. 물론 동시에 편집하는 것도 가능합니다. 이것은 웹상에서 코드를 편집하기 위한 라이브러리인 Ace(Cloud9 IDE에서 사용됨)와 실시간 통신을 위한 Socket.IO, 그리고 Redis 데이터베이스를 이용하여 마지막 편집 데이터를 영구 보존하도록 만들어졌습니다.

Comments

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

Your Reaction Time!

captcha

avatar