Eğitim İçeriği
Modern .NET Platformuna Giriş
- .NET 8 çalışma zamanı, SDK ve birleşik platform genel bakışı
- .NET Framework, .NET Core ve .NET 8+ evriminin karşılaştırması
- Proje yapısı, hedeflenen çerçeveler ve çoklu hedefleme temelleri
- Geliştirme ortamı ve araçlarının kurulması
Modern C# ve Gelecek Odaklı Dil Uygulamaları
- Kayıtlar (Records), yalnızca başlatılabilen setter'lar ve değişmezlik desenleri
- Desen eşleştirme iyileştirmeleri ve switch ifadeleri
- Nesne başvurulan türler (Nullable reference types) ve derleyici destekli güvenlik
- Async/await en iyi uygulamaları ve bellek verimli akış işleme
- Generic math, arayüzlerdeki statik soyut üyeler ve performans odaklı API'ler
- .NET 8 üzerinde C# 12/13 özellikleri için kod tabanlarının hazırlanması
ASP.NET Core Temelleri ve Uygulama Başlangıcı
- Host builder, ara yazılım boru hattı ve istek yaşam döngüsü
- Minimal API'ler ile denetleyici tabanlı API'ler: karar ölçütleri
- Konfigürasyon sağlayıcıları, ortam özellikli ayarlar ve gizli bilgi yönetimi
- Statik dosyalar, yönlendirme ve uç nokta konvansiyonları
- Bağımlılık enjeksiyonu kapsayıcısının yapılandırılması ve hizmet ömürleri
REST API Tasarımı ve Uygulanması
- REST olgunluk modeli, kaynak modelleme ve URI tasarımı
- HTTP yöntemleri, durum kodları ve içerik müzakeresi
- İstek doğrulaması, model bağlama ve FluentValidation entegrasyonu
- Herkese açık ve dahili API'ler için sürümlendirme stratejileri
- OpenAPI ve Swagger UI ile dokümantasyon
- TestServer ve WebApplicationFactory ile API'lerin entegrasyon testi
Kurumsal Bağımlılık Enjeksiyonu ve Denetim Tersine Çevirme
- Yapıcı enjeksiyonu, hizmet ömürleri ve hapsedilmiş bağımlılıklar
- Dahili kapsayıcı ile dekoratör ve fabrika desenleri
- Scrutor ve üçüncü taraf DI kütüphane entegrasyonu
- Modüler hizmet kaydı ve özellik bazlı organizasyon
- Ara yazılım ve filtreler aracılığıyla ortak kesen endişeler
Günlük Kaydı, Yapılandırma ve Merkezi Hata İşleme
- Microsoft.Extensions.Logging ve Serilog ile yapılandırılmış günlük kaydı
- Günlük düzeyleri, kapsamlar (scopes), zenginleştirme ve sink yapılandırması
- İstisna ara yazılımı ve küresel hata işleme boru hatları
- ProblemDetails ve RFC 7807 uyumlu hata yanıtları
- Sağlık kontrolleri, telemetri ve gözlemlenebilirlik kancaları
- Korelasyon kimlikleri ve dağıtık izleme hazırlığı
Kurumsal .NET Çözümleri İçin Yazılım Mimarisi
- \r
- Katmanlı, altıgen (hexagonal) ve temiz mimari ilkeleri
- .NET'te domain-driven design (alan odaklı tasarım) yapı taşları
- MediatR ile CQRS ve aracı desenleri
- EF Core ile repository ve unit-of-work desenleri
- Özellik tutarlılığı için dikey dilim mimarisi
- Monolitik, modüler monolitik ve mikroservisler arasındaki takasların değerlendirilmesi
Web Uygulamaları ve API'ler İçin Güvenlik
- Kimlik doğrulama şemaları: JWT, OAuth2, OpenID Connect ve çerez tabanlı akışlar
- Yetkilendirme ilkeleri, iddia tabanlı erişim ve kaynak bazlı korumalar
- HTTPS zorunluluğu, HSTS ve güvenli başlık ara yazılımları
- Girdi temizleme, çıktı kodlama ve OWASP Top 10 azaltma
- Hız sınırlama, CORS politikaları ve anti-kırma (anti-forgery) belirteç işleme
- Azure Key Vault ve ortam tabanlı döndürme ile gizli bilgi yönetimi
Kod Kalitesi, Sürdürülebilirlik ve En İyi Uygulamalar
- Kodlama standartları, EditorConfig ve dotnet format
- Roslyn analizörleri ve SonarQube entegrasyonu ile statik analiz
- xUnit ile birim test ve Moq veya NSubstitute ile mock oluşturma
- CI boru hatlarında entegrasyon ve sözleşme testi
- Uzun ömürlü eski modüller için yeniden düzenleme teknikleri
- Dokümantasyon, API sözleşmeleri ve bilgi paylaşımı pratikleri
Modernleştirme Stratejisi: Eski .NET Framework Kodunun Değerlendirilmesi
- Portföy analizi: uygulamaları kritiklik, karmaşıklık ve iş değeri açısından sınıflandırma
- .NET Upgrade Assistant ve uyumluluk analizörünün kullanımı
- Kullanımdan kaldırılmış API'lerin, platforma özgü bağımlılıkların ve üçüncü taraf boşluklarının belirlenmesi
- Windows'a özgü API'ler ve WCF geçiş dikkate alınması
- Risk bazlı önceliklendirme ile bir geçiş yol haritasının oluşturulması
İlerlemeli Geçiş ve Birlikte Çalışma Teknikleri
- Strangler Fig (Doldurucu İncir) deseni: eski alt sistemlerin kademeli olarak değiştirilmesi
- API-öncelikli geçiş: .NET Framework alanlarının REST ara yüzleri aracılığıyla ortaya çıkarılması
- RabbitMQ, Azure Service Bus veya Kafka ile mesaj tabanlı köprüleme
- Kaynak veritabanı birlikte çalışması ve şema sürümlendirme stratejileri
- .NET Framework ve .NET 8'in aynı altyapıda yan yana çalıştırılması
- Mevcut sistemin IIS üzerinde kalırken modern bileşenlerin konteynerleştirilmesi
Uygulamalı Geçiş Laboratuvarı ve İnceleme
- Temsili bir eski projeye Upgrade Assistant'ın uygulanması
- Web Forms veya WCF hizmetinin ASP.NET Core API'lerine yeniden düzenlenmesi
- Dönüştürülen çözüme DI, günlük kaydı ve merkezi hata işlemenin eklenmesi
- Yeni API yüzeyine kimlik doğrulama ve yetkilendirmenin eklenmesi
- Uçtan uca entegrasyon testi aracılığıyla birlikte çalışmanın doğrulanması
- İnceleme, Soru-Cevap ve eğitimin sonrası modernleştirme planlama rehberliği
Kurs İçin Gerekli Önbilgiler
- C# programlama ve nesne yönelimli tasarım ilkeleri konusunda deneyim
- Web geliştirme kavramlarına (HTTP, HTML, CSS, JavaScript temelleri) aşinalık
- İlişkisel veritabanları ve SQL hakkında temel anlayış
- .NET Framework veya ASP.NET ile önceden tanışmak faydalıdır ancak gerekli değildir
Hedef Kitle
- Eski .NET Framework uygulamalarını modernize etmeye hazırlanan .NET geliştiricileri ve mimarları
- Kurumsal .NET geliştirme rollerine geçiş yapan yazılım mühendisleri
- Platform geçişi ve birlikte çalışma planlamasından sorumlu teknik liderler
- .NET uygulama yaşam döngüsünü destekleyen DevOps ve altyapı personeli
Danışanlarımızın Yorumları (2)
Etkileşim ve anlık kod çözümleri
Eduard-Emanuel Zaharia - Kruk Italia
Eğitim - Advanced Blazor
Yapay Zeka Çevirisi
el ile ilgili deneyim yapma ve eğitmenin sabrı
sheena - Te Manawa Taki Trauma System
Eğitim - Visual Studio 2022 IDE
Yapay Zeka Çevirisi