YAML Nedir? Yeni Başlayanlar İçin Bir Rehber

YAML'ın gücünü keşfedin! API geliştirme, yapılandırma dosyaları ve daha fazlasında kullanılan, insan okunaklı bir veri serileştirme dili. Örneklerle pratik uygulamalarını inceleyin.

Efe Demir

Efe Demir

5 June 2025

YAML Nedir? Yeni Başlayanlar İçin Bir Rehber

Yani, muhtemelen teknoloji çevrelerinde "YAML" terimini duymuşsunuzdur, peki tam olarak nedir bu? Size bunu kolayca anlaşılır bir şekilde açıklayayım.

YAML'ye Giriş

"YAML Ain't Markup Language" (evet, bu özyinelemeli bir kısaltma – bayılırız bunlara!) anlamına gelen YAML, insan tarafından okunabilir bir veri serileştirme dilidir. Basitçe söylemek gerekirse, verileri yapılandırılmış, okunması kolay bir formatta temsil etmenin bir yoludur.

Şimdi, "Durun, bu sadece JSON veya XML gibi değil mi?" diye düşünebilirsiniz. Doğru yoldasınız, ancak YAML'nin biraz daha kullanıcı dostu olmasını sağlayan birkaç numarası var. Tüm o süslü parantezler ve virgüllerle biraz karmaşık hale gelebilen JSON'un aksine, YAML yapıyı belirtmek için girintileme ve boşluk kullanır. Ve açılı ayraçların karmaşık bir yığını gibi hissettirebilen XML'in aksine, YAML temiz, yalın ve göze hoştur.

YAML Neden Önemli?

Peki, neden YAML'yi umursamalısınız? Öncelikle, inanılmaz derecede çok yönlüdür. YAML, Kubernetes ve Ansible gibi yazılımların yapılandırma dosyalarından, API'ler ve daha fazlası için veri alışverişi formatlarına kadar her türlü uygulamada kullanılır.

API'lerden bahsetmişken, YAML, API geliştirme dünyasında çok önemli bir rol oynar. Genellikle API isteklerinin ve yanıtlarının yapısını tanımlamak için kullanılır, bu da geliştiricilerin işbirliği yapmasını ve bir uygulamanın farklı bölümlerinde tutarlılık sağlamasını kolaylaştırır.

Ancak YAML'nin faydası bununla sınırlı değil. Ayrıca, kod olarak altyapı (IaC) tanımlamak ve dağıtım süreçlerini otomatikleştirmek için de popüler bir seçimdir. Terraform ve Ansible gibi araçlar, yapılandırma dosyaları için yoğun olarak YAML'ye güvenir ve bu da operasyon ekiplerinin iş akışlarını kolaylaştırmasına ve farklı ortamlarda tutarlılığı korumasına olanak tanır.

YAML ile Uygulamalı Çalışmak

Peki, YAML'nin neden bu kadar önemli olduğunu anladığınıza göre, biraz da sözdizimine dalalım. Merak etmeyin; düşündüğünüzden çok daha basit.

YAML dosyaları tipik olarak .yml veya .yaml uzantısına sahiptir ve girintileme ve boşluk kullanılarak yapılandırılır. İşte basit bir örnek:

# Bu bir yorumdur
person:
  name: Alice
  age: 30
  hobbies:
    - reading
    - hiking
    - coding

Bunun okunmasının ne kadar kolay olduğuna bakın. person anahtarının üç alt anahtarı vardır: name, age ve hobbies. hobbies anahtarı, - sembolü ile belirtilen bir değer listesi içerir.

YAML'nin en havalı özelliklerinden biri, dizeler, sayılar, boole değerleri ve hatta boş değerler dahil olmak üzere çeşitli veri türlerini kutudan çıkar çıkmaz desteklemesidir. Ayrıca, karmaşık veri hiyerarşilerini temsil etmeyi kolaylaştırarak, veri yapılarını istediğiniz kadar derin iç içe yerleştirebilirsiniz.

YAML'nin Çalışırken Gerçek Dünya Örnekleri

Şimdi temelleri öğrendiğinize göre, YAML'nin nasıl kullanıldığına dair bazı gerçek dünya örneklerine göz atalım.

İlk olarak, popüler bir konteyner orkestrasyon platformu olan Kubernetes'i ele alalım. Kubernetes, dağıtımlar, hizmetler ve giriş kuralları gibi şeyleri tanımlayan yapılandırma dosyaları için yoğun olarak YAML'ye güvenir. İşte bir Kubernetes dağıtım manifestosunun basit bir örneği:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: my-app:latest
        ports:
        - containerPort: 8080

Bu YAML dosyası, kullanılacak görüntüyü ve açılacak bağlantı noktasını belirterek, my-app adlı bir kapsülün üç kopyasıyla bir dağıtım tanımlar.

Ardından, YAML'nin API geliştirmede nasıl kullanıldığına bir göz atalım. OpenAPI (eski adıyla Swagger), RESTful API'leri tanımlamak için popüler bir özelliktir ve API'nin yapısını tanımlamak için YAML (veya JSON) kullanır. İşte basitleştirilmiş bir örnek:

openapi: 3.0.0
info:
  title: Sample API
  version: 1.0.0
paths:
  /users:
    get:
      summary: List all users
      responses:
        '200':
          description: Successful response

Bu YAML parçacığı, tek bir uç nokta (/users) ve bir kullanıcı listesi döndüren bir GET işlemiyle temel bir OpenAPI belirtimi tanımlar.

YAML'de API'ler

YAML dosya formatı, çeşitli nedenlerden dolayı API'ler bağlamında özellikle önemlidir:

İnsan Tarafından Okunabilirlik: YAML'nin tasarımı, insan tarafından okunabilirliğe öncelik verir ve bu da onu API yapılarını tanımlayan yapılandırma dosyaları yazmak için mükemmel bir seçim haline getirir. Bu okunabilirlik, geliştiricilerin API özelliklerini kolayca anlayabilmesini ve düzenleyebilmesini sağlar.

Hiyerarşi ve İlişkiler: YAML, API uç noktalarının ve ilgili işlemlerinin, parametrelerinin ve yanıtlarının iç içe geçmiş yapısıyla iyi uyum sağlayan hiyerarşik verileri doğal olarak temsil eder.

Diller Arası Destek: YAML belirli dillerle (Ruby gibi) yakından ilişkili olsa da, dil bağımsızdır ve bir YAML kütüphanesine sahip herhangi bir programlama diliyle kullanılabilir, bu da onu API tanımları için çok yönlü hale getirir.

JSON ile Uyumluluk: YAML, JSON'un bir üst kümesidir, bu da herhangi bir JSON dosyasının aynı zamanda geçerli bir YAML dosyası olduğu anlamına gelir. Bu uyumluluk, iki format arasında sorunsuz geçişlere olanak tanır, bu da JSON'un API yükleri için yaygın bir format olması nedeniyle kullanışlıdır.

OpenAPI Özelliği: YAML, RESTful API'leri tanımlamak için yaygın olarak benimsenen bir standart olan OpenAPI Özelliği (OAS) ile birlikte sıklıkla kullanılır. YAML ile yazılmış OAS belgeleri, uç noktalar, parametreler ve kimlik doğrulama yöntemleri dahil olmak üzere tüm API'yi tanımlamanın açık ve öz bir yolunu sağlar.

Araç Desteği: Birçok API geliştirme aracı, YAML dosyalarını içe aktarmayı ve dışa aktarmayı destekler. Bu destek, tasarım ve dokümantasyondan test ve dağıtıma kadar API yaşam döngüsünün çeşitli aşamalarını kolaylaştırır.

Esasen, YAML formatı, API'lerin izlediği kuralları ve yapıları tanımlayan API'ler için bir taslak görevi görür. API geliştirme sürecinde kritik bir rol oynar ve geliştiricilerin açık, bakımı yapılabilir ve ölçeklenebilir API tanımları oluşturmasını sağlar.

Apidog YAML'yi Destekler

Apidog, API tasarımı ve hata ayıklamayı destekleyen bir araçtır. Geliştiricilerin hızlı bir şekilde API'ler oluşturmasına, API ile ilgili bilgileri tanımlamasına ve istek ve yanıt parametrelerini işlemesine olanak tanır.

button

Yapılandırma ve veri temsili için YAML kullanmak, API geliştirme ve test için sağlam bir ortam yaratır. YAML, geliştirme ve test ortamınızı yapılandırmanıza, test verilerini tanımlamanıza ve çeşitli ayarları yönetmenize yardımcı olur.

Apidog workflow

API'lerle çalışıyorsanız, Apidog, istek göndermek için görsel bir arayüz sağladığı ve API hata ayıklaması için sahte verilerin kullanımını desteklediği için oldukça faydalı olabilir.

YAML kullanarak API'leri Apidog'a İçe Aktarın

  1. Apidog'u Açın ve API'leri içe aktarmak istediğiniz projeye gidin.
Apidog workspace interface

2. Ayarlar'a gidin ve "Veri İçe Aktar"'a tıklayın.

Import data from settings

3. Sisteminizde YAML dosyası varsa "Dosya İçe Aktar"'ı seçin. Dosyayı belirlenen alana sürükleyip bırakabilir veya dosya yöneticisini açmak ve dosyanızı seçmek için alana tıklayabilirsiniz.

Import YAML file

4. Dosya çevrimiçi olarak barındırılıyorsa, "URL İçe Aktar"'ı seçin ve YAML veri dosyasının URL'sini sağlayın.

Import Yaml from URL

Apidog daha sonra size Gelişmiş Ayarlar sunacak ve burada API Kapsama Modunu yapılandırabilir ve belirli bir gruba içe aktarmaya veya API test senaryolarını dahil etmeye karar verebilirsiniz.

Import preview

Sonuç

Gördüğünüz gibi, YAML, yazılım geliştirme ve operasyonların çeşitli alanlarında çok önemli bir rol oynayan çok yönlü ve kullanıcı dostu bir veri serileştirme dilidir. Kubernetes gibi karmaşık sistemleri yapılandırmaktan, API'leri tanımlamaya ve dağıtım süreçlerini otomatikleştirmeye kadar, YAML'nin basitliği ve okunabilirliği onu birçok geliştirici ve operasyon ekibi için tercih edilen bir seçim haline getiriyor.

Bu nedenle, ister teknoloji dünyasına yeni başlıyor olun, ister deneyimli bir profesyonel olun, YAML öğrenmek değerli bir yatırımdır. Kalıcı olacak bir dil ve daha fazla araç ve çerçeve onu benimsedikçe, önemi artmaya devam edecektir.

button

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin