Aşağıdaki görevi yerine getiren bir Python fonksiyonu yaz:
Görev: [FONKSİYON_AÇIKLAMASI]
Gereksinimler:
- Type hints kullan
- Docstring ekle
- Edge case'leri handle et
- En az 3 unit test yaz (pytest)
- Karmaşıklığı belirt
- Alternatif çözüm öner
Aşağıdaki görevi yerine getiren bir Python fonksiyonu yaz:
Görev: [FONKSİYON_AÇIKLAMASI]
Gereksinimler:
- Type hints kullan
- Docstring ekle
- Edge case'leri handle et
- En az 3 unit test yaz (pytest)
- Karmaşıklığı belirt
- Alternatif çözüm öner
Örnek görev: Bir listedeki tekrarları koruyarak sıralı biçimde temizleyen fonksiyon. Çıktı: Type hint ve docstring içeren temiz bir Python fonksiyonu; boş liste, tek eleman ve tekrar eden değerler için pytest testleri. Karmaşıklık: O(n) zaman, O(n) ek alan. Alternatif: Sıra gerekmiyorsa set tabanlı çözüm.
Aşağıdaki kodu incele ve iyileştir:
```
[KOD]
```
Kontrol et:
1. Güvenlik açıkları
2. Performans sorunları
3. Clean code prensipleri
4. SOLID ihlalleri
5. Potansiyel bug'lar
6. Test edilebilirlik
Her sorun için önem derecesi ve düzeltilmiş kod yaz.
Aşağıdaki kodu incele ve iyileştir:
```
[KOD]
```
Kontrol et:
1. Güvenlik açıkları
2. Performans sorunları
3. Clean code prensipleri
4. SOLID ihlalleri
5. Potansiyel bug'lar
6. Test edilebilirlik
Her sorun için önem derecesi ve düzeltilmiş kod yaz.
Bulgular: SQL sorgusunda indeks kullanılmayan tarih filtresi yüksek maliyet oluşturuyor; servis katmanında hata yönetimi eksik; sorumluluklar tek fonksiyonda toplanmış. Öncelik: Yüksek. Öneri: Bileşik indeks ekleyin, sorguyu parametreli çalıştırın ve iş kurallarını ayrı bir servise taşıyın. Test: Sınır durumları ve yetkisiz erişim senaryoları eklenmeli.
Aşağıdaki kod değişikliği için uygun git commit mesajı yaz:
Değişiklikler:
[DEĞİŞİKLİKLER]
Conventional Commits formatı kullan:
- tip(kapsam): açıklama
- Body: ne ve neden değiştiğini açıkla
- Footer: breaking changes varsa belirt
3 alternatif öner.
Aşağıdaki kod değişikliği için uygun git commit mesajı yaz:
Değişiklikler:
[DEĞİŞİKLİKLER]
Conventional Commits formatı kullan:
- tip(kapsam): açıklama
- Body: ne ve neden değiştiğini açıkla
- Footer: breaking changes varsa belirt
3 alternatif öner.
feat(auth): add password reset flow. Body: Kullanıcıların güvenli bir token ile parola yenilemesini sağlayan akış eklendi; token süresi ve tek kullanımlık doğrulama uygulandı. Alternatifler: fix(auth): handle expired reset tokens; feat(account): implement secure password recovery. Breaking change: Yok.
Aşağıdaki hata mesajını analiz et ve çözüm öner:
Dil/Framework: [TEKNOLOJİ]
Hata mesajı:
```
[HATA]
```
Kod bağlamı:
```
[KOD]
```
Çözüm:
- Hatanın kök nedeni
- Adım adım çözüm
- Benzer hataları önleme
- İlgili dokümantasyon linki
Aşağıdaki hata mesajını analiz et ve çözüm öner:
Dil/Framework: [TEKNOLOJİ]
Hata mesajı:
```
[HATA]
```
Kod bağlamı:
```
[KOD]
```
Çözüm:
- Hatanın kök nedeni
- Adım adım çözüm
- Benzer hataları önleme
- İlgili dokümantasyon linki
Kök neden: Üretim ortamında eksik çevre değişkeni nedeniyle bağlantı havuzu başlatılamıyor. Çözüm: Zorunlu ayarları başlangıçta doğrulayın, güvenli varsayılan kullanın ve anlaşılır hata günlüğü üretin. Önleme: CI ortamında yapılandırma testi, secret rotasyonu ve bağlantı kesintisi için yeniden deneme politikası ekleyin. Dokümantasyon: Framework bağlantı yapılandırma rehberi.
Projenin gereksinimlerine göre microservice mimarisi tasarlayan, domain-driven design prensiplerine uygun bir prompt.
Sen deneyimli bir yazılım mimarısın. Şu proje için microservice mimarisi tasarla: [PROJE_AÇIKLAMASI]. Domain-Driven Design prensiplerine uygun bounded context'leri belirle. Her servis için: sorumluluklar, API endpoint'leri, veritabanı şeması, event'ler ve servisler arası iletişim yöntemlerini tanımla.
Sen deneyimli bir yazılım mimarısın. Şu proje için microservice mimarisi tasarla: [PROJE_AÇIKLAMASI]. Domain-Driven Design prensiplerine uygun bounded context'leri belirle. Her servis için: sorumluluklar, API endpoint'leri, veritabanı şeması, event'ler ve servisler arası iletişim yöntemlerini tanımla.
Mimari özet: Sipariş, katalog ve bildirim bounded contextleri ayrıldı. Sipariş servisi kendi veritabanına sahip; olaylar için güvenilir mesaj kuyruğu kullanılıyor. API gateway kimlik doğrulama ve rate limit uyguluyor. Her servis için sorumluluk, endpoint, tablo, domain event ve gözlemlenebilirlik notları tanımlandı. Dağıtım stratejisi: önce staging, sonra kademeli production.
Proje tipine göre optimize, güvenli ve multi-stage Dockerfile oluşturan prompt.
[TEKNOLOJİ] projesi için production-ready, multi-stage Dockerfile oluştur. Security best practice'leri uygula (non-root user, minimal base image). Health check, .dockerignore önerisi ve docker-compose.yml de ekle.
[TEKNOLOJİ] projesi için production-ready, multi-stage Dockerfile oluştur. Security best practice'leri uygula (non-root user, minimal base image). Health check, .dockerignore önerisi ve docker-compose.yml de ekle.
Çıktı: Multi-stage Node.js Dockerfile; builder aşamasında bağımlılık kurulumu, runtime aşamasında dist klasörü ve production bağımlılıkları. Non-root app kullanıcısı, read-only çalışma dizini ve /health healthcheck tanımlı. .dockerignore node_modules ve test çıktısını dışarıda bırakır. Compose dosyası uygulama ve PostgreSQL servislerini health dependency ile başlatır.
OWASP standardına uygun penetrasyon testi rapor şablonu oluşturan prompt.
Bir siber güvenlik uzmanı olarak [SİSTEM_TÜRÜ] için OWASP metodolojisine uygun penetrasyon testi raporu hazırla. Executive summary, vulnerability assessment (CVSS v3.1 puanlama), risk matrisi, technical findings ve remediation planı bölümlerini detaylandır.
Bir siber güvenlik uzmanı olarak [SİSTEM_TÜRÜ] için OWASP metodolojisine uygun penetrasyon testi raporu hazırla. Executive summary, vulnerability assessment (CVSS v3.1 puanlama), risk matrisi, technical findings ve remediation planı bölümlerini detaylandır.
Executive summary: İncelenen web uygulamasında iki yüksek, üç orta ve dört düşük riskli bulgu tespit edildi. CVSS v3.1 ile puanlama yapıldı; en yüksek bulgu yetkilendirme kontrolünün eksikliği. Risk matrisi etki ve olasılığı gösterir. Remediation planı: acil erişim kontrolü, 30 gün içinde güvenli başlıklar, 60 gün içinde sürekli tarama. Kanıtlar hassas veri içermeden eklenir.
Büyük ölçekli veritabanlarında execution plan, karmaşık JOIN ve indeksleme optimizasyonu yapmak.
Sen bir kıdemli veritabanı performans mimarısın. Aşağıdaki karmaşık SQL sorgusunu ve çalışma planını (Execution Plan) optimize et:
Veritabanı Türü: [VERITABANI_TURU]
SQL Sorgusu:
```sql
[SORGU]
```
Tablo İstatistikleri ve İndeksler: [TABLO_BILGISI]
Lütfen şu başlıklarla analiz sun:
1. Execution Plan Analizi ve Maliyet Darboğazları
2. Bileşik İndeks (Composite Index) ve Kapsayan İndeks (Covering Index) Önerileri
3. Query Rewrite: Alt sorguları (Subquery) JOIN veya CTE'ye dönüştürme
4. Benchmark Test Planı (p95 / p99 gecikme süreleri karşılaştırması).
Sen bir kıdemli veritabanı performans mimarısın. Aşağıdaki karmaşık SQL sorgusunu ve çalışma planını (Execution Plan) optimize et:
Veritabanı Türü: [VERITABANI_TURU]
SQL Sorgusu:
```sql
[SORGU]
```
Tablo İstatistikleri ve İndeksler: [TABLO_BILGISI]
Lütfen şu başlıklarla analiz sun:
1. Execution Plan Analizi ve Maliyet Darboğazları
2. Bileşik İndeks (Composite Index) ve Kapsayan İndeks (Covering Index) Önerileri
3. Query Rewrite: Alt sorguları (Subquery) JOIN veya CTE'ye dönüştürme
4. Benchmark Test Planı (p95 / p99 gecikme süreleri karşılaştırması).
1. Execution Plan Analizi: Sorgu orders tablosunda Full Table Scan yapıyor.
2. İndeks Önerisi: CREATE INDEX idx_orders_status_date ON orders(status, created_at INCLUDE(total_amount));
3. Query Rewrite: Gereksiz SELECT * yerine yalnızca ihtiyaç duyulan alanlar seçildi.
[PROJE_ADI] projesi için RESTful API tasarla.
Kaynaklar: [KAYNAKLAR]
Her endpoint için:
- HTTP method ve URL
- Request body/params
- Response formatı (JSON)
- Status kodları
- Yetkilendirme gereksinimleri
- Swagger/OpenAPI spec
GET /api/v1/projects/{id}/tasks: Proje görevlerini döndürür. Yetkilendirme: Bearer token. Başarılı yanıt: 200 ve tasks dizisi. Hatalar: 401 yetkisiz, 404 proje bulunamadı, 422 geçersiz parametre. Sayfalama: page ve limit. OpenAPI tanımı; request, response şemaları ve örnek hata gövdeleriyle birlikte hazırlanır.
Aşağıdaki gereksinimlere göre bir React componenti oluştur:
Component: [COMPONENT_ADI]
Amaç: [AÇIKLAMA]
Kurallar:
- TypeScript kullan
- Tailwind CSS ile stil ver
- Props interface tanımla
- Responsive tasarım
- Erişilebilirlik (a11y)
- Storybook story yaz
Aşağıdaki gereksinimlere göre bir React componenti oluştur:
Component: [COMPONENT_ADI]
Amaç: [AÇIKLAMA]
Kurallar:
- TypeScript kullan
- Tailwind CSS ile stil ver
- Props interface tanımla
- Responsive tasarım
- Erişilebilirlik (a11y)
- Storybook story yaz
Çıktı: TypeScript ile yazılmış, props interface tanımlı ve klavye erişilebilirliğine sahip responsive bir Card bileşeni. Props: title, description, imageUrl ve onSelect. Tailwind sınıfları mobilde tek kolon, geniş ekranda iki kolon düzeni sağlar. Storybook senaryoları varsayılan, uzun metin ve boş görsel durumlarını kapsar.
Aşağıdaki SQL sorgusunu optimize et:
```sql
[SORGU]
```
Analiz et:
- Execution plan tahmini
- Index önerileri
- Query rewrite alternatifleri
- N+1 problemi kontrolü
- Partition/sharding önerileri
- Performans karşılaştırması
Execution plan incelemesi: Tam tablo taraması yerine customer_id ve created_at üzerinde bileşik indeks önerildi. Sorgu yeniden yazımı: Gereksiz alt sorgu JOIN ile sadeleştirildi. N+1 riski: İlişkili kayıtlar tek sorguda eager loading ile alınmalı. Beklenti: Orta veri setinde sorgu süresi 420 ms seviyesinden 70 ms seviyesine düşebilir; gerçek sonuç benchmark ile doğrulanmalı.