20 puan yazan GN⁺ 2024-08-19 | 1 yorum | WhatsApp'ta paylaş
  • Seçici dizeleri kullanarak veri yapılarını sorgulayıp düzenlemeyi sağlayan bir araç
    • JSON, YAML, TOML, XML, CSV destekler ve çalışma zamanı bağımlılığı yoktur
    • Farklı veri biçimleriyle çalışmak için yeni araçlar öğrenmeye gerek yoktur
    • Standart seçici sözdizimi kullanır; bir kez öğrenince tüm desteklenen veri biçimlerinde sorgulama/düzenleme yapılabilir
  • homebrew, ASDF, scoop, docker, Nix veya en son sürümden derlenmiş ikili dosya ile kurulabilir
    • Terminal otomatik tamamlama da desteklenir
  • Özellikler
    • Yapılandırılmış veri dosyalarında veri sorgulama/seçme
    • Yapılandırılmış veri dosyalarındaki verileri güncelleme
    • Veri dosyaları oluşturma
    • Birden çok veri biçimi/türü desteği
    • Veri biçimleri/türleri arasında dönüştürme
    • Tüm veri biçimlerinde standart sorgu/seçici sözdizimi kullanımı
    • Çalışma zamanı bağımlılığı yok
    • Linux, Mac, Windows'ta kullanılabilir
    • Kendi projelerinize aktarılıp kullanılabilir
    • Docker üzerinden çalıştırılabilir
    • jq/yq'dan daha hızlı
    • Pre-commit hook
  • Playground
    • dasel komutunu test edebileceğiniz bir playground sunar
    • Playground kaynak kodu github.com/TomWright/daselplayground adresinde görülebilir
  • Benchmark'lar
    • Test sonuçlarına göre dasel, jq'dan 3 kata kadar, yq'dan ise 15 kata kadar daha hızlıdır
    • Benchmark dizininde incelenebilir

GN⁺ özeti

  • Dasel, çeşitli veri biçimlerini destekleyen ve standart seçici sözdizimiyle kolayca sorgulanıp düzenlenebilen bir araçtır
  • Çalışma zamanı bağımlılığı yoktur, birden çok platformda kullanılabilir ve jq/yq'dan daha hızlıdır
  • Çeşitli kurulum yöntemleri ve pre-commit hook sağlayarak geliştirme ortamına kolayca entegre edilebilir
  • Veri biçimleri arasında dönüşüm gereken veya birden fazla veri biçimiyle çalışan projelerde faydalıdır
  • Benzer işlevlere sahip araçlar arasında jq ve yq bulunur

1 yorum

 
GN⁺ 2024-08-19
Hacker News yorumu
  • İlişkisel olmayan veri depolarını SQL tarzı sözdizimiyle sorgulama fikri güzel
    • Tüm veri depolama biçimlerinin SQL ile sorgulanıp sorgulanamayacağını merak ettiriyor
  • jq tarzı sorguları tercih ediyorsanız qq kullanabilirsiniz
  • Çeşitli biçimleri işlemek için Nushell kullanılabilir
  • Bu tür araçlar sanki her çeyrekte bir ilgi görüyor
    • İnsanların kendi özel kullanım senaryolarını destekleyen araçları göstermesini ya da listelemesini bekliyorum
    • Her zaman çok şey öğreniyorum
  • Harika bir proje ama standartlaştırılmış bir sorgu dili gerekli
    • jq sorgu sözdizimini içselleştirmek zor
    • Yaygın olarak benimsenmiş bir standart değilse öğrenmeye yatırım yapmaya isteksizim
    • JMESPath ileriye dönük doğru yol olabilir
    • gron sezgisel ve diğer araçlarla iyi çalışıyor
  • Go'da bu tür araçları çok kullandım
    • Bazen yaml'ı parse etmeden sadece dönüştürmek istiyorsunuz
    • Mevcut yaml belgelerinde veri seçme, değiştirme ve ekleme yeteneği otomasyonda büyük yardımcı oluyor
  • ini dosyaları için benzer bir araç
  • Başka bir araç listesi
  • Yakın zamanda AWS'de JMESPath kullanma deneyimim oldu
    • Hangi yapılandırılmış veri aracının öğrenmesinin daha kolay, dokümantasyonunun daha iyi ve yazım hızının daha yüksek olduğunu merak ediyorum
    • İyi bir karşılaştırma yazısı bilen olup olmadığını soruyor
    • Hâlâ varsayılan olarak jq kullanıyorum
  • yq bunu zaten yapıyor ama README'ye göre yavaş