16 puan yazan GN⁺ 2024-11-01 | 1 yorum | WhatsApp'ta paylaş
  • Büyük ölçekli kod tabanlarıyla çalışanlar için dizüstü bilgisayarda programlama yapmak zorlayıcı olabilir
  • Fan sürekli çalışır, dil sunucularının belleği yetmez ve yeniden derleme süreleri uzar
  • Zed ile SSH üzerinden herhangi bir cihazda projeler açılabilir
  • Arayüz tamamen yerelde çalışarak 120 FPS akıcı grafik sunarken; dil sunucuları, görevler ve terminal uzak sunucuda çalışır, böylece bulut donanımından yararlanılabilir

Uzak geliştirme ortamı kurma

  • Uzak kod düzenleme için Zed, SSH desteğine yönelik altyapı değişiklikleri üzerinde çalışıyordu
  • SSH bağlantısını sürdürme, uzak sunucu kurma ve özellik entegrasyonu gibi çeşitli sorunların çözülmesi gerekiyordu
  • SSH bağlantısı için her ana makinede tek bir bağlantıyı korumak amacıyla ControlMaster yapılandırması kullanılıyor
  • Bağlantıdan sonra işletim sistemi ve mimariye uygun uzak sunucu indiriliyor
  • musl ile derlenmiş uzak sunucu dinamik bağlantı gerektirmediği için eski dağıtımlarda da çalışabiliyor
  • Bağlantı kopsa bile uzak sunucu çalışmaya devam ediyor; yeniden bağlanıldığında dil sunucuları tamamen başlatılmış durumda kalıyor
  • Kaydedilmemiş değişiklikler yerelde yedekleniyor, böylece çalışma kaybolmuyor

İş birliği ve SSH projeleri

  • SSH projelerini iş birliğiyle birlikte çalışır hale getirmek zorlu bir işti
  • SSH üzerinden iki kişinin iş birliğinde en az 4 düğüm yer alabildiğinden, iş birliği senkronizasyon protokolü test edildi
  • Project, mantıksal parçalara bölündü; böylece istemci iş birliği sunucusu, SSH ana makinesi veya iş birliği konuğu olmasına göre uzak ve yerel modlarda etkinleştirilebiliyor
  • Yeni testlerle her rol ve iş birliği sunucusu örneklenerek senkronizasyonun doğru çalıştığı doğrulandı
  • Bir arkadaşınız veya iş arkadaşınızla proje üzerinde çalışırken, projenin dizüstü bilgisayarda mı yoksa SSH ile erişilebilen bir cihazda mı olduğu şeffaf biçimde ele alınıyor

GN⁺ özeti

  • Zed, büyük ölçekli kod tabanlarıyla çalışan geliştiricilere uzak sunucuları kullanarak verimli bir geliştirme ortamı sunuyor
  • SSH üzerinden uzak geliştirme özelliği, bulut donanımını kullanarak performansı artırıyor
  • İş birliği özelliği, birden çok düğüm arasında senkronizasyonu destekleyerek sorunsuz ortak çalışmayı mümkün kılıyor
  • Zed, macOS ve Linux'ta kullanılabiliyor ve geliştiricilere yeni bir deneyim sunuyor
  • Benzer işlevler sunan diğer projeler arasında Visual Studio Code'un Remote Development Extension'ı bulunuyor

1 yorum

 
GN⁺ 2024-11-01
Hacker News görüşleri
  • Zed ve SSH Remoting ile Orbstack kullanarak Mac'te programlama yapmak adeta rüya gibi bir ortam

    • Orbstack üzerinde birkaç saniye içinde bir Linux makinesi çalıştırıp Zed'den SSH ile bağlanarak hızlı bir Linux geliştirme ortamı elde ediliyor
    • macOS sürümündeki WSL ve VSCode'a benziyor ama daha iyi hissettiriyor
    • Geçmişte Mitchell Hashimoto'nun çalışmalarından ilham alınmış
    • VMware ve Docker Desktop kullanıldı, ancak akıcı ve hızlı bir geliştirme ortamı elde etmek için bunlar fazla ağır kaldı
    • Zed ve Orbstack sayesinde hızlı ve zarif bir sistem elde edildi
  • Zed'in gelir modeli ve açık kaynak olup olmadığı merak ediliyor

    • Bir şirket ürününe bağımlı bir iş akışı kurmak endişe verici
  • Zed'in uzaktan geliştirme özelliği, uzak ana makineye bir binary kurup çalıştırıyor

    • Yerel makine SSH üzerinden uzak sunucuya bağlanıyor ve Zed sunucuyu indirip başlatıyor
  • Zed, C, C++, Rust ve Angular geliştirmede kullanılıyor ve bundan çok memnun kalınıyor

    • JetBrains, vscode, vim gibi çeşitli araçlar denendi ama Zed günlük kodlama için üstün bulunuyor
    • Hata ayıklama özelliği yetersiz olduğu için C# geliştirmede kullanılamıyor
    • Çok hızlı tepki süresi sunuyor
  • Birden fazla bilgisayar arasında gidip gelerek geliştirme yaparken oturumu korumak için tmux ve nvim kullanılıyor

    • Zed veya VS Code'un bu kullanım senaryosunu desteklemediği görülüyor
  • Zed'in yüksek hızı güzel, ancak satır içi hata vurgulama ve kod çalıştırma düğmesi gibi temel özellikler eksik

    • Şu anki Zed IDE, hafif yapay zeka destekli bir metin editörü gibi hissettiriyor
  • Görüntü tabanlı ekran paylaşımı daha iyi bir seçenek olabilir

    • Zed'in iş birliği özellikleri iyi, ancak diğer uygulamalarla uyumluluk sorunları dikkate alınmalı
  • Gerçekten taşınabilir bir uzaktan düzenleme çözümü isteniyor

    • Uzak sunucuya bir sunucu kurmayı gerektiren Zed veya vscode çözümleri uygun değil
    • Uzak ortam farklı olduğunda projeyi kolayca kopyalayıp çalıştırmak zorlaşıyor
    • Zed'in özellikleri iyi ve gelişmeye devam ettiği için olumlu görülüyor
  • Güvenilir bir uzak sunucuda ne olduğu bilinmeyen bir uygulamayı çalıştırmak iyi bir fikir değil

    • Her şeyi yerelde yapmak daha hızlı
    • Dosyaları işlemek için SSH'nin yerleşik özelliklerinden yararlanılabilir
  • Emacs veya Tramp hakkında hiç bahsedilmemesi endişe verici

    • Sanki sadece yapay zeka furyasına odaklanılıyor gibi görünüyor