DEV Community

Mustafa  Çam
Mustafa Çam

Posted on

yaml

YAML (YAML Ain't Markup Language), yapılandırma dosyaları ve veri serileştirme için kullanılan, okunabilirliği yüksek bir veri serileştirme dilidir. YAML dosyaları, insan tarafından okunabilir ve yazılabilir basit bir sözdizimine sahiptir. Bu nedenle, yapılandırma dosyaları, veri değişim formatları ve uygulama yapılandırmaları için yaygın olarak kullanılır.

YAML Dosyalarının Temel Özellikleri

  1. İnsana Okunabilir:

    • YAML, düz metin formatında ve kolayca anlaşılabilir bir yapıdadır. Girintileme ve boşluklara dayalıdır, bu nedenle iç içe geçmiş veri yapıları çok net bir şekilde gösterilebilir.
  2. Veri Yapılarını Destekler:

    • YAML, basit veri türlerinden karmaşık veri yapılarına kadar birçok veri türünü destekler. Liste, dize, tamsayı, sözlük ve iç içe geçmiş yapılar gibi çeşitli veri türlerini kolayca ifade edebilir.
  3. Çoklu Platform Desteği:

    • YAML, birçok programlama dili ve platform tarafından desteklenir ve işlenebilir. Bu nedenle, farklı uygulamalar ve hizmetler arasında yapılandırma ve veri değişimi için idealdir.

YAML Dosya Sözdizimi

Temel Veri Türleri

  • Anahtar-Değer Çiftleri:
  anahtar: değer
Enter fullscreen mode Exit fullscreen mode

Örnek:

  name: John Doe
  age: 30
Enter fullscreen mode Exit fullscreen mode
  • Listeler:
  - öğe1
  - öğe2
  - öğe3
Enter fullscreen mode Exit fullscreen mode

Örnek:

  hobbies:
    - reading
    - traveling
    - swimming
Enter fullscreen mode Exit fullscreen mode
  • İç İçe Geçmiş Yapılar:
  person:
    name: John Doe
    age: 30
    address:
      street: 123 Main St
      city: Anytown
      zipcode: 12345
Enter fullscreen mode Exit fullscreen mode

Karmaşık Veri Yapıları

  • Sözlük İçinde Liste:
  employees:
    - name: John Doe
      position: Developer
    - name: Jane Smith
      position: Designer
Enter fullscreen mode Exit fullscreen mode
  • Liste İçinde Sözlük:
  - name: John Doe
    age: 30
  - name: Jane Smith
    age: 25
Enter fullscreen mode Exit fullscreen mode

Özel Karakterler ve Stringler

  • Dize Kullanımı:
  single_quoted: 'Tek tırnaklı dize'
  double_quoted: "Çift tırnaklı dize"
  plain: Düz dize
Enter fullscreen mode Exit fullscreen mode
  • Çok Satırlı Stringler:
  folded_style: >
    Bu, katlanmış stil kullanılarak yazılmış
    çok satırlı bir metindir.
    Satır sonları boşlukla birleştirilir.

  literal_style: |
    Bu, tam stil kullanılarak yazılmış
    çok satırlı bir metindir.
    Satır sonları korunur.
Enter fullscreen mode Exit fullscreen mode

YAML Kullanım Alanları

  1. Yapılandırma Dosyaları:

    • Birçok yazılım ve hizmet, yapılandırma dosyaları için YAML kullanır. Örneğin, Docker, Kubernetes ve Ansible gibi araçlar yapılandırma ve yönetim işlemleri için YAML dosyalarını kullanır.
  2. Veri Değişim Formatı:

    • YAML, JSON ve XML gibi diğer veri değişim formatlarına alternatif olarak kullanılabilir. Okunabilirliği ve esnekliği sayesinde veri serileştirme ve değişiminde tercih edilir.
  3. CI/CD Boru Hatları:

    • Sürekli entegrasyon ve sürekli teslimat (CI/CD) boru hatları, yapılandırmalarını tanımlamak için YAML dosyalarını kullanır. Örneğin, GitLab CI/CD, Travis CI ve CircleCI gibi araçlar YAML dosyaları ile yapılandırılır.

Örnek YAML Dosyası

version: "3.8"
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html
  database:
    image: postgres:latest
    environment:
      POSTGRES_USER: example
      POSTGRES_PASSWORD: example
Enter fullscreen mode Exit fullscreen mode

Bu örnek, Docker Compose kullanarak bir web ve veritabanı hizmetini tanımlayan basit bir YAML dosyasıdır. version anahtarı, Compose dosyasının sürümünü belirtir ve services anahtarı, başlatılacak hizmetleri tanımlar.

YAML, basitliği, okunabilirliği ve esnekliği sayesinde yapılandırma ve veri serileştirme ihtiyaçları için güçlü bir araçtır.

Top comments (0)