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
-
İ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.
-
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.
-
Ç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
Örnek:
name: John Doe
age: 30
- Listeler:
- öğe1
- öğe2
- öğe3
Örnek:
hobbies:
- reading
- traveling
- swimming
- İç İçe Geçmiş Yapılar:
person:
name: John Doe
age: 30
address:
street: 123 Main St
city: Anytown
zipcode: 12345
Karmaşık Veri Yapıları
- Sözlük İçinde Liste:
employees:
- name: John Doe
position: Developer
- name: Jane Smith
position: Designer
- Liste İçinde Sözlük:
- name: John Doe
age: 30
- name: Jane Smith
age: 25
Özel Karakterler ve Stringler
- Dize Kullanımı:
single_quoted: 'Tek tırnaklı dize'
double_quoted: "Çift tırnaklı dize"
plain: Düz dize
- Ç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.
YAML Kullanım Alanları
-
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.
-
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.
-
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
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)