GN⁺: Zed 에디터, SSH Remote 기능 지원
(zed.dev)- 대규모 코드베이스를 다루는 사람들에게 노트북에서 프로그래밍하는 것은 부담스러울 수 있음
- 팬이 계속 돌아가고, 언어 서버는 메모리가 부족하며, 재빌드 시간이 오래 걸림
- Zed에서는 SSH를 통해 어떤 기기에서도 프로젝트를 열 수 있음
- UI는 로컬에서 완전히 실행되어 120프레임의 완벽한 그래픽을 제공하며, 언어 서버, 작업, 터미널은 원격 서버에서 실행되어 클라우드 하드웨어를 활용할 수 있음
원격 개발 환경 구축
- 원격 코드 편집을 위해 Zed는 SSH 지원을 위한 인프라 변경 작업을 진행해 왔음
- SSH 연결 유지, 원격 서버 구축, 기능 통합 등 다양한 문제를 해결해야 했음
- SSH 연결을 위해 ControlMaster 설정을 사용하여 각 호스트에 단일 연결을 유지함
- 연결 후 운영 체제와 아키텍처에 맞는 원격 서버를 다운로드함
-
musl
로 컴파일된 원격 서버는 동적 링크가 필요 없어 오래된 배포판에서도 작동 가능함 - 연결이 끊어져도 원격 서버가 계속 실행되며, 재연결 시 언어 서버가 완전히 초기화된 상태로 유지됨
- 저장되지 않은 변경 사항은 로컬에 백업되어 작업을 잃지 않음
협업과 SSH 프로젝트
- SSH 프로젝트를 협업과 함께 작동하도록 만드는 것이 도전이었음
- 최소 4개의 노드가 SSH를 통한 2인 협업에 관여할 수 있어 협업 동기화 프로토콜을 테스트함
-
Project
를 논리적 조각으로 나누어 클라이언트가 협업 호스트, SSH 호스트, 협업 게스트인지에 따라 원격 및 로컬 모드에서 활성화할 수 있도록 함 - 새로운 테스트를 통해 각 역할과 협업 서버를 인스턴스화하여 동기화가 올바르게 이루어지는지 확인함
- 친구나 동료와 프로젝트를 진행할 때, 프로젝트가 노트북에 있는지 SSH로 접속 가능한 기기에 있는지 투명하게 처리됨
GN⁺의 정리
- Zed는 대규모 코드베이스를 다루는 개발자들에게 원격 서버를 활용하여 효율적인 개발 환경을 제공함
- SSH를 통한 원격 개발 기능은 클라우드 하드웨어를 활용하여 성능을 향상시킴
- 협업 기능은 여러 노드 간의 동기화를 지원하여 원활한 협업을 가능하게 함
- Zed는 macOS와 Linux에서 사용할 수 있으며, 개발자들에게 새로운 경험을 제공함
- 비슷한 기능을 제공하는 다른 프로젝트로는 Visual Studio Code의 Remote Development Extension이 있음
Hacker News 의견
-
Zed와 SSH Remoting, Orbstack을 사용하여 Mac에서 프로그래밍하는 것이 꿈의 환경임
- Orbstack에서 Linux 머신을 몇 초 만에 실행하고 Zed에서 SSH로 접속하여 빠른 Linux 개발 환경을 제공받음
- macOS 버전의 WSL과 VSCode와 비슷하지만 더 나은 느낌임
- 과거에 Mitchell Hashimoto의 작업에서 영감을 받았음
- VMware와 Docker Desktop을 사용했지만 부드럽고 빠른 개발 환경을 얻기에는 부담이 있었음
- Zed와 Orbstack 덕분에 빠르고 우아한 시스템을 얻었음
-
Zed의 수익 모델과 오픈 소스 여부에 대한 궁금증이 있음
- 회사 제품에 의존하는 워크플로우를 구축하는 것이 걱정스러움
-
Zed의 원격 개발 기능은 원격 호스트에 바이너리를 설치하고 실행함
- 로컬 머신이 SSH를 통해 원격 서버에 연결하고 Zed가 서버를 다운로드하여 시작함
-
Zed를 C, C++, Rust, Angular 개발에 사용하며 매우 만족함
- JetBrains, vscode, vim 등 다양한 도구를 사용해봤지만 Zed가 일상적인 코딩에 우수함
- 디버깅 기능이 부족하여 C# 개발에는 사용하지 못함
- 매우 빠른 반응 속도를 자랑함
-
여러 컴퓨터를 오가며 개발할 때 tmux와 nvim을 사용하여 세션을 유지함
- Zed나 VS Code가 이 사용 사례를 지원하지 않는 것으로 보임
-
Zed의 빠른 속도는 좋지만 인라인 오류 강조 표시와 코드 실행 버튼 같은 필수 기능이 부족함
- 현재 Zed IDE는 가벼운 AI 지원 텍스트 편집기처럼 느껴짐
-
이미지 기반 화면 공유가 더 나은 선택일 수 있음
- Zed의 협업 기능은 좋지만 다른 앱과의 호환성 문제를 고려해야 함
-
진정으로 휴대 가능한 원격 편집 솔루션을 원함
- 원격 서버에 서버를 설치해야 하는 Zed나 vscode의 솔루션은 적합하지 않음
- 원격 환경이 다를 때 프로젝트를 쉽게 복사하여 작동시키기 어려움
- Zed의 기능이 좋고 발전하고 있어 긍정적임
-
신뢰할 수 있는 원격 서버에서 알 수 없는 앱을 실행하는 것은 좋은 생각이 아님
- 로컬에서 모든 작업을 처리하는 것이 더 빠름
- SSH의 내장 기능을 활용하여 파일을 처리할 수 있음
-
Emacs나 Tramp에 대한 언급이 없어 걱정스러움
- AI 열풍에만 집중하는 것처럼 보임