NET Core

NET Core

.NET Core, Microsoft tarafından geliştirilen ve açık kaynak kodlu, çapraz platform desteği sunan bir uygulama geliştirme çerçevesidir. Geleneksel .NET Framework’ün modern bir alternatifi olarak geliştirilen .NET Core, yüksek performanslı web uygulamaları, mikro servisler ve bulut tabanlı çözümler oluşturmak için idealdir.

Bu kategoride, .NET Core’un temel yapı taşlarından başlayarak ileri seviye konulara kadar geniş bir içerik yelpazesi sunulacaktır. Başlıca konular şunlardır:

1. .NET Core Temelleri
1.1. .NET Core Nedir? ve Temel Özellikleri
1.2. .NET Core vs .NET Framework Farkları
1.3. .NET SDK ve CLI (Command Line Interface) Kullanımı
1.4. Proje Yapıları (.csproj, Solution, Dependency Management)
1.5. Middleware ve Request Pipeline
1.6. Dependency Injection (Bağımlılık Enjeksiyonu) ve IoC Container Kullanımı
1.7. Logging ve Konfigürasyon Yönetimi (appsettings.json, Environment Variables)

2. ASP.NET Core Web API Geliştirme
2.1. Web API Nedir? ve RESTful Prensipleri
2.2. Controller ve Action Yapısı
2.3. Model Binding ve Validation
2.4. JSON Serileştirme ve Deserileştirme
2.5. Route, Query ve Body ile Veri Alma
2.6. HTTP Request & Response (GET, POST, PUT, DELETE)
2.7. Status Code Yönetimi ve Exception Handling
2.8. Swagger ile API Dokümantasyonu
2.9. Content Negotiation (XML, JSON, Protobuf Desteği)
2.10. Response Caching ve Output Caching Kullanımı

3. MVC ile Web Uygulamaları Geliştirme
3.1. MVC (Model-View-Controller) Mimarisine Giriş
3.2. Razor Pages ve View Engine Kullanımı
3.3. ViewModel ve Data Transfer Objects (DTO)
3.4. Form İşlemleri ve Model Binding
3.5. Session, Cookie ve TempData Kullanımı
3.6. Layout ve Partial View Kullanımı
3.7. CSRF, XSS ve Clickjacking Koruma Teknikleri

4. Veri Tabanı İşlemleri
4.1. Entity Framework Core ile ORM Kullanımı
4.2. Code First ve Database First Yaklaşımları
4.3. Migration (Veri Tabanı Güncellemeleri)
4.4. LINQ ve Repository Pattern Kullanımı
4.5. Dapper Mikro ORM ile Performanslı Sorgular
4.6. Unit of Work Pattern ile Veri Yönetimi
4.7. Transaction Yönetimi ve Isolation Levels
4.8. NoSQL Kullanımı (MongoDB, Redis)
4.9. Stored Procedure, View ve Index Kullanımı

5. Yazılım Mimarileri ve Tasarım Desenleri (Design Patterns)
5.1. Yazılım Mimarisi Nedir? Temel Kavramlar
5.2. Monolitik vs Mikroservis Mimarisi
5.3. Clean Architecture ve Onion Architecture
5.4. N-Tier (Katmanlı) Mimari Kullanımı
5.5. CQRS Pattern ile Komut ve Sorgu Ayrımı
5.6. Singleton, Factory, Builder, Prototype, Adapter, Strategy, Observer, Mediator Design Patterns
5.7. Dependency Injection ve IoC Container Kullanımı
5.8. SOLID Prensipleri ve Domain-Driven Design (DDD)

6. Kimlik Doğrulama ve Yetkilendirme (Authentication & Authorization)
6.1. Identity Framework ile Kullanıcı Yönetimi
6.2. JWT (JSON Web Token) ile Kimlik Doğrulama
6.3. OAuth ve OpenID Connect Entegrasyonu
6.4. Policy-Based Authorization Kullanımı
6.5. API Key Authentication ve Role-Based Access Control (RBAC)
6.6. Google, Facebook, Microsoft Authentication (Social Login)
6.7. Two-Factor Authentication (2FA) Kullanımı

7. Mikroservis Mimarisi ve Gelişmiş Konular
7.1. Mikroservis Mimarisi Nedir? Monolitik vs Mikroservis
7.2. API Gateway (Ocelot, YARP) Kullanımı
7.3. Service Discovery (Consul, Eureka) Kullanımı
7.4. Docker ile .NET Core Uygulamalarını Konteynerleştirme
7.5. Kubernetes ile Dağıtık Uygulama Yönetimi
7.6. RabbitMQ, Kafka ile Mesaj Kuyruğu Kullanımı
7.7. Event-Driven Architecture ile Çalışma
7.8. Circuit Breaker ve Retry Pattern Kullanımı (Polly Kütüphanesi)

8. Performans Optimizasyonu ve Gelişmiş Teknikler
8.1. Caching (Redis, MemoryCache, Response Caching)
8.2. Asenkron Programlama ile Performans Artırma
8.3. API Rate Limiting ve Throttling Teknikleri
8.4. Lazy Loading, Eager Loading Teknikleri
8.5. Query Optimization ve Index Kullanımı
8.6. Uygulama İzleme (Application Insights, Serilog, OpenTelemetry)
8.7. HTTP Client Factory ve Connection Pooling Kullanımı
8.8. Health Check Middleware ile Uygulama İzleme

9. CI/CD ve DevOps Entegrasyonu
9.1. Git ve GitFlow Kullanımı
9.2. CI/CD Nedir? ve Pipeline Yapıları
9.3. GitHub Actions, GitLab CI, Azure DevOps ile CI/CD
9.4. Docker Compose ile Geliştirme Ortamı Hazırlama
9.5. Azure, AWS, Google Cloud Üzerinde Dağıtım (Deployment)
9.6. Kubernetes ile Auto-Scaling ve Deployment Stratejileri

10. Test ve Debugging Teknikleri
10.1. Unit Test, Integration Test, End-to-End (E2E) Test
10.2. xUnit, NUnit, Moq ile Test Yazma
10.3. Postman ve Newman ile API Test Otomasyonu
10.4. Exception Logging ve Log Yönetimi (Serilog, NLog, Seq)
10.5. Performance Profiling ve Uygulama Takibi
10.6. Debugging Teknikleri ve Production Monitoring

.NET Core Proje Yapıları

.NET Core projeleri belirli bir dizin yapısı, yapılandırma dosyaları ve bağımlılık yönetimi prensiplerine göre organize edilir. Bu bölümde,…

Middleware ve Request Pipeline

ASP.NET Core, gelen HTTP isteklerini işlemek ve yanıt üretmek için Middleware (Ara Katman Yazılımları) kullanan Request Pipeline (İstek İşleme…