Pengantar YAML untuk Pemula

Jika Anda seorang pengembang yang menulis API, Anda mungkin menemukan YAML meskipun alat serialisasi utama Anda mungkin adalah JSON.

YAML memiliki sintaks yang ramah, dan ini adalah bahasa praktis untuk ditambahkan ke gudang pengembangan Anda.

Mari pelajari dasar-dasar YAML.

serialisasi data

Setiap kali Anda ingin mengirim beberapa struktur data atau objek melalui jaringan komputer, katakanlah Internet, Anda harus mengubahnya menjadi format khusus untuk membacanya dan menyimpannya. Proses ini umumnya dikenal sebagai serialisasi dan sangat penting di web. Contoh penggunaan serialisasi yang umum adalah saat membaca data dari database dan mentransfernya ke seluruh web.

Beberapa formasi serialisasi termasuk JSON, YAML, XML.

Dalam artikel ini, kita berbicara tentang YAML, dan di akhir artikel, Anda akan dapat mempelajari YAMLand dengan pengenalan yang jelas tentang YAML.

Apa itu YAML, dan apa manfaatnya bagi saya?

YAML adalah format serialisasi data yang merupakan singkatan dari YAML bukan bahasa Markup.

Keuntungan utama menggunakan YAML adalah keterbacaan dan keterbacaan. Jika Anda memiliki file konfigurasi yang harus lebih mudah dibaca oleh manusia, lebih baik menggunakan YAML. YAML bukanlah substitusi JSON yang lengkap karena JSON dan XML juga memiliki tempatnya; namun demikian, mempelajari YAML bermanfaat.

Manfaat lain dari YAML adalah dukungannya terhadap berbagai tipe data seperti kasus, larik, kamus, daftar, dan skalar. Ini memiliki dukungan yang baik untuk bahasa paling populer seperti JavaScript, Python, Ruby, Java, dll.

  Cara Menghapus Iklan & Bloatware Dari Tablet Amazon Fire 7 [No Root]

YAML hanya mendukung spasi, dan peka terhadap huruf besar-kecil serta peka terhadap ruang. Tab tidak diterima secara universal. File YAML memiliki ekstensi .yaml.

Sintaks YAML dasar

Setiap YAML dimulai dengan — yang menunjukkan awal dari file YAML.

Saat membuat API, kami tertarik dengan fitur yang disediakan oleh YAML yang dikenal sebagai pemetaan.

Contoh berikut menunjukkan contoh pemetaan di YAML.

---
name: James
boy: yes
GPA: 3.41

Sintaks pemetaan adalah kunci: nilai. (Perhatikan spasi, ini sangat penting dalam YAML, tidak seperti JSON atau XML.

YAML juga mendukung tipe data seperti karakter, string, bilangan bulat, nilai mengambang, dan koleksi seperti array, daftar yang dibuat dari tipe data dasar.

Tipe Data di YAML

Mari kita lihat contoh YAML di bawah ini:

---

MALE: FALSE

GPA: 3.61

ISSUES: NULL

NAME: “BIGYAN”

AGE: 16

Tipe data pertama adalah boolean, yang dapat memiliki dua nilai: benar atau salah. Nilai IPK adalah floating-point. YAML juga mendukung tipe data null seperti yang kita miliki untuk “Masalah”. Nilai “Nama” adalah string yang perlu dikutip di dalam tanda kutip ganda atau tunggal. YAML juga mendukung multiline string dan multiple line string sebagai single untuk keterbacaan.

String multiline dan single-line

---

About: >

 Hello this is Ryan

 From Alabama and I like to

 Play soccer.

Simbol > memungkinkan Anda menulis string baris tunggal ke beberapa baris. Kalimat tersebut sebenarnya adalah deskripsi satu baris meskipun kami memiliki banyak baris.

  Cara Otomatis Menerjemahkan Halaman Web di Microsoft Edge

Kita juga dapat memiliki beberapa baris string jika kita menggunakan | simbol seperti diizinkan:

About: |

 This is a multiline string

 And will be printed line wise.

Daftar

Daftar sangat penting dalam YAML.

Contoh daftar diberikan di bawah ini.

---

- apple

- banana

- mango

Pemetaan dari skalar ke daftar ditampilkan di bawah ini, yang sangat penting untuk sebagian besar file konfigurasi.

---

Fruits:

 Apples

 Banana

 Guava 

Bersarang diperlukan untuk memetakan skalar ke daftar. Kami juga dapat memiliki beberapa daftar bersarang, seperti yang ditunjukkan pada contoh di bawah ini.

Automobiles:

 Car:

     Hyundai

     Volkswagen

     Ford

Di sini mobil bersarang di dalam mobil, dan Hyundai bersarang di dalam mobil. Ini adalah contoh dari beberapa sarang. Kita dapat memiliki banyak sarang sebanyak yang kita inginkan.

Subjects:

     Engineering:

       Mechanical engineering:

         Design and manufacture

         Automobile

         Control and Design

       Civil engineering:

         Structural engineering

         Hydropower

       Arts:

         Medieval

         Modern

         Painting

YAML juga menyediakan simbol & dan * sebagai jangkar dan referensi ke jangkar untuk menghindari duplikasi. Mereka sangat penting dalam file konfigurasi dalam kerangka kerja seperti Ruby on Rails untuk membuat file YAML lebih kecil.

Lihat contoh di bawah ini

<span class="hljs-attr">details:</span> <span class="hljs-meta">&details</span>
    <span class="hljs-attr">name:</span> <span class="hljs-string">"John"
</span>    age: 18
profession: engineer

<< : * details

yang setara dengan:

profession: engineer

name: "John"

age: 18

YAML dengan Python

Python mendukung YAML, termasuk beberapa modul seperti ruamel dan pyyaml. Mulailah dengan menginstal pyyaml

pip instal pyyaml

Untuk tutorialnya, buat file dengan nama details.yaml

name: "john"

age:18

gender: male

Buat file lain bernama feed.yaml dengan konten berikut:

sports:

 football
 basketball
 cricket
 baseball

---
countries:
 Brazil
 Lithuania
 Australia
 USA

Mari kita mulai dengan membaca file details.yaml

import yaml

with open('details.yaml') as f:
    
    data = yaml.load(f, Loader=yaml.FullLoader)
    print(data)

Setelah menjalankan file details.py, kami mendapatkan output berikut

 $ python details.py
{'name': "john", 'age': 18, 'gender': male}
import yaml

with open(r'feed.yaml') as file:
    # The FullLoader parameter handles the conversion from YAML
    # scalar values to Python the dictionary format
    fruits_list = yaml.load(file, Loader=yaml.FullLoader)

    print(fruits_list)

Menulis YAML ke File dengan Python

import yaml

dict_file = [{'sports' : ['hockey', 'rugby', 'tennis', 'ping pong', 'football', 'badminton']},
{'countries' : ['Jamaica', 'England', 'Nepal', 'Netherlands', 'South Africa', 'Bolivia', 'Portugal']}]

with open(r'E:data.yaml', 'w') as file: #create a new yaml file 
    data = yaml.dump(dict_file, file)

implementasi YAML di Node.js

Node.js adalah bahasa pemrosesan sisi server, dan serialisasi data sangat penting dalam proses pengembangan.

  8 Aplikasi Pencerminan TV Api Terbaik

Untuk tutorial kita, mari pertimbangkan file berikut example.yaml:

name:John

age:18

Hobbies:

 Hobby1:Football

 Hobby2:BasketBall

 Hobby3:Hockey

Job:

-System administrator

-Programmer

Kami memiliki pustaka npm yang tersedia untuk panggilan Node.js js-yaml. Mari kita mulai dengan menginstal modulnya

npm install js-yaml

Kami kemudian menggunakan modul js-yaml di file kami.

const yaml = require('js-yaml'); //initialize js-yaml
const fs   = require('fs'); //initialize filestream

try {
  const result = yaml.load(fs.readFileSync('example.yml', 'utf8'));
  console.log(result);
} catch (e) {
  console.log(e); //catch exception
}

Kesimpulan

Dalam kerangka kerja dan aplikasi pemrograman modern tempat data disimpan atau didistribusikan, YAML menjadi semakin umum dalam file konfigurasi. YAML menargetkan banyak aplikasi komunikasi yang sama seperti Extensible Markup Language (XML) tetapi memiliki sintaks minimal yang sengaja berbeda dari XML.

File YAML dapat dibuat untuk struktur data tetap menggunakan perintah cetak yang menulis data dan dekorasi khusus YAML. Namun, emitor YAML khusus lebih disukai untuk membuang berbagai, atau kompleks, data hierarkis. Demikian pula, dengan ekspresi reguler, file YAML dasar (mis. pasangan kunci-nilai) siap diuraikan.