1 puan yazan GN⁺ 2024-01-23 | 1 yorum | WhatsApp'ta paylaş
  • Yeni bir sürüm kontrol sistemi: Diversion

    • Sasha ve Egal, modern ve bulut tabanlı bir sürüm kontrol sistemi olan Diversion üzerinde çalışıyor.
    • İlk kullanıcılar oyun geliştiriciler oldu; Diversion’ın sadeliğini ve ölçeklenebilirliğini beğeniyorlar.
    • Hızlı demoyu buradan görebilirsiniz: demo bağlantısı
  • Git’in sınırları ve yeni bir VCS ihtiyacı

    • Git, yazılım geliştirmeyi büyük ölçüde ileri taşıdı; ancak 2005’in koşullarına göre (yavaş ağlar, küçük projeler, bulutun kullanılmaması) tasarlandığı için bugün herkes için kusursuz bir araç değil.
    • Git’in en büyük dezavantajı, depo ve dosya boyutu ile eşzamanlı kullanıcı sayısı konusunda sınırlı ölçeklenebilirliğe sahip olması.
    • Google ve Meta’nın kendi sürüm kontrol sistemlerini kurmasının nedeni de bu; ayrıca oyun geliştirme, yarı iletkenler ve finansal hizmetler gibi alanlardaki büyük şirketlerin hâlâ SVN ve Perforce gibi eski araçları kullanmasının nedeni de bu.
  • Git’in karmaşıklığını çözmek ve modern özellikleri birleştirmek

    • Amaç, Git’in karmaşıklığından kaynaklanan sorunları çözmek.
    • Git’in güçlü branch ve merge yetenekleri, modern yazılım geliştirme metodolojilerine büyük katkı sağladı.
    • Kullanımı kolay, hızlı ve ölçeklenebilir bir sürüm kontrol sistemi oluşturulup oluşturulamayacağını ve Git’in branch özelliklerini koruyarak nelerin iyileştirilebileceğini sorguluyorlar.
  • Diversion’ın özellikleri ve kullanıcı deneyimi

    • Diversion, dağıtık depolama ve veritabanı üzerine kurulu, REST API üzerinden erişilebilen ve sunucusuz bulut altyapısında çalışan bir sistem.
    • Tüm depo işlemleri API çağrılarıyla yapılıyor (commit, branch, merge vb.).
    • Masaüstü istemcisi, üzerinde çalışılan her şeyi gerçek zamanlı olarak bulutla senkronize ediyor (commit öncesinde bile).
    • Kullanıcılar Diversion’ı etkileşimli CLI, web UI ve IDE eklentileriyle kullanabiliyor (şu anda JetBrains mevcut, yakında daha fazlası gelecek).
    • Web UI üzerinden, masaüstü istemcisi kurmadan temel işlemler yapılabiliyor.
  • Git uyumluluğu ve açık kaynak planı

    • Diversion, Git ile uyumlu ve mevcut Git depolarıyla senkronize olabiliyor (yeni Diversion commit’leri Git’e yansıyor ve tersi de geçerli).
    • Kod tabanı olgunlaştığında ve web sitesine açık kaynak depo dizini eklendiğinde açık kaynak olarak yayımlamayı planlıyorlar (Diversion’ın kodu Diversion’da yönetiliyor).
  • Açık beta ve ücretsiz kullanım

    • Diversion açık beta aşamasında; buradan deneyebilirsiniz: Diversion web sitesi (Get Started düğmesine tıklayın).
    • Tamamen self-service ve küçük ekipler için ücretsiz.
  • Geliştirilmekte olan özellikler ve geri bildirim çağrısı

    • Bir sürüm kontrol sistemi inşa etmek zor bir iş ve Diversion’ın hâlâ gidecek yolu var.
    • Şu anda hız iyileştirmeleri, CI entegrasyonu, IDE ve oyun motoru eklentileri geliştirme ile diğer kullanılabilirlik iyileştirmelerine odaklanıyorlar.
    • Şimdiye kadarki ilerleme hakkında görüş ve geri bildirim duymak istiyorlar.

GN⁺ görüşü

  • Diversion’ın, modern ve bulut tabanlı bir sürüm kontrol sistemi olarak Git’in ölçeklenebilirlik sorunlarını ve karmaşıklığını çözmeyi hedeflemesi önemli.
  • Gerçek zamanlı iş birliği, API tabanlı işlem yapısı ve Git uyumluluğu, geliştiriciler için cazip özellikler olabilir.
  • Açık beta ve ücretsiz kullanım sunulması, birçok geliştiricinin bu yeni aracı denemesi için iyi bir fırsat sağlıyor; bu da Diversion’ın hızlı büyümesine ve gelişmesine yardımcı olabilir.

1 yorum

 
GN⁺ 2024-01-23
Hacker News görüşleri
  • Cloud-Native Git Alternative

    • Bulut yerelliği bir uygulama ayrıntısıdır; yeni bir sürüm kontrol sistemi (VCS) hizmet yerine paket yazılım olarak satılmayacaksa önemli değildir.
    • Bulut yerelliğinin Git kullanıcılarının günlük sorunlarını nasıl çözdüğü belirsiz.
  • The biggest drawback of Git is its limited scalability

    • Git’in ölçeklenebilirlik sorunlarını yaşayan kullanıcıların oranı merak ediliyor.
    • Yüzlerce ila on binlerce mühendisin olduğu şirketlerde çalıştım ama kişisel olarak hiç Git ölçeklenebilirlik sorunu yaşamadım.
    • Monorepo kullanımı ölçeklenebilirlik sorunlarına yol açabilir, ancak monorepo’nun kendisi de tartışmalıdır.
  • Diversion is built on top of distributed storage and databases, accessible via REST API, and runs on serverless cloud infrastructure. Every repository operation is an API call (commit, branch, merge etc.).

    • Kullanıcı açısından iç protokollere ilgi az.
    • CLI veya UI kullanırken iç protokol önemli değil.
    • Soyut sözdizimi ağacı (AST) tabanlı bir VCS merak uyandırıyor.
  • most notably in games development, semiconductors and financial services are still using legacy tools like SVN and Perforce

    • Odağı Git’in karmaşıklığından çok, büyük ikili varlıkları işlemede Git’in uygun olmamasına kaydırmak gerekir.
    • Git’in büyük dosyaları iyi işleyemediğine dair Linus Torvalds alıntısı.
  • it was built for a very different world in 2005 (slow networks, much smaller projects, no cloud)

    • Git, yavaş ağların, çok daha küçük projelerin ve bulutun olmadığı 2005’ten çok farklı bir dünya için tasarlandı.
    • Git dağıtık olduğundan, bulut ortamında da iyi çalışması gerekir.
    • Bir veri bilimcinin yanlış Git komutuyla bir aylık çalışmayı yok etmesi bir yapılandırma sorunu gibi görünüyor.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command

    • Git eleştirisinden çok kendi ürünlerine odaklanmaları gerekir.
    • Git dağıtık bir VCS’dir; yedek olmadan onu merkezi gibi kullanmaya çalışmak asıl sorundur.
  • git is bad we're better

    • Bir oyun geliştiricisi olarak sunulan öneri yeterince ilgi çekici değil.
    • Git LFS kullanılan modern iş akışları sorunsuz çalışıyor.
    • Bulut yerelliği özellik olarak sunulmuş, ancak on-prem ve kendi barındırılan özel bulut desteğine dair ayrıntılar eksik.
    • Sanatçılar dosya kilitlemeyi seviyor, ancak P4 streams ve branch kullanımı kilit kullanımını zorlaştırıyor.
  • File locking across branches - coming soon!

    • Dosya kilitleme özelliği yakında geliyor, ancak önerinin geliştirilmesi gerekiyor.
  • Git cli UX made be not great, but the git datastructure of representing commits, branches, trees and blobs as immutable pointers and merkle trees is a phenomenal invention.

    • Git’in veri yapısı olağanüstü bir icat, ancak tüm komutların REST API üzerinden yapılması fikrine katılım yok.
    • Git’in asıl gücü, çevrimdışıyken kısmi clone ile çalışabilmek ve çevrimiçi olunca commit’leri senkronize edebilmektir.
  • In our previous startup, a data scientist accidentally destroyed a month’s work of his team by using the wrong Git command.

    • Git’in kullanılabilirliğinin iyileştirilmesi gerektiği kabul ediliyor, ancak yaşanan sorun daha çok DevOps başarısızlığı gibi görünüyor.
    • Kod yazmayan kişilere source control’ün faydalarını tanıtırken ileri düzey özellikleri koruyan, öğrenmesi daha kolay bir yaklaşım gerekli.
  • The world needs a git alternative.

    • Dünyanın bir Git alternatifine ihtiyacı var.
    • Birden fazla kişinin her gün aynı depoya commit attığı durumlarda Git’in sınırları var.
    • Git rebase işlemini daha iyi yapsaydı, yazılım geliştirme ekiplerinin çalışma hızı %20 artabilirdi.
  • I get that enterprises will buy anything with "Cloud" or "AI" in the name, but VCS doesn't have anything to do with the cloud.

    • Şirketlerin adında "Cloud" veya "AI" geçen her şeyi satın alacağı düşünülüyor.
    • Teknolojiden çok problem çözmeye odaklanmak önemli.
    • Kullanıcı deneyimi iyi değilse teknik ayrıntıların bir anlamı yok.
    • Geliştirme süresini kısaltan, hataları azaltan ve işbirliğini iyileştiren bir deneyim sunan ürün için buna uygun bir satış stratejisi gerekli.