Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
C4 Model: Context, Container, Component, Code ve Notation Kuralları
C4 model, bir yazılım sistemini Context, Container, Component ve Code seviyelerinde, her biri ayrı bir okuyucuya hitap eden yakınlaşan haritalarla anlatır; çoğu ekip için ilk iki seviye yeterlidir ve C4'teki container bir Docker container değil, çalışan bir uygulama ya da veri deposudur. Bu yazıda İK Portalı'nın Context, Container ve Component diyagramlarını notation checklist'ine uygun çizip C4-PlantUML ile koda döküyor ve UML ile nasıl birlikte kullanılacağını gösteriyoruz.
PlantUML ile Diagrams-as-Code: Söz Dizimi, C4-PlantUML, include'lar ve CI'da Render
PlantUML diyagramı bir metin dosyasında tarif edip yerelde ya da CI'da render eder; böylece diyagram kodla aynı PR'da değişir, diff'lenir ve --check-syntax ile doğrulanır. Bu yazıda serinin use case, class, sequence, state ve C4 diyagramlarının PlantUML kaynaklarını, ortak stili !include ile paylaşmayı, GitHub Actions'ta render'ı ve public sunucu ile SVG'ye gömülü kaynağın gizlilik riskini gerçek çıktılarla anlatıyoruz.
Mermaid ve Structurizr DSL: Markdown İçinde Diyagram, Model Tabanlı C4 ve Hangisini Seçmeli?
Mermaid, GitHub ve Azure DevOps Markdown'ında doğrudan render edilen hızlı diyagramlar için, Structurizr DSL ise tek bir modelden tutarlı C4 view'ları türetmek için doğru araçtır. Bu yazıda serinin diyagramlarını Mermaid'e çevirip söz dizimi tuzaklarını gerçek çıktılarla gösteriyor, aynı container diyagramını Structurizr ile çiziyor ve PlantUML, Mermaid ve Structurizr'i karşılaştırıyoruz.