Eğitimin Amacı ve Kapsamı
Farklı ekran ve mobil istemcilerin tek bir sayfada çok sayıda ilişkili veriye ihtiyaç duyduğu senaryolarda REST uçları ya fazla veri döndürür (over-fetching) ya da çoklu istek (under-fetching) gerektirir. GraphQL bu sorunu çözerken N+1 sorgu problemi, önbellekleme ve kötüye kullanım (derin sorgular) gibi yeni mühendislik konuları doğurur.
Bu eğitimde güçlü tipli şema modelleme, resolver mimarisi, mutation ve hata tasarımı, DataLoader ile toplu veri çekme, gerçek zamanlı subscription'lar, sorgu derinliği/maliyet sınırları ve Apollo Federation ile mikroservislerin tek bir supergraph altında birleştirilmesi uygulamalı olarak işlenir. Katılımcılar kurumun dil yığınına (Node.js/Apollo, .NET/HotChocolate veya Java/Spring for GraphQL) uygun bir GraphQL servisi ve şema tasarım rehberi üretir.
Kimler Katılmalı?
- Web ve mobil istemciler için API veya BFF (Backend for Frontend) katmanı geliştiren backend yazılımcıları
- İstemci-sunucu veri sözleşmelerini birlikte tasarlayan full-stack geliştiriciler
- Birden fazla servisi tek bir birleşik API katmanında toplamak isteyen mimarlar
- Ön koşul: HTTP ve herhangi bir backend dilinde REST API geliştirme deneyimi
Kazanımlar
- Evrilebilir, geriye dönük uyumlu bir GraphQL şeması (type, interface, union, input) tasarlamak
- DataLoader kullanarak ilişkili alanlardaki N+1 veri tabanı/servis çağrılarını ortadan kaldırmak
- Alan bazlı yetkilendirme, persisted queries ve sorgu karmaşıklığı/derinlik limitleriyle API'yi korumak
- Relay cursor bağlantısı (connection) standardıyla sayfalama ve standart mutation hata yapıları kurmak
- Apollo Federation ile birden fazla alt grafiği (subgraph) tek bir supergraph'ta birleştirmek
Konular
GraphQL Temelleri ve Şema Tasarımı
- GraphQL vs REST/gRPC: ne zaman GraphQL veya BFF tercih edilmeli?
- SDL, Object/Scalar/Enum tipleri, Interface, Union ve Input nesneleri
- Schema-first ve Code-first yaklaşımları, isimlendirme ve nullability kuralları
Query, Mutation, Subscription ve Hata Modelleme
- Resolver yürütme ağacı, context nesnesi ve veri kaynaklarına bağlanma
- Mutation tasarımı, payload kalıbı ve domain hatalarını şemada modelleme
- Relay Connection spesifikasyonu ile cursor tabanlı sayfalama ve Subscription'lar
Performans: N+1 Problemi, DataLoader ve Önbellekleme
- İç içe (nested) resolver'larda N+1 sorgu probleminin analizi
- DataLoader ile batching ve istek kapsamlı (per-request) önbellekleme
- Automatic Persisted Queries (APQ) ve yanıt/alan bazlı önbellek stratejileri
Güvenlik, Yetkilendirme ve Üretim Kontrolleri
- Kimlik doğrulama ve direktif/middleware ile alan (field) seviyesinde yetkilendirme
- Query depth limiting, query complexity/cost analizi ve rate limiting
- Prod ortamında introspection yönetimi, alan bazlı metrik ve izleme
Şema Yönetişimi ve GraphQL Federation
- Breaking change olmadan şema evrimi (@deprecated) ve şema lint/kontrolleri
- Apollo Federation v2 (@key, @external, Router) ile dağıtık subgraph mimarisi
Bu Kategorideki Diğer Eğitimler
-
Domain-Driven Design ile Yazılım Modelleme
Ubiquitous language, Event Storming, Subdomain ve Bounded Context haritalama, Aggregate/Entity/Value Object/Domain Event taktiksel kalıpları; karmaşık iş kurallarını iş birimleriyle ortak dilde modelleyen yazılım ve mimari ekipler için.
- Canlı Kurs
- 5 modül
-
gRPC ile Servisler Arası İletişim
Protocol Buffers (proto3) şema tasarımı, HTTP/2 tabanlı unary ve streaming RPC modelleri, Buf ile şema yönetişimi, deadline/iptal yayılımı, yük dengeleme ve mTLS güvenliği; düşük gecikmeli servisler arası iletişim kuran ekipler için.
- Canlı Kurs
- 5 modül
-
Veri Yapıları ve Algoritmalar
Big-O zaman ve bellek karmaşıklığı, dizi/hash tablosu/ağaç/graf/heap veri yapıları, arama-sıralama, dinamik programlama ve bellek dostu tasarım; yüksek hacimli veriyi darboğaz yaratmadan işleyen backend mühendisleri için.
- Canlı Kurs
- 5 modül
-
PHP ile Web Geliştirme
Modern PHP 8.x tip sistemi ve nesne yönelimli özellikler, Composer/PSR standartları, Laravel (veya Symfony) ile MVC/REST API geliştirme, Eloquent ORM, kuyruklar, güvenlik ve Pest/PHPUnit testleri; PHP ekiplerini güncel standartlara taşıyan eğitim.
- Canlı Kurs
- 5 modül
-
Java ve Spring Boot
Spring Boot 3 ile REST API, Spring Data JPA ile veri erişimi, Spring Security ile kimlik doğrulama ve Testcontainers ile test; Java backend geliştiricileri için production'a hazır bir servis iskeleti.
- Canlı Kurs
- 6 modül
-
.NET / ASP.NET Core
ASP.NET Core Web API ve Minimal API'ler, Entity Framework Core, dependency injection, middleware ve kimlik doğrulama; .NET 8/9 ile bakımı kolay, test edilebilir backend servisleri geliştirmek isteyen ekipler için.
- Canlı Kurs
- 5 modül
Bizimle iletişime geçin