Skip to content

Commit d607766

Browse files
CopilotCopilot
andcommitted
Add Turkish (tr) translations for errors, io, and security categories
Translate 22 content YAML files to Turkish: - errors: helpful-npe, multi-catch, null-in-switch, optional-chaining, optional-orelsethrow, record-based-errors, require-nonnull-else - io: deserialization-filters, file-memory-mapping, files-mismatch, http-client, inputstream-transferto, io-class-console-io, path-of, reading-files, try-with-resources-effectively-final, writing-files - security: key-derivation-functions, pem-encoding, random-generator, strong-random, tls-default Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 875ccf0 commit d607766

22 files changed

+396
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Yardımcı NullPointerException'lar
3+
oldApproach: Belirsiz NPE
4+
modernApproach: Ayrıntılı NPE
5+
summary: "JVM, hangi değişkenin null olduğunu otomatik olarak tam olarak söyler."
6+
explanation: "Yardımcı NPE'ler hangi ifadenin null olduğunu ve hangi işlemin başarısız olduğunu açıklar. Bu özellik Java 14'ten itibaren varsayılan olarak etkindir — herhangi bir kod değişikliğine gerek yoktur, yalnızca JDK'yı yükseltin."
7+
whyModernWins:
8+
- icon: "🔍"
9+
title: "Tam değişken"
10+
desc: "Mesaj, zincirdeki null değişkeni adlandırır."
11+
- icon: ""
12+
title: "Daha hızlı hata ayıklama"
13+
desc: "Zincirleme 5 çağrıdan hangisinin null olduğunu artık tahmin etmek gerekmez."
14+
- icon: "🆓"
15+
title: "Ücretsiz yükseltme"
16+
desc: "Kod değişikliği gerekmez — sadece JDK 14+ üzerinde çalıştırın."
17+
support:
18+
description: JDK 14'ten itibaren geniş çapta kullanılabilir (Mart 2020)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Çoklu istisna yakalama
3+
oldApproach: Ayrı Catch Blokları
4+
modernApproach: Çoklu catch
5+
summary: "Birden fazla istisna türünü tek bir catch bloğunda yakalayın."
6+
explanation: "Çoklu catch, aynı kodla birden fazla istisna türünü işler. İstisna değişkeni fiilen final olduğundan, sarmalamaya gerek kalmadan yeniden fırlatılabilir."
7+
whyModernWins:
8+
- icon: "📏"
9+
title: "DRY"
10+
desc: "Aynı işlem mantığı üç kez yerine bir kez yazılır."
11+
- icon: "🔄"
12+
title: "Yeniden fırlatılabilir"
13+
desc: "Yakalanan istisna, tam türüyle yeniden fırlatılabilir."
14+
- icon: "📖"
15+
title: "Taranabilir"
16+
desc: "Tüm işlenen türler tek bir yerde görünür."
17+
support:
18+
description: JDK 7'den itibaren geniş çapta kullanılabilir (Temmuz 2011)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Switch içinde null durumu
3+
oldApproach: Switch Öncesi Koruma
4+
modernApproach: case null
5+
summary: "null değerini doğrudan bir switch durumu olarak işleyin — ayrı koruma gerekmez."
6+
explanation: "Örüntü eşleştirme switch, null değerini bir durum etiketi olarak eşleştirebilir. Bu, switch öncesinde null kontrolüne olan ihtiyacı ortadan kaldırır ve null işlemeyi açık ve görünür kılar."
7+
whyModernWins:
8+
- icon: "🎯"
9+
title: "Açık"
10+
desc: "null işleme doğrudan switch içinde görünür."
11+
- icon: "🛡️"
12+
title: "NPE yok"
13+
desc: "null değer üzerinde switch, NullPointerException fırlatmaz."
14+
- icon: "📐"
15+
title: "Hepsi bir arada"
16+
desc: "null dahil tüm durumlar tek bir switch ifadesinde."
17+
support:
18+
description: JDK 21 LTS'den itibaren geniş çapta kullanılabilir (Eylül 2023)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Optional zincirleme
3+
oldApproach: İç İçe Null Kontrolleri
4+
modernApproach: Optional Pipeline
5+
summary: "İç içe null kontrollerini Optional pipeline ile değiştirin."
6+
explanation: "Optional.map(), null değerler üzerinden kısa devre yaparak zincirleme sağlar. orElse() varsayılanı sağlar. Bu, piramit şeklindeki null kontrolünü ortadan kaldırır."
7+
whyModernWins:
8+
- icon: "🔗"
9+
title: "Zincirlenebilir"
10+
desc: "Her .map() adımı null'ı şeffaf biçimde işler."
11+
- icon: "📖"
12+
title: "Doğrusal akış"
13+
desc: "İç içe if blokları yerine soldan sağa okunur."
14+
- icon: "🛡️"
15+
title: "NPE'ye karşı korumalı"
16+
desc: "Her adımda null işlenir — çökme mümkün değildir."
17+
support:
18+
description: JDK 8+'dan itibaren kullanılabilir (9+'da iyileştirildi)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Supplier olmadan Optional.orElseThrow()
3+
oldApproach: get() veya orElseThrow(supplier)
4+
modernApproach: orElseThrow()
5+
summary: "get() için daha net ve niyeti açıklayan bir alternatif olarak Optional.orElseThrow() kullanın."
6+
explanation: "Optional.get(), başarısızlık olasılığını gizlediği için yaygın biçimde kötü uygulama olarak kabul edilir. Java 10'da eklenen argümansız orElseThrow(), tam olarak aynı şeyi yapar ama niyeti açık kılar: geliştirici bir değer bekler ve yoksa istisna ister."
7+
whyModernWins:
8+
- icon: "📖"
9+
title: "Kendini belgeleyen"
10+
desc: "orElseThrow(), yokluğun beklenmedik olduğunu açıkça belirtir."
11+
- icon: "🔒"
12+
title: "get()'ten kaçınır"
13+
desc: "Statik analiz araçları get()'i riskli olarak işaretler; orElseThrow() deyimseldir."
14+
- icon: ""
15+
title: "Daha az şablon kod"
16+
desc: "Varsayılan NoSuchElementException için supplier geçirmeye gerek yoktur."
17+
support:
18+
description: JDK 10'dan itibaren kullanılabilir (Mart 2018).
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Record tabanlı hata yanıtları
3+
oldApproach: Map veya Ayrıntılı Sınıf
4+
modernApproach: Hata Record'ları
5+
summary: "Özlü, değiştirilemez hata yanıt türleri için record kullanın."
6+
explanation: "Record'lar hata yanıtları için mükemmeldir — değiştirilemezler, karşılaştırma için yerleşik equals/hashCode'a ve günlükleme için toString'e sahiptirler. Özel yapıcılar doğrulama veya varsayılan değerler ekler."
7+
whyModernWins:
8+
- icon: "📏"
9+
title: "Özlü"
10+
desc: "Hata türlerini 30 satır yerine 3 satırda tanımlayın."
11+
- icon: "🔒"
12+
title: "Değiştirilemez"
13+
desc: "Hata verileri oluşturulduktan sonra yanlışlıkla değiştirilemez."
14+
- icon: "📋"
15+
title: "Otomatik toString"
16+
desc: "Günlükleme için mükemmel — tüm alanları otomatik olarak gösterir."
17+
support:
18+
description: JDK 16'dan itibaren geniş çapta kullanılabilir (Mart 2021)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Objects.requireNonNullElse()
3+
oldApproach: Üçlü Null Kontrolü
4+
modernApproach: requireNonNullElse()
5+
summary: "Üçlü operatöre gerek kalmadan net bir varsayılanla null olmayan değer elde edin."
6+
explanation: "requireNonNullElse, ilk argüman null değilse onu döndürür, aksi takdirde ikinciyi döndürür. Varsayılanın kendisi null olamaz — her ikisi de null ise NPE fırlatarak hataları erken yakalar."
7+
whyModernWins:
8+
- icon: "📖"
9+
title: "Net niyet"
10+
desc: "Metod adı tam olarak ne yaptığını açıklar."
11+
- icon: "🛡️"
12+
title: "Null güvenli varsayılan"
13+
desc: "Varsayılan değer de null açısından kontrol edilir."
14+
- icon: "📏"
15+
title: "Okunabilir"
16+
desc: "Basit null-ya-da-varsayılan mantığı için üçlü operatörden daha iyidir."
17+
support:
18+
description: JDK 9'dan itibaren geniş çapta kullanılabilir (Eylül 2017)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Seri duruma getirme filtreleri
3+
oldApproach: Her Şeyi Kabul Et
4+
modernApproach: ObjectInputFilter
5+
summary: "Saldırıları önlemek için hangi sınıfların seri durumdan çıkarılabileceğini kısıtlayın."
6+
explanation: "ObjectInputFilter, sınıfları izin listesine/reddetme listesine almanıza, nesne grafiği derinliğini, dizi boyutlarını ve referans sayılarını sınırlandırmanıza olanak tanır. Bu, harici kütüphaneler olmadan seri duruma getirme güvenlik açıklarına karşı koruma sağlar."
7+
whyModernWins:
8+
- icon: "🛡️"
9+
title: "Güvenlik"
10+
desc: "Beklenmedik/kötü niyetli sınıfların seri durumdan çıkarılmasını önleyin."
11+
- icon: "📐"
12+
title: "İnce taneli"
13+
desc: "Derinlik, dizi boyutu, referanslar ve sınıf örüntülerini kontrol edin."
14+
- icon: "🏗️"
15+
title: "JVM genelinde"
16+
desc: "JVM'deki tüm seri duruma getirme işlemleri için global filtre belirleyin."
17+
support:
18+
description: JDK 9'dan itibaren geniş çapta kullanılabilir (Eylül 2017)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Dosya bellek eşleme
3+
oldApproach: MappedByteBuffer
4+
modernApproach: Arena ile MemorySegment
5+
summary: "MemorySegment kullanarak 2 GB'tan büyük dosyaları belirleyici temizlemeyle eşleyin."
6+
explanation: "Foreign Function & Memory API (JEP 454), güvenli ve verimli bellek erişimi için MemorySegment'i tanıtır. MappedByteBuffer'dan farklı olarak MemorySegment, 2 GB'tan (Integer.MAX_VALUE) büyük dosyaları destekler, Arena aracılığıyla belirleyici temizleme sağlar ve modern donanımla daha iyi performans sunar."
7+
whyModernWins:
8+
- icon: "📏"
9+
title: "Boyut sınırı yok"
10+
desc: "Geçici çözümler olmadan 2 GB'tan büyük dosyaları eşleyin."
11+
- icon: "🔒"
12+
title: "Belirleyici temizleme"
13+
desc: "Arena, belleğin GC zamanında değil kapsam çıkışında serbest bırakılmasını sağlar."
14+
- icon: ""
15+
title: "Daha iyi performans"
16+
desc: "Modern bellek modelleri ve donanımla uyumlu."
17+
support:
18+
description: JDK 22'den itibaren kullanılabilir (Mart 2024)
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Files.mismatch()
3+
oldApproach: Manuel Bayt Karşılaştırma
4+
modernApproach: Files.mismatch()
5+
summary: "İki dosyayı belleğe yüklemeden verimli biçimde karşılaştırın."
6+
explanation: "Files.mismatch(), farklılık gösteren ilk baytın konumunu döndürür veya dosyalar özdeşse -1 döndürür. Tembel okur ve ilk farklılıkta kısa devre yapar."
7+
whyModernWins:
8+
- icon: ""
9+
title: "Bellek verimli"
10+
desc: "Dosyaların tamamını bayt dizilerine yüklemez."
11+
- icon: "🎯"
12+
title: "Farkı tam olarak bulur"
13+
desc: "İlk uyumsuzluğun tam bayt konumunu döndürür."
14+
- icon: "📏"
15+
title: "Tek çağrı"
16+
desc: "Manuel bayt dizisi karşılaştırma mantığına gerek yoktur."
17+
support:
18+
description: JDK 12'den itibaren geniş çapta kullanılabilir (Mart 2019)

0 commit comments

Comments
 (0)