[PROJE_ADI] projesi için veritabanı şeması tasarla.
Gereksinimler: [GEREKSİNİMLER]
Çıktı:
- ER diyagramı açıklaması
- Tablo yapıları (SQL)
- İlişkiler ve constraint'ler
- Index stratejisi
- Normalizasyon seviyesi
- Örnek veriler (INSERT)
Tablolar: users, projects, tasks ve task_comments. İlişkiler: users birden çok project, projects birden çok task, tasks birden çok comment. Constraintler: foreign key, benzersiz e-posta ve durum enumu. İndeksler: projects.owner_id, tasks.project_id ve tasks.status. Normalizasyon: Üçüncü normal form. Örnek INSERT kayıtları ve ER diyagramı açıklaması eklenir.
[TEKNOLOJİ_STACK] projesi için CI/CD pipeline tasarla.
Platform: [GitHub Actions/GitLab CI/Jenkins]
Pipeline:
- Build aşaması
- Test (unit, integration, e2e)
- Güvenlik taraması
- Staging deploy
- Production deploy
- Rollback stratejisi
- YAML yapılandırma dosyası
Aşamalar: Checkout kodu; bağımlılık kurulumu; unit ve integration testleri; SAST ve bağımlılık taraması; staging dağıtımı; manuel onay; production dağıtımı. Başarısızlıkta önceki imaja otomatik rollback yapılır. Pipeline sırlarını secret store üzerinden okur. Her adım artefact, log ve bildirim üretir; YAML yapılandırması branch kurallarıyla birlikte sunulur.
QA test uzmanları ve kullanıcılar için geliştiricilerin hatayı hızla yeniden üretebileceği standart Jira/GitHub bug raporları hazırlamak.
Aşağıdaki teknik hata için Jira / GitHub standartlarında profesyonel bir Hata Raporu (Bug Report) oluştur:
Hata Özeti: [HATA]
Çalışma Ortamı (OS, Tarayıcı, Versiyon): [ORTAM]
Gerçekleşen Hata Durumu: [GERCEKLESEN]
Beklenen Normal Davranış: [BEKLENEN]
Rapor Formatı:
- Başlık: [Modül Adı] Kısa ve Net Problem Tanımı
- Öncelik ve Şiddet Seviyesi (Severity / Priority)
- Yeniden Üretme Adımları (Steps to Reproduce - Numaralı)
- Gerçekleşen Sonuç vs. Beklenen Sonuç
- İlgili Log / Hata Çıktısı Alanı
- Olası Kök Neden Tahmini (Geliştiriciye ipucu)
Aşağıdaki teknik hata için Jira / GitHub standartlarında profesyonel bir Hata Raporu (Bug Report) oluştur:
Hata Özeti: [HATA]
Çalışma Ortamı (OS, Tarayıcı, Versiyon): [ORTAM]
Gerçekleşen Hata Durumu: [GERCEKLESEN]
Beklenen Normal Davranış: [BEKLENEN]
Rapor Formatı:
- Başlık: [Modül Adı] Kısa ve Net Problem Tanımı
- Öncelik ve Şiddet Seviyesi (Severity / Priority)
- Yeniden Üretme Adımları (Steps to Reproduce - Numaralı)
- Gerçekleşen Sonuç vs. Beklenen Sonuç
- İlgili Log / Hata Çıktısı Alanı
- Olası Kök Neden Tahmini (Geliştiriciye ipucu)
Title: [Auth/Profile] 500 Server Error on PNG Avatar Upload > 1MB
Severity: High | Priority: P2
Steps to Reproduce:
1. Go to Profile Settings (/profil/duzenle)
2. Select a 1.5MB PNG file
3. Click 'Kaydet'
Actual Result: 500 Server Error.
Expected Result: Image is resized and saved successfully.
Yazılım kodlarını güvenlik açıkları, performans darboğazları, SOLID prensipleri ve okunabilirlik açısından profesyonelce incelemek.
Aşağıdaki kod parçasını kıdemli bir yazılım mimarı (Senior Staff Engineer) gözüyle titizlikle incele:
Programlama Dili / Framework: [DIL_FRAMEWORK]
Kod Bloğu:
```[DIL_FRAMEWORK]
[KOD]
```
İnceleme Raporu:
1. Kritik Güvenlik ve Mantık Hataları (Security & Edge Cases)
2. Performans ve Ölçeklenebilirlik Değerlendirmesi (Big-O, bellek kullanımı)
3. Temiz Kod ve Mimari (Clean Code, SOLID, DRY prensiplerine uyum)
4. İyileştirilmiş ve Refactor Edilmiş Kod: Açıklayıcı yorum satırlarıyla optimize edilmiş tam kod bloğu.
5. Birim Test (Unit Test) Senaryoları Önerisi.
Aşağıdaki kod parçasını kıdemli bir yazılım mimarı (Senior Staff Engineer) gözüyle titizlikle incele:
Programlama Dili / Framework: [DIL_FRAMEWORK]
Kod Bloğu:
```[DIL_FRAMEWORK]
[KOD]
```
İnceleme Raporu:
1. Kritik Güvenlik ve Mantık Hataları (Security & Edge Cases)
2. Performans ve Ölçeklenebilirlik Değerlendirmesi (Big-O, bellek kullanımı)
3. Temiz Kod ve Mimari (Clean Code, SOLID, DRY prensiplerine uyum)
4. İyileştirilmiş ve Refactor Edilmiş Kod: Açıklayıcı yorum satırlarıyla optimize edilmiş tam kod bloğu.
5. Birim Test (Unit Test) Senaryoları Önerisi.
1. Güvenlik: Kullanıcı girdisi doğrudan SQL içinde birleştirilmiş (SQL Injection riski). Prepared Statement kullanılmalı.
2. Performans: Döngü içinde veritabanı sorgusu (N+1 problemi) var. Batch query ile tek seferde çekilmeli.
3. Refactored Kod:
$data = $this->model->whereIn('id', $ids)->findAll();
Yavaş çalışan karmaşık SQL sorgularını analiz ederek indeksleme stratejileri ve sorgu yeniden yazımı (query rewrite) ile optimize etmek.
Aşağıdaki yavaş çalışan SQL sorgusunu ve veritabanı şemasını optimize et:
Veritabanı Türü: [MYSQL_POSTGRESQL_ORACLE_MSSQL]
Sorgu:
```sql
[SQL_SORGU]
```
Tablo Boyutları ve Mevcut İndeksler: [TABLOLAR_INDEKSLER]
Optimizasyon Raporu:
1. Darboğaz Analizi: Sorgunun neden yavaş çalıştığı (Full table scan, geçici tablolar, filesort vb.)
2. Önerilen İndeksler (B-Tree, Composite Index tanımları)
3. Yeniden Yazılmış Optimize SQL (Query Rewrite)
4. EXPLAIN Plan İnceleme Kılavuzu: Hangi satırların kontrol edilmesi gerektiği
5. Canlıya Alırken Dikkat Edilecek Kilitlenme (Locking) Riskleri.
Aşağıdaki yavaş çalışan SQL sorgusunu ve veritabanı şemasını optimize et:
Veritabanı Türü: [MYSQL_POSTGRESQL_ORACLE_MSSQL]
Sorgu:
```sql
[SQL_SORGU]
```
Tablo Boyutları ve Mevcut İndeksler: [TABLOLAR_INDEKSLER]
Optimizasyon Raporu:
1. Darboğaz Analizi: Sorgunun neden yavaş çalıştığı (Full table scan, geçici tablolar, filesort vb.)
2. Önerilen İndeksler (B-Tree, Composite Index tanımları)
3. Yeniden Yazılmış Optimize SQL (Query Rewrite)
4. EXPLAIN Plan İnceleme Kılavuzu: Hangi satırların kontrol edilmesi gerektiği
5. Canlıya Alırken Dikkat Edilecek Kilitlenme (Locking) Riskleri.
1. Darboğaz: `created_at` üzerinde indeks olmadığından 2 milyon satırlık `orders` tablosunda Full Table Scan yapılıyor.
2. İndeks Önerisi:
CREATE INDEX idx_orders_created_user ON orders(created_at, user_id);
3. Optimize SQL:
SELECT o.id, o.total_price, u.name
FROM orders o
INNER JOIN users u ON o.user_id = u.id
WHERE o.created_at >= '2026-01-01';
Kritik sistem güncellemeleri ve canlıya alma süreçleri öncesinde risk değerlendirmesi, test kontrol listesi ve geri alma planı oluşturmak.
Aşağıdaki yazılım değişikliği için canlıya çıkış (Production Deployment) risk analizi ve hazırlık kontrol listesi oluştur:
Değişiklik Kapsamı: [DEGISIKLIKLER_DATABASE_API_FRONTEND]
Etkilenen Sistemler: [SISTEMLER]
Planlanan Dağıtım Saati: [ZAMAN]
Çıktı Planı:
1. Risk Seviyesi Değerlendirmesi (Yüksek / Orta / Düşük ve nedenleri)
2. Dağıtım Öncesi Kontrol Listesi (Pre-deployment Checklist)
3. Dağıtım Adımları (Sıralı komutlar ve migration akışı)
4. Doğrulama ve Sağlık Kontrolleri (Smoke Test & Health Checks)
5. Geri Alma Planı (Rollback Strategy): Beklenmedik bir arıza durumunda veri kaybı olmadan eski sürüme dönüş adımları.
Aşağıdaki yazılım değişikliği için canlıya çıkış (Production Deployment) risk analizi ve hazırlık kontrol listesi oluştur:
Değişiklik Kapsamı: [DEGISIKLIKLER_DATABASE_API_FRONTEND]
Etkilenen Sistemler: [SISTEMLER]
Planlanan Dağıtım Saati: [ZAMAN]
Çıktı Planı:
1. Risk Seviyesi Değerlendirmesi (Yüksek / Orta / Düşük ve nedenleri)
2. Dağıtım Öncesi Kontrol Listesi (Pre-deployment Checklist)
3. Dağıtım Adımları (Sıralı komutlar ve migration akışı)
4. Doğrulama ve Sağlık Kontrolleri (Smoke Test & Health Checks)
5. Geri Alma Planı (Rollback Strategy): Beklenmedik bir arıza durumunda veri kaybı olmadan eski sürüme dönüş adımları.
1. Risk Seviyesi: YÜKSEK (Veritabanı şema değişikliği ve ödeme altyapısı içeriyor).
2. Dağıtım Öncesi:
- Tam veritabanı yedeği alındı mı?
- Staging ortamında test senaryoları geçti mi?
- API token ve gizli anahtarlar güncellendi mi?
3. Rollback Planı:
- Veritabanı için ters migration (down) scripti hazır.
- Önceki Docker imaj etiketi (image tag) hazır tutuluyor.
Yazılım hatalarını hem paydaşların anlayacağı sade bir dille hem de geliştiriciler için teknik kök neden analiziyle açıklamak.
Aşağıdaki yazılım hatasını analiz et:
Hata Mesajı / Log: [HATA_MESAJI]
İlgili Kod Bloğu: [KOD_BLOGU]
Teknoloji / Dil: [DIL_VEYA_CERCEVE]
Lütfen şu formatta kapsamlı bir analiz sun:
1. Yönetici Özeti (Teknik Olmayan Dille): Bu hatanın neden kaynaklandığının ve kullanıcıya etkisinin 2 cümlelik sade özeti.
2. Kök Neden Analizi (RCA): Sistemin hangi aşamada neden beklenmedik duruma düştüğünün teknik açıklaması.
3. Düzeltilmiş Kod: Hatayı gideren ve en iyi pratikleri (best practices) içeren güncel kod bloğu.
4. Önleyici Tedbir: Benzer hataların tekrarını önlemek için test veya validasyon önerisi.
Aşağıdaki yazılım hatasını analiz et:
Hata Mesajı / Log: [HATA_MESAJI]
İlgili Kod Bloğu: [KOD_BLOGU]
Teknoloji / Dil: [DIL_VEYA_CERCEVE]
Lütfen şu formatta kapsamlı bir analiz sun:
1. Yönetici Özeti (Teknik Olmayan Dille): Bu hatanın neden kaynaklandığının ve kullanıcıya etkisinin 2 cümlelik sade özeti.
2. Kök Neden Analizi (RCA): Sistemin hangi aşamada neden beklenmedik duruma düştüğünün teknik açıklaması.
3. Düzeltilmiş Kod: Hatayı gideren ve en iyi pratikleri (best practices) içeren güncel kod bloğu.
4. Önleyici Tedbir: Benzer hataların tekrarını önlemek için test veya validasyon önerisi.
1. Yönetici Özeti: Kullanıcı profili oluşturulmadan adres bilgisine erişilmeye çalışıldığı için sistem işlemi durdurdu. Kullanıcılar boş profille işlem yaparken hata ekranı görüyor.
2. Kök Neden: getProfile() metodu null dönerken getAddress() çağrıldığı için NullPointerException tetikleniyor.
3. Düzeltilmiş Kod:
Optional.ofNullable(user.getProfile()).map(Profile::getAddress).orElse("Adres Yok");
Toplam 19 içerikten 13 - 19 arası gösteriliyor•Sayfa 2 / 2
Görsel Çıktı
Prompt alanlarını doldurun
Değerler yalnız bu cihazda promptu hazırlamak için kullanılır.