Ruby Academy · Pelajaran

Memilih Format

Pertukaran.

Pelajaran 4 dari 413 langkah

Memilih Format adalah pelajaran Ruby Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ruby Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ruby Academy mencakup 4 pelajaran total.

Tiga Format, Tiga Kegunaan

Sekarang Anda mengetahui JSON, CSV, dan YAML. Masing-masing unggul dalam situasi yang berbeda. Memilih format yang tepat membuat data Anda mudah dibuat, disimpan, dan digunakan.

  • JSON untuk API dan web
  • CSV untuk data berbentuk tabel atau lembar kerja
  • YAML untuk konfigurasi
puts ['JSON', 'CSV', 'YAML'].join(', ')

Keunggulan JSON

JSON ringkas, didukung secara universal, dan dipetakan ke Hash serta Array yang tersarang. JSON merupakan standar yang berlaku untuk API web dan pertukaran data antarlayanan.

require 'json'
puts({ id: 1, items: [1, 2] }.to_json)

Kelemahan JSON

JSON tidak memiliki komentar dan terlalu panjang untuk disunting secara manual oleh manusia. Koma di akhir dan tanda kutip tunggal tidak valid, sehingga sering menimbulkan masalah dalam file konfigurasi.

require 'json'
begin
  JSON.parse('{"a":1,}')
rescue JSON::ParserError
  puts 'trailing comma not allowed'
end

Keunggulan CSV

CSV sangat cocok untuk data tabel datar: baris dan kolom. Lembar kerja, ekspor, dan impor massal semuanya menggunakan CSV, dan format ini sangat ringkas untuk tabel besar.

require 'csv'
puts(CSV.generate { |c| c << ['a', 'b']; c << [1, 2] })

Kelemahan CSV

CSV tidak dapat merepresentasikan data tersarang atau hierarkis. CSV tidak memiliki sistem tipe standar, sehingga semuanya berupa string sampai Anda mengonversinya, dan variasi formatnya (pemisah, pemberian tanda kutip) berbeda-beda.

require 'csv'
row = CSV.parse_line('5,true')
puts(row[0].class)
puts(row[1].class)

Keunggulan YAML

YAML paling mudah dibaca manusia, mendukung komentar, dan menangani penyarangan dengan rapi. Karena itu, YAML ideal untuk file konfigurasi yang disunting pengembang secara manual.

require 'yaml'
text = "# app config\nport: 8081"
puts(YAML.load(text)['port'])

Kelemahan YAML

Aturan indentasi YAML rentan terhadap kesalahan (satu spasi yang terselip dapat merusaknya), dan pemuatan yang tidak aman dapat menjadi risiko keamanan. YAML juga lebih lambat diuraikan daripada JSON.

require 'yaml'
cfg = YAML.safe_load("port: 8081")
puts(cfg['port'])

Perbandingan Penyarangan

JSON dan YAML sama-sama merepresentasikan struktur tersarang secara alami; CSV tidak dapat melakukannya.

require 'json'
require 'yaml'
data = { 'user' => { 'name' => 'Ada', 'roles' => ['admin'] } }
puts(data.to_json)
puts(data.to_yaml)

Keterbacaan dibandingkan Kekompakan

Ada kompromi: YAML paling mudah dibaca, JSON seimbang, dan CSV paling ringkas untuk tabel. Pilih berdasarkan apakah manusia atau mesin yang menjadi pengguna utama.

require 'json'
require 'yaml'
h = { 'a' => 1, 'b' => 2 }
puts("JSON len: #{h.to_json.length}")
puts("YAML len: #{h.to_yaml.length}")

Panduan Pemilihan

Aturan singkat:

  • Berkomunikasi dengan API web? JSON
  • Mengekspor baris untuk lembar kerja? CSV
  • Pengaturan aplikasi yang disunting manusia? YAML

Jika ragu, JSON adalah pilihan bawaan yang paling aman untuk pertukaran data.

choice = { api: 'JSON', table: 'CSV', config: 'YAML' }
puts(choice[:config])

Mengonversi Antarformat

Karena ketiganya diuraikan menjadi struktur Hash/Array Ruby yang sama, konversi menjadi mudah: uraikan satu format, lalu buang ke format lain.

require 'json'
require 'yaml'
data = JSON.parse('{"port":8081,"name":"app"}')
puts(data.to_yaml)

Pemeriksaan Singkat

Format apa yang paling tepat sebagai pilihan bawaan untuk file konfigurasi yang disunting pengembang secara manual dan memerlukan komentar?

Ringkasan: Memilih Format

Sekarang Anda dapat memilih alat yang tepat:

  • JSON: API, pertukaran data, seimbang
  • CSV: tabel datar, lembar kerja, ringkas
  • YAML: konfigurasi, mudah dibaca, komentar, penyarangan
  • Semuanya diuraikan ke struktur Ruby yang sama, sehingga konversi menjadi mudah
require 'yaml'
require 'json'
puts(YAML.load('a: 1').to_json)
Gratis untuk memulai

Belajar Ruby dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
29
Pelajaran
109

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Memilih Format” gratis?

Ya — teks lengkap “Memilih Format” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ruby Academy, upgrade ke CoddyKit PRO. Kursus Ruby Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Memilih Format”?

Pertukaran. Kamu berlatih Ruby Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Ruby Academy?

Tidak diperlukan pengalaman sebelumnya. Ruby Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Memilih Format” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Ruby Academy ini?

Ya. Setiap pelajaran Ruby Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membaca dan Menulis JSON
  2. Bekerja dengan CSV
  3. Konfigurasi YAML
  4. Memilih Format
← Kembali ke Ruby Academy