JetBrains 의 Code with Me
JetBrains CodeWithMe
2021년 10월 중순 JetBrains에서 출시한 원격 개발 도구를 정리한 내용입니다.
현재(22년 12월)는 많은 업데이트가 되어 있을 것이므로 자세한 내용은 공식 자료를 확인 하세요.
공식 사이트
Code with Me
Pair programming
- 페어를 넘어 100명까지
- 한 명이 작업하고 나머지가 보는 것이 아닌 모두가 동시에 코딩 가능
- 혼자서 멀티플 환경을 만들어서 원격으로 작업도 가능 (향후 지원)
- JetBrains 플랫폼의 모든 IDE 에서 사용 가능
설치
간단한 플러긴 설치만 하면 되기때문에 환경 설정이 간단함(네트워크 설정이나 프로그램 설치 필요 없음)
- 현재(2022년)는 기본 번들로 포함되어 있음
- 간단한 전용 클라이언트도 있음, 이걸로 기존 IDE 에서 사용하는 모든(대부분?) 기능을 사용 가능
- 내가 상대의 파일을 열면 그 순간 그 파일이 로컬로 다운로드
사용 방법
- 링크를 생성하여 상대를 초대
- 상대를 팔로잉 하면 움직이는 창 등등이 하이라이팅
- 상대가 어떤 기능을 어떻게 사용하는지 볼 수 있음
- 화상 통화(채팅)도 가능
특징
- Host 의 개발 환경에 여러명이 접속하여 작업
- 각자가 작업한 것은 다른 change list 에서 관리되고 히스토리 볼 수 있고, 롤백도 가능
- 단순 follow 뿐 아니라 jump to 로 따라갈 수 도 있음
- 강제로 follow 시킬 수도 있음
- Follow 를 끊고 혼자서 따로 작업도 가능
- Guest 입장에서 run, debug, test 를 host 의 머신 위에서 할 수 있음
- 게다가 터미널을 사용할 수 도 있음 - 보안위협이 있을 수 있으므로 신뢰하는 사람과 함께 할 것
보안 설정
- Host 는 방의 보안 설정을 다양하게 할 수 있음
- 특정파일은 숨길 수도, 못 열게 할 수도 있음
- 기본적으로 비허용, host 가 허용 해줘야 함
보안
- End-to-end 암호화, 필요시 로비를 온프레미스에 구축(모든 트래픽을 내부에서) 가능
- 다르게 말하자면 상호 접속을 위한 중간계층(= 로비)이 필요, 즉 P2P 가 아님
- 상대가 작업하는동안 다른 화면(탭이나 아예 다른 프로그램)을 볼 수 있나? - 확인 필요
- 동시에 같은 곳을 수정하면 히스토리는 어떻게 보일까? - 확인 필요
요금제
- 무료는 30분 3명
- 유료 라이선스는 번들로 제공됨 50명까지 무제한
- 엔터프라이즈는 100명, 온프레미스 가능
질문/답변
- 기술적 제약으로 (live streaming 같은)화면 공유는 안됨
- 세미나 형태에는 다소 부적합
- 실행 취소, 팔로우 개선 - 신규 이슈들을 계속 받음
- 코드 커밋 시 좀 불편한 것 같다 - 세션이 있을 때만 change list 가 구분됨 / 코드 커밋이 페어 프로그래밍의 주요 피처는 아니다
- 각자의 플러그인이 다른 경우? - 호스트의 플러그인을 따라감 (게스트는 매우 가벼운 IDE 를 받아서 한다고 볼 수 있음, 일부 기능은 안될 수도)
- 성공 사례 - JB 내부에서 활용 중
개인적 평가
- 네트워크 환경(특히 VPN)에 따라 접속이 잘 안되는 경우가 있음
- 한국에서는 다소 느린 느낌
- 이제 시작하는 서비스이고 계속 발전하고 있으니 기대해 볼 만
- 원격 근무 시 신규 입사자 교육 시 쓰기 적절한 느낌