20 poin oleh GN⁺ 2024-08-19 | 1 komentar | Bagikan ke WhatsApp
  • Alat yang memungkinkan kueri dan modifikasi struktur data menggunakan string selector
    • Mendukung JSON, YAML, TOML, XML, dan CSV tanpa dependensi runtime
    • Tidak perlu mempelajari alat baru untuk menangani berbagai format data
    • Menggunakan sintaks selector standar, sehingga setelah dipelajari sekali dapat digunakan untuk kueri/modifikasi semua format data yang didukung
  • Dapat diinstal melalui homebrew, ASDF, scoop, docker, Nix, atau biner hasil kompilasi dari rilis terbaru
    • Juga mendukung autocompletion terminal
  • Features
    • Kueri/memilih data dari file data terstruktur
    • Memperbarui data dalam file data terstruktur
    • Membuat file data
    • Mendukung berbagai format/tipe data
    • Konversi antar format/tipe data
    • Menggunakan sintaks kueri/selector standar di semua format data
    • Tanpa dependensi runtime
    • Tersedia di Linux, Mac, dan Windows
    • Dapat diimpor dan digunakan di proyek sendiri
    • Dapat dijalankan melalui Docker
    • Lebih cepat daripada jq/yq
    • Hook pre-commit
  • Playground
    • Menyediakan playground untuk menguji perintah dasel
    • Kode sumber playground dapat dilihat di github.com/TomWright/daselplayground
  • Benchmarks
    • Hasil pengujian menunjukkan dasel hingga 3x lebih cepat daripada jq dan hingga 15x lebih cepat daripada yq
    • Dapat dilihat di direktori benchmark

Ringkasan GN⁺

  • Dasel adalah alat yang mendukung berbagai format data dan memungkinkan kueri serta modifikasi dengan mudah menggunakan sintaks selector standar
  • Tidak memiliki dependensi runtime, dapat digunakan di berbagai platform, dan lebih cepat daripada jq/yq
  • Menyediakan berbagai metode instalasi dan hook pre-commit sehingga mudah diintegrasikan ke lingkungan pengembangan
  • Berguna untuk proyek yang memerlukan konversi antar format data atau menangani banyak format data
  • Alat dengan fungsi serupa antara lain jq dan yq

1 komentar

 
GN⁺ 2024-08-19
Komentar Hacker News
  • Ide menggunakan sintaks bergaya SQL untuk mengueri penyimpanan data non-relasional itu bagus
    • Jadi penasaran apakah semua format penyimpanan data bisa dikueri dengan SQL
  • Jika lebih suka kueri bergaya jq, bisa menggunakan qq
  • Berbagai format bisa ditangani dengan menggunakan Nushell
  • Rasanya alat-alat seperti ini mendapat sorotan setiap kuartal
    • Menunggu orang-orang menunjukkan atau mencantumkan alat yang mendukung kasus penggunaan spesifik mereka
    • Selalu belajar banyak hal
  • Proyek yang keren, tetapi dibutuhkan bahasa kueri yang terstandarisasi
    • Sulit menginternalisasi sintaks kueri jq
    • Enggan berinvestasi untuk belajar jika itu bukan standar yang diadopsi luas
    • JMESPath mungkin bisa menjadi jalan ke depan
    • gron intuitif dan cocok dipadukan dengan alat lain
  • Pernah banyak memakai alat seperti ini di Go
    • Kadang ingin hanya memodifikasi yaml tanpa mem-parsing-nya
    • Fitur untuk memilih, mengganti, dan menambahkan data ke dokumen yaml yang sudah ada sangat membantu untuk otomasi
  • Alat serupa untuk file ini
  • Daftar alat lainnya
  • Baru-baru ini punya pengalaman menggunakan JMESPath di AWS
    • Penasaran alat data terstruktur mana yang lebih mudah dipelajari, didokumentasikan dengan baik, dan cepat ditulis
    • Bertanya apakah ada yang tahu artikel perbandingan yang bagus
    • Masih menggunakan jq sebagai andalan
  • yq sebenarnya sudah melakukan itu, tetapi menurut README lambat