16P by neo 13일전 | favorite | 댓글 1개
  • 대규모 코드베이스를 다루는 사람들에게 노트북에서 프로그래밍하는 것은 부담스러울 수 있음
  • 팬이 계속 돌아가고, 언어 서버는 메모리가 부족하며, 재빌드 시간이 오래 걸림
  • 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 열풍에만 집중하는 것처럼 보임