# Software Dictionary

> Geliştiricilerin her gün duyduğu yazılım terimlerinin açık ve sade Türkçe tanımları: API ve Docker'dan closure ve büyük dil modellerine kadar.

Her terim sayfası tek cümlelik bir tanımla başlar; ardından bir açıklama, akılda kalması gerekenler, bir kod örneği ve sık sorulan sorular gelir. İçerik sade bir Türkçeyle yazılmıştır ve terim sayfasına bağlantı verilerek alıntılanabilir. Her terim ve karşılaştırma sayfası Markdown olarak da okunabilir: adresin sonuna .md eklemek yeter, örneğin /tr/terimler/api.md.

## Programlamanın Temelleri

Her dilde karşılaşılan temel kavramlar: değişkenler, fonksiyonlar, asenkron kod ve programlama paradigmaları. [Bütün Programlamanın Temelleri terimleri](https://softwaredictionary.org/tr/kutuphane/programming)

- [Algoritma](https://softwaredictionary.org/tr/terimler/algorithm): Algoritma, bir listeyi sıralamak ya da en kısa yolu bulmak gibi bir sorunu çözmek veya bir işi tamamlamak için izlenen, sonlu ve adım adım yönergeler bütünüdür.
- [Async/Await](https://softwaredictionary.org/tr/terimler/async-await): Async/await, asenkron kodu sıradan adım adım kod gibi okunur biçimde yazmayı sağlayan, her await'te bir promise ya da görev bitene dek duran sözdizimidir.
- [Base64](https://softwaredictionary.org/tr/terimler/base64): Base64, resim ya da anahtar gibi her tür ikili veriyi yalnızca 64 güvenli metin karakteriyle yazar; böylece veri metin için yapılmış sistemlerden geçebilir.
- [Big O gösterimi](https://softwaredictionary.org/tr/terimler/big-o-notation): Big O gösterimi, girdi büyüdükçe bir algoritmanın çalışma süresinin ya da bellek kullanımının nasıl arttığını, kesin hız yerine büyüme oranıyla anlatır.
- [Callback](https://softwaredictionary.org/tr/terimler/callback): Callback, başka bir fonksiyona argüman olarak verilen ve o fonksiyonun bir iş bittiğinde ya da bir olay gerçekleştiğinde sonradan çağırdığı fonksiyondur.
- [Closure](https://softwaredictionary.org/tr/terimler/closure): Closure, oluşturulduğu kapsamdaki değişkenleri hatırlayan bir fonksiyondur; dıştaki fonksiyon sona erdikten sonra bile bu değişkenleri kullanabilir.
- [Constructor](https://softwaredictionary.org/tr/terimler/constructor): Constructor, bir sınıftan yeni bir nesne oluşturulduğunda çalışan ve nesnenin başlangıç değerlerini ayarlayarak onu kullanıma hazırlayan özel bir metottur.
- [Çok biçimlilik](https://softwaredictionary.org/tr/terimler/polymorphism): Çok biçimlilik, kodun farklı türlerdeki değerlerle ortak bir arayüz üzerinden çalışabilmesidir; her tür kendi davranışını sağlar.
- [Çöp toplama](https://softwaredictionary.org/tr/terimler/garbage-collection): Çöp toplama, dil çalışma zamanının programın artık kullanamadığı verileri bulup bu belleği yeniden kullanıma açtığı otomatik bellek yönetimidir.
- [Değişken](https://softwaredictionary.org/tr/terimler/variable): Değişken, bir programda sayı ya da metin gibi bir değeri tutan ve kodun çalışırken okuyup değiştirebildiği, adlandırılmış bir depolama alanıdır.
- [Değişmezlik](https://softwaredictionary.org/tr/terimler/immutability): Değişmezlik, bir değerin oluşturulduktan sonra değiştirilememesi demektir; her güncelleme, orijinali yerinde değiştirmek yerine yeni bir değer üretir.
- [Derleyici](https://softwaredictionary.org/tr/terimler/compiler): Derleyici, bir programlama dilinde yazılmış kaynak kodu, bilgisayarın çalıştırabileceği makine kodu gibi daha alt seviyeli bir biçime çeviren programdır.
- [Dinamik Tipleme](https://softwaredictionary.org/tr/terimler/dynamic-typing): Dinamik tipleme, türlerin değişkenlere değil değerlere ait olması ve program çalışırken kontrol edilmesidir; bir değişken önce sayı, sonra string tutabilir.
- [Dize](https://softwaredictionary.org/tr/terimler/string): Dize, bir isim, cümle, URL ya da dosya içeriği gibi metni sıralı bir karakter dizisi olarak temsil eden bir veri türüdür.
- [Dizi](https://softwaredictionary.org/tr/terimler/array): Dizi, tek bir ad altında saklanan ve her öğesine genellikle 0'dan başlayan indeks adlı sayısal konumuyla erişilen, sıralı bir değerler koleksiyonudur.
- [Döngü](https://softwaredictionary.org/tr/terimler/loop): Döngü, bir kod bloğunu belirli sayıda, bir koleksiyondaki her öğe için bir kez ya da bir koşul doğru kaldığı sürece tekrar eden bir kontrol yapısıdır.
- [Düzenli ifade](https://softwaredictionary.org/tr/terimler/regular-expression): Düzenli ifade (regex), dizeler içinde aranacak, doğrulanacak, çıkarılacak veya değiştirilecek metni tarif eden, kompakt sözdizimli bir desendir.
- [Enum](https://softwaredictionary.org/tr/terimler/enum): Enum, bir siparişin olası durumları gibi sabit ve adlandırılmış bir değerler kümesi tanımlayan bir veri türüdür; kod bu kümenin dışında bir değer kullanamaz.
- [Eşzamanlılık](https://softwaredictionary.org/tr/terimler/concurrency): Eşzamanlılık, bir programın birden çok görevde örtüşen zaman dilimlerinde ilerleyebilme yeteneğidir; örneğin birçok kullanıcıya aynı anda hizmet vermek gibi.
- [Fonksiyon](https://softwaredictionary.org/tr/terimler/function): Fonksiyon, belirli bir işi yapan, isteğe bağlı olarak parametre denen girdiler alıp sonuç döndürebilen, adlandırılmış ve yeniden kullanılabilir kod bloğudur.
- [Fonksiyonel programlama](https://softwaredictionary.org/tr/terimler/functional-programming): Fonksiyonel programlama, paylaşılan verileri değiştirmeyen saf fonksiyonlarla yazılım kurma stilidir; kodu daha öngörülebilir ve test etmesi kolay yapar.
- [Framework](https://softwaredictionary.org/tr/terimler/framework): Framework, bir uygulamanın yapısını sağlayan, yeniden kullanılabilir kod, araç ve kural temelidir; geliştiriciler yalnızca kendi mantıklarını doldurur.
- [Generics](https://softwaredictionary.org/tr/terimler/generics): Generics, tam tür güvenliğini korurken birçok veri türüyle çalışan fonksiyonlar, sınıflar ve türler yazmanıza olanak tanıyan bir dil özelliğidir.
- [Hata ayıklama](https://softwaredictionary.org/tr/terimler/debugging): Hata ayıklama, bir programın neden yanlış davrandığını bulma, hatalı kodu saptama ve düzeltme sürecidir; çoğu zaman hata ayıklayıcı adlı bir araç kullanılır.
- [IDE](https://softwaredictionary.org/tr/terimler/ide): IDE (tümleşik geliştirme ortamı), bir kod editörünü hata ayıklayıcı, derleme komutları ve diğer geliştirici araçlarıyla tek bir yerde birleştiren uygulamadır.
- [Interface](https://softwaredictionary.org/tr/terimler/interface): Interface, bir türün sağlamayı vaat ettiği metot ve özellik imzalarından oluşan adlandırılmış bir kümedir; bu üyelerin nasıl gerçekleştirildiğini söylemez.
- [Iterator](https://softwaredictionary.org/tr/terimler/iterator): Iterator, verinin nasıl saklandığını açığa çıkarmadan, konumunu hatırlayarak bir koleksiyonun öğeleri arasında teker teker ilerlemeyi sağlayan bir nesnedir.
- [İstisna](https://softwaredictionary.org/tr/terimler/exception): İstisna, bir hata oluştuğunda programın normal akışını kesen bir olaydır; kod bunu programı çökertmek yerine yakalayıp ele alabilir.
- [İşaretçi](https://softwaredictionary.org/tr/terimler/pointer): İşaretçi, başka bir değerin kendisi yerine bellek adresini saklayan bir değişkendir; kodun o veriyi dolaylı yoldan okumasına ya da değiştirmesine imkân tanır.
- [JIT derleme](https://softwaredictionary.org/tr/terimler/jit-compilation): JIT derleme, programın en sık çalışan kısımlarını çalışma anında makine koduna çevirerek yorumlayıcının hızlı açılışını derlenmiş kodun hızıyla birleştirir.
- [Kalıtım](https://softwaredictionary.org/tr/terimler/inheritance): Kalıtım, yeni bir sınıfın mevcut bir sınıfın alanlarını ve metotlarını yeniden kullanmasını, genişletmesini ve geçersiz kılmasını sağlayan OOP özelliğidir.
- [Kapsam](https://softwaredictionary.org/tr/terimler/scope): Kapsam, bir programda değişken ya da fonksiyon gibi bir adın görünür olduğu ve kullanılabildiği bölgedir; her kod satırının nelere ulaşabileceğini belirler.
- [Kapsülleme](https://softwaredictionary.org/tr/terimler/encapsulation): Kapsülleme, verileri onları kullanan metotlarla paketleyip iç ayrıntıları gizlemektir; dışarıdaki kod yalnızca herkese açık bir arayüz üzerinden çalışır.
- [Karakter kodlaması](https://softwaredictionary.org/tr/terimler/character-encoding): Karakter kodlaması, metni byte'lara ve geri metne çeviren kurallardır; her harfin saklanıp gönderilmesini sağlar. Bugünkü standart UTF-8'dir.
- [Kütüphane](https://softwaredictionary.org/tr/terimler/library): Kütüphane, bir programın sık yapılan işleri o kodu kendisi yazmadan yapmak için çağırdığı, fonksiyon ve sınıf gibi hazır kodlardan oluşan bir koleksiyondur.
- [Lambda fonksiyonu](https://softwaredictionary.org/tr/terimler/lambda-function): Lambda fonksiyonu, adı olmadan satır içinde yazılan küçük fonksiyondur; genellikle sıralama ya da filtreleme yapan başka bir fonksiyona doğrudan aktarılır.
- [Memoization](https://softwaredictionary.org/tr/terimler/memoization): Memoization, fonksiyon çağrılarının sonuçlarını saklayıp aynı girdiler tekrar geldiğinde kaydedilen sonucu döndüren bir optimizasyon tekniğidir.
- [Metot](https://softwaredictionary.org/tr/terimler/method): Metot, bir nesneye ya da sınıfa ait olup onun üzerinden çağrılan fonksiyondur; `user.rename("Ada")` örneğindeki gibi nesnenin verisini okuyup değiştirebilir.
- [Nesne](https://softwaredictionary.org/tr/terimler/object): Nesne, ilgili veriyi ve davranışı bir arada tutan yapıdır: değerleri özellik denen adlandırılmış alanlarda, onları işleyen fonksiyonları metot olarak taşır.
- [Null](https://softwaredictionary.org/tr/terimler/null): Null, “burada değer yok” anlamına gelen özel bir değerdir; bir değişken bilerek hiçbir nesneye ya da veriye başvurmadığında kullanılır.
- [OOP](https://softwaredictionary.org/tr/terimler/oop): OOP, yani nesne yönelimli programlama, kodu ilişkili verileri onlar üzerinde işlem yapan fonksiyonlarla birleştiren nesneler etrafında düzenleme yöntemidir.
- [Özyineleme](https://softwaredictionary.org/tr/terimler/recursion): Özyineleme, bir fonksiyonun sorunu, basit bir temel duruma ulaşana dek aynı sorunun daha küçük sürümleri için kendisini çağırarak çözdüğü tekniktir.
- [Paket Yöneticisi](https://softwaredictionary.org/tr/terimler/package-manager): Paket yöneticisi, yazılım paketlerini ve onların bağımlılıklarını kuran, güncelleyen ve kaldıran, sürümleri otomatik olarak çözen bir araçtır.
- [Paralellik](https://softwaredictionary.org/tr/terimler/parallelism): Paralellik, birkaç hesaplamayı birden çok CPU çekirdeğinde, GPU'da ya da makinede gerçekten aynı anda çalıştırmaktır; böylece büyük bir iş daha hızlı biter.
- [Parametre](https://softwaredictionary.org/tr/terimler/parameter): Parametre, bir fonksiyonun tanımındaki adlandırılmış bir girdidir; argüman ise fonksiyon çağrıldığında o yere verilen gerçek değerdir.
- [Promise](https://softwaredictionary.org/tr/terimler/promise): Promise, asenkron bir işlemin nihai sonucunu temsil eden bir nesnedir; iş bittiğinde kodun başarıya ya da hataya tepki vermesini sağlar.
- [Saf fonksiyon](https://softwaredictionary.org/tr/terimler/pure-function): Saf fonksiyon, aynı girdi için her zaman aynı çıktıyı döndüren ve yan etkisi olmayan, yani kendi dışındaki hiçbir şeyi değiştirmeyen fonksiyondur.
- [SDK](https://softwaredictionary.org/tr/terimler/sdk): SDK (yazılım geliştirme kiti), belirli bir platform veya servis için geliştirme yapmaya yarayan araç, kütüphane, dokümantasyon ve örneklerden oluşan pakettir.
- [Sınıf](https://softwaredictionary.org/tr/terimler/class): Sınıf, nesne yönelimli programlamada bir grup nesnenin paylaştığı veri ve davranışı tanımlayan, nesnelerin örnek olarak ondan oluşturulduğu bir plandır.
- [Soyutlama](https://softwaredictionary.org/tr/terimler/abstraction): Soyutlama, bir şeyin nasıl çalıştığına dair karmaşık ayrıntıları daha basit bir arayüzün arkasına gizlemektir; kod onu yalnızca ne yaptığını bilerek kullanır.
- [Stack trace](https://softwaredictionary.org/tr/terimler/stack-trace): Stack trace, bir hata oluştuğu anda devam eden fonksiyon çağrılarının listesidir; hatanın çıktığı satırdan programın başladığı yere kadar uzanır.
- [Statik Tipleme](https://softwaredictionary.org/tr/terimler/static-typing): Statik tipleme, değişken ve ifadelerin türünün program çalışmadan önce, genellikle derleyici tarafından denetlenmesidir; birçok tür hatası erken yakalanır.
- [Tür çıkarımı](https://softwaredictionary.org/tr/terimler/type-inference): Tür çıkarımı, derleyicinin bir değişkenin ya da ifadenin türünü otomatik olarak belirlediği bir özelliktir; her tür bildirimini yazmanız gerekmez.
- [Veri türü](https://softwaredictionary.org/tr/terimler/data-type): Veri türü, bir programa bir verinin sayı ya da metin gibi hangi tür bir değer taşıdığını ve hangi işlemlerin ona uygulanabileceğini söyleyen sınıflandırmadır.
- [Yorumlayıcı](https://softwaredictionary.org/tr/terimler/interpreter): Yorumlayıcı, tüm programı önce ayrı bir çalıştırılabilir dosyaya çevirmek yerine kaynak kodu doğrudan, adım adım çalıştıran bir programdır.
- [Yüksek dereceli fonksiyon](https://softwaredictionary.org/tr/terimler/higher-order-function): Yüksek dereceli fonksiyon, başka bir fonksiyonu argüman olarak alan, fonksiyon döndüren ya da ikisini de yapan fonksiyondur; davranış veri gibi taşınabilir.

## Web Geliştirme

Tarayıcıda çalışan uygulamaların arkasındaki diller, protokoller ve render stratejileri. [Bütün Web Geliştirme terimleri](https://softwaredictionary.org/tr/kutuphane/web)

- [AJAX](https://softwaredictionary.org/tr/terimler/ajax): AJAX (Asynchronous JavaScript and XML), JavaScript ile sunucudan arka planda veri alıp sayfayı yeniden yüklemeden yalnızca bir kısmını güncelleme tekniğidir.
- [Alan Adı](https://softwaredictionary.org/tr/terimler/domain-name): Alan adı (domain name), example.com gibi bir web sitesinin insanların okuyabileceği adresidir; DNS sistemi bunu siteyi barındıran sunucunun IP adresine çevirir.
- [Angular](https://softwaredictionary.org/tr/terimler/angular): Angular, Google'ın TypeScript tabanlı, eksiksiz web framework'üdür; bileşenler, yönlendirme, formlar, HTTP istemcisi ve bağımlılık enjeksiyonu yerleşik gelir.
- [Bundler](https://softwaredictionary.org/tr/terimler/bundler): Bundler, JavaScript modüllerini ve bağımlılıklarını tarayıcıların hızlıca indirip çalıştırabileceği birkaç optimize dosyada birleştiren bir derleme aracıdır.
- [CMS](https://softwaredictionary.org/tr/terimler/cms): CMS (içerik yönetim sistemi), web sitesi içeriğini kod yazmadan bir editör üzerinden oluşturmayı, düzenlemeyi ve yayımlamayı sağlayan yazılımdır.
- [Code Splitting](https://softwaredictionary.org/tr/terimler/code-splitting): Code splitting, bir web uygulamasının JavaScript'ini istenince yüklenen küçük parçalara bölen tekniktir; böylece ilk sayfa yalnızca gereken kodu indirir.
- [Cookie](https://softwaredictionary.org/tr/terimler/cookie): Cookie, bir web sitesinin tarayıcıdan saklamasını ve sonraki isteklerle geri göndermesini istediği, çoğunlukla oturum açık tutmak için kullanılan küçük veridir.
- [Core Web Vitals](https://softwaredictionary.org/tr/terimler/core-web-vitals): Core Web Vitals, bir sayfanın gerçek kullanıcı deneyimini ölçen üç metriktir: yükleme hızı (LCP), yanıt verme (INP) ve görsel kararlılık (CLS).
- [CORS](https://softwaredictionary.org/tr/terimler/cors): CORS, bir sunucunun JavaScript'ten istek yapan hangi diğer sitelerin yanıtlarını okuyabileceğini bildirmesini sağlayan tarayıcı güvenlik mekanizmasıdır.
- [CSR](https://softwaredictionary.org/tr/terimler/csr): CSR, tarayıcının çoğunlukla boş bir HTML sayfası ile JavaScript indirip sayfa içeriğini kullanıcının cihazında oluşturduğu render yaklaşımıdır.
- [CSS](https://softwaredictionary.org/tr/terimler/css): CSS, HTML içeriğinin ekranda renk, yazı tipi, boşluk, yerleşim ve animasyon gibi yönlerden nasıl görüneceğini belirleyen stil sayfası dilidir.
- [CSS Grid](https://softwaredictionary.org/tr/terimler/css-grid): CSS Grid, öğeleri aynı anda satır ve sütunlar halinde düzenleyen, karmaşık sayfa yerleşimlerini kolayca kurmayı sağlayan iki boyutlu CSS yerleşim sistemidir.
- [Debounce](https://softwaredictionary.org/tr/terimler/debounce): Debounce, bir fonksiyonu art arda gelen olaylar belli bir süre durana dek ertelemektir; böylece arama kutusu her tuşta değil, yazma bitince istek gönderir.
- [DOM](https://softwaredictionary.org/tr/terimler/dom): DOM, tarayıcının bir web sayfasını temsil eden ve JavaScript'in okuyup değiştirerek kullanıcının gördüğünü güncelleyebildiği bellek içi nesne ağacıdır.
- [Duyarlı Tasarım](https://softwaredictionary.org/tr/terimler/responsive-design): Duyarlı tasarım, web sayfalarının yerleşimini, görsellerini ve metnini telefondan büyük monitöre her ekran boyutuna otomatik uyduran yaklaşımdır.
- [ES Modülleri](https://softwaredictionary.org/tr/terimler/es-modules): ES modülleri, JavaScript'in yerleşik modül sistemidir: her dosya kendi kapsamını korur ve kodu diğer dosyalarla import ve export aracılığıyla paylaşır.
- [Flexbox](https://softwaredictionary.org/tr/terimler/flexbox): Flexbox, öğeleri tek bir satır ya da sütunda düzenleyen ve büyüme, küçülme, hizalama ile boş alanı paylaşma biçimlerini denetleyen bir CSS yerleşim modelidir.
- [Frontend](https://softwaredictionary.org/tr/terimler/frontend): Frontend, bir uygulamanın kullanıcının önünde, çoğunlukla tarayıcıda çalışan; arayüzü çizen ve tıklamalara, yazılanlara karşılık veren kısmıdır.
- [HTML](https://softwaredictionary.org/tr/terimler/html): HTML, başlık, paragraf, bağlantı, görsel ve form gibi öğelerle web sayfalarının yapısını ve içeriğini tanımlayan işaretleme dilidir.
- [HTTP](https://softwaredictionary.org/tr/terimler/http): HTTP, tarayıcıların, uygulamaların ve sunucuların basit bir istek-yanıt döngüsüyle web sayfaları ve veri alışverişi yapmasını sağlayan protokoldür.
- [HTTP Başlığı](https://softwaredictionary.org/tr/terimler/http-header): HTTP başlığı, bir HTTP isteği ya da yanıtıyla gönderilen ad-değer satırıdır; içerik türü, önbellek kuralları ya da kimlik bilgileri gibi ayrıntıları taşır.
- [HTTP Durum Kodu](https://softwaredictionary.org/tr/terimler/http-status-code): HTTP durum kodu, sunucunun her yanıtla gönderdiği ve isteğin başarılı mı, başarısız mı olduğunu ya da ek işlem mi gerektirdiğini bildiren üç haneli sayıdır.
- [Hydration](https://softwaredictionary.org/tr/terimler/hydration): Hydration, tarayıcıdaki JavaScript'in sunucuda üretilmiş HTML'i devralıp olay yöneticilerini ve durumu bağlayarak sayfayı etkileşimli hale getirdiği adımdır.
- [iframe](https://softwaredictionary.org/tr/terimler/iframe): iframe, başka bir web sayfasını mevcut sayfaya gömen ve sıkça videolar, haritalar, ödeme formları ve üçüncü taraf widget'lar için kullanılan HTML öğesidir.
- [JavaScript](https://softwaredictionary.org/tr/terimler/javascript): JavaScript, web tarayıcılarında sayfaları etkileşimli hale getiren ve Node.js gibi çalışma ortamlarıyla sunucularda da çalışan programlama dilidir.
- [jQuery](https://softwaredictionary.org/tr/terimler/jquery): jQuery, öğe seçmeyi, olay yönetimini, animasyonu ve AJAX isteklerini tüm tarayıcılarda çalışan kısa bir sözdizimiyle kolaylaştıran JavaScript kütüphanesidir.
- [JSX](https://softwaredictionary.org/tr/terimler/jsx): JSX, kodun içine HTML benzeri işaretleme yazmayı sağlayan bir JavaScript sözdizimi uzantısıdır; çoğunlukla React ile arayüzün nasıl görüneceğini tarif eder.
- [Lazy Loading](https://softwaredictionary.org/tr/terimler/lazy-loading): Lazy loading, görsel, video, betik gibi kaynakların yüklenmesini gerçekten gerekene, genellikle görünür alana kaydırılana kadar erteleyen tekniktir.
- [Local Storage](https://softwaredictionary.org/tr/terimler/local-storage): Local storage, bir sitenin kullanıcının cihazında anahtar-değer çiftleriyle metin saklamasını sağlayan tarayıcı özelliğidir; veri tarayıcı kapansa da kalır.
- [Media Query](https://softwaredictionary.org/tr/terimler/media-query): Media query, stilleri yalnızca cihaz ya da tarayıcı ekran genişliği, yönelim veya koyu renk şeması gibi koşullara uyduğunda uygulayan CSS kuralıdır.
- [Minification](https://softwaredictionary.org/tr/terimler/minification): Minification, davranışı değiştirmeden boşlukları, yorumları ve uzun adları silerek kod dosyalarını küçülten işlemdir; böylece web sayfaları daha hızlı iner.
- [Next.js](https://softwaredictionary.org/tr/terimler/nextjs): Next.js, React'e yönlendirme, sunucu tarafı render, statik üretim ve sunucu kodu ekleyen bir framework'tür; bütün bir web uygulaması tek projede geliştirilir.
- [npm](https://softwaredictionary.org/tr/terimler/npm): npm, Node.js'in varsayılan paket yöneticisi ve dünyanın en büyük yazılım deposudur; bir projenin bağımlılıklarını indirir ve sürümlerini takip eder.
- [Polyfill](https://softwaredictionary.org/tr/terimler/polyfill): Polyfill, modern bir web özelliğini onu desteklemeyen eski tarayıcılara ekleyen koddur; böylece standart API her yerde özel durumlar olmadan kullanılabilir.
- [Progressive Enhancement](https://softwaredictionary.org/tr/terimler/progressive-enhancement): Progressive enhancement, herkes için çalışan temel bir sayfayla başlayıp tarayıcı desteklediğinde daha zengin özellikler ekleyen web tasarım stratejisidir.
- [PWA](https://softwaredictionary.org/tr/terimler/pwa): PWA, modern web API'leriyle geliştirilen, bir cihaza kurulabilen, çevrimdışı çalışabilen ve tek kod tabanından yerel uygulama gibi davranan bir web sitesidir.
- [React](https://softwaredictionary.org/tr/terimler/react): React, veri değişince otomatik güncellenen, yeniden kullanılabilir bileşenlerle kullanıcı arayüzü kurmaya yarayan açık kaynaklı JavaScript kütüphanesidir.
- [React Hook'ları](https://softwaredictionary.org/tr/terimler/react-hooks): React hook'ları, useState ve useEffect gibi, fonksiyon bileşenlerinin state tutmasını, yan etki çalıştırmasını ve mantık paylaşmasını sağlayan fonksiyonlardır.
- [Sanal DOM](https://softwaredictionary.org/tr/terimler/virtual-dom): Sanal DOM, sayfanın öğe ağacının JavaScript belleğinde tutulan hafif bir kopyasıdır; arayüz kütüphaneleri onu karşılaştırarak gerçek DOM'u verimli günceller.
- [SEO](https://softwaredictionary.org/tr/terimler/seo): SEO, arama motorlarının bir sitenin sayfalarını bulup anlaması ve ilgili aramalarda sıralaması için içeriği ve teknik altyapıyı iyileştirme pratiğidir.
- [Service Worker](https://softwaredictionary.org/tr/terimler/service-worker): Service worker, tarayıcının arka planda, sayfadan ayrı çalıştırdığı, ağ isteklerini yakalayıp çevrimdışı kullanımı ve push mesajlarını sağlayan betiktir.
- [SPA](https://softwaredictionary.org/tr/terimler/spa): SPA, tek bir HTML sayfası yükleyip içeriği JavaScript ile güncelleyen ve görünümler arası geçişte sayfayı yeniden yüklemeyen web uygulamasıdır.
- [SSG](https://softwaredictionary.org/tr/terimler/ssg): SSG, bir sitenin sayfalarını derleme zamanında düz HTML dosyalarına dönüştüren tekniktir; sunucular ya da CDN'ler bunları ek iş yapmadan anında sunabilir.
- [SSR](https://softwaredictionary.org/tr/terimler/ssr): SSR, sunucunun her istekte bir sayfanın tam HTML'ini oluşturduğu ve böylece kullanıcıların ile arama motorlarının hazır içeriği hemen aldığı tekniktir.
- [State Management](https://softwaredictionary.org/tr/terimler/state-management): State management (durum yönetimi), bir uygulamanın çalışırken değişen verileri nasıl saklayıp güncellediği, paylaştığı ve arayüzü bunlarla senkron tuttuğudur.
- [Svelte](https://softwaredictionary.org/tr/terimler/svelte): Svelte, tarayıcıda büyük bir framework çalıştırmak yerine bileşenleri derleme sırasında küçük, verimli JavaScript'e derleyen bir ön yüz framework'üdür.
- [Tailwind CSS](https://softwaredictionary.org/tr/terimler/tailwind-css): Tailwind CSS, utility-first bir CSS framework'üdür: özel stil dosyaları yerine öğeleri doğrudan HTML'de küçük, tek amaçlı sınıflarla biçimlendirirsiniz.
- [Throttling](https://softwaredictionary.org/tr/terimler/throttling): Throttling, bir fonksiyonu ne kadar sık çağrılırsa çağrılsın aralık başına en fazla bir kez çalıştırır; böylece kaydırma işleyicileri düzenli güncellenir.
- [Transpiler](https://softwaredictionary.org/tr/terimler/transpiler): Transpiler, kaynak kodu bir dilden ya da dil sürümünden benzer soyutlama düzeyindeki bir başkasına, örneğin TypeScript'ten JavaScript'e çeviren araçtır.
- [Tree Shaking](https://softwaredictionary.org/tr/terimler/tree-shaking): Tree shaking, hangi ES modül dışa aktarımlarının gerçekten import edildiğine bakarak hiç kullanılmayan kodu son paketten çıkaran bir derleme optimizasyonudur.
- [TypeScript](https://softwaredictionary.org/tr/terimler/typescript): TypeScript, JavaScript üzerine statik tipler ekleyerek birçok hatayı kod çalışmadan yakalayan ve düz JavaScript'e derlenen bir programlama dilidir.
- [UI Bileşeni](https://softwaredictionary.org/tr/terimler/ui-component): UI bileşeni, buton, form ya da kart gibi arayüzün yeniden kullanılabilen bir parçasıdır; işaretlemesini, stilini ve davranışını bir arada taşır.
- [URL](https://softwaredictionary.org/tr/terimler/url): URL, web'deki bir kaynağın adresidir; şema, sunucu adı, yol ve sorgu dizesi gibi bölümlerden oluşur ve tarayıcıya kaynağın nereden, nasıl alınacağını söyler.
- [Vite](https://softwaredictionary.org/tr/terimler/vite): Vite, geliştirmede kodu tarayıcıya neredeyse anında sunan ve canlı ortam için optimize edilmiş dosyalar halinde paketleyen hızlı bir web derleme aracıdır.
- [Vue](https://softwaredictionary.org/tr/terimler/vue): Vue, kolay öğrenilmesi ve reaktif verisiyle bilinen, bileşenlerden kullanıcı arayüzü kurmaya yarayan açık kaynaklı bir JavaScript framework'üdür.
- [Web Erişilebilirliği](https://softwaredictionary.org/tr/terimler/web-accessibility): Web erişilebilirliği, ekran okuyucu, klavye, altyazı ya da yakınlaştırma kullananlar dahil herkesin kullanabildiği web siteleri geliştirme pratiğidir.
- [Web Tarayıcısı](https://softwaredictionary.org/tr/terimler/browser): Web tarayıcısı, sunuculardan web sayfalarını alıp HTML, CSS ve JavaScript'i ekranda gördüğünüz etkileşimli sayfalara dönüştüren uygulamadır.
- [Web Worker](https://softwaredictionary.org/tr/terimler/web-worker): Web worker, JavaScript'i bir arka plan iş parçacığında çalıştıran tarayıcı özelliğidir; böylece ağır hesaplamalar çalışırken sayfanın arayüzü donmaz.
- [WebAssembly](https://softwaredictionary.org/tr/terimler/webassembly): WebAssembly, web tarayıcılarında yerele yakın hızda çalışan ve C++, Rust, Go gibi dillerle hızlı web kodu yazılmasını sağlayan kompakt bir ikili kod biçimidir.
- [Webpack](https://softwaredictionary.org/tr/terimler/webpack): Webpack, uygulamanın import'larını izleyip JavaScript, CSS, görsel ve diğer dosyaları tarayıcıya uygun paketlerde birleştiren modül paketleyicisidir.
- [WebSocket](https://softwaredictionary.org/tr/terimler/websocket): WebSocket, tarayıcı ile sunucu arasında tek bir bağlantıyı açık tutarak her iki tarafın istediği an birbirine anında mesaj göndermesini sağlayan protokoldür.

## Backend ve API'ler

Sunucu tarafı servisler, API tasarımı ve yazılım sistemlerinin birbiriyle konuşma yolları. [Bütün Backend ve API'ler terimleri](https://softwaredictionary.org/tr/kutuphane/backend)

- [.NET](https://softwaredictionary.org/tr/terimler/dotnet): .NET, Microsoft'un başta C# ile web, masaüstü, mobil, bulut ve oyun uygulamaları geliştirmeye yarayan ücretsiz ve açık kaynaklı platformudur.
- [API](https://softwaredictionary.org/tr/terimler/api): API, bir yazılımın başka bir yazılımdan veri ya da işlem talep etmesini sağlayan, belgelenmiş ve öngörülebilir kurallar bütünüdür.
- [API Gateway](https://softwaredictionary.org/tr/terimler/api-gateway): API gateway, bir grup backend servisinin önünde duran ve API isteklerini alan, kontrol eden ve yönlendiren tek giriş noktası görevi gören bir sunucudur.
- [API Versioning](https://softwaredictionary.org/tr/terimler/api-versioning): API versioning, bir API'deki değişiklikleri etiketleyip yönetmektir; mevcut istemciler çalışmaya devam ederken yeni sürümler özellik ekler veya değiştirir.
- [Arka Plan İşi](https://softwaredictionary.org/tr/terimler/background-job): Arka plan işi, bir sunucunun normal istek-yanıt döngüsünün dışında çalıştırdığı görevdir; e-posta gönderme gibi yavaş işler kullanıcıları bekletmez.
- [Backend](https://softwaredictionary.org/tr/terimler/backend): Backend, bir uygulamanın sunucu tarafıdır: veriyi saklayan, iş kurallarını uygulayan ve frontend'in isteklerine cevap veren kod, veritabanları ve servisler.
- [Backpressure](https://softwaredictionary.org/tr/terimler/backpressure): Backpressure, yavaş tüketicinin hızlı üreticiye yavaşlaması için sinyal vermesini sağlayan, verinin işlenebileceğinden hızlı birikmesini önleyen mekanizmadır.
- [Cron Job](https://softwaredictionary.org/tr/terimler/cron-job): Cron job, beş alanlı bir cron ifadesiyle tanımlanan ve her gece 02.00 gibi tekrarlayan bir zamanlamayla otomatik çalışan bir komut veya betiktir.
- [CRUD](https://softwaredictionary.org/tr/terimler/crud): CRUD, oluşturma, okuma, güncelleme ve silmenin kısaltmasıdır; veritabanı, API ve çoğu iş uygulamasında saklı verilerle çalışmanın dört temel işlemidir.
- [Django](https://softwaredictionary.org/tr/terimler/django): Django, ORM, yönetim paneli, kimlik doğrulama ve güvenlik korumalarıyla gelen açık kaynaklı bir Python web framework'üdür; bu sayede ekipler hızlı geliştirir.
- [Endpoint](https://softwaredictionary.org/tr/terimler/endpoint): Endpoint, bir API'nin belirli bir kaynak veya eylem için istek alıp yanıt döndürdüğü, bir HTTP metoduyla birlikte kullanılan belirli bir URL'dir.
- [Event Loop](https://softwaredictionary.org/tr/terimler/event-loop): Event loop, olaylar ve I/O sonuçları hazır oldukça callback'leri tek tek çalıştırarak tek bir iş parçacığının birçok görevi yönetmesini sağlayan mekanizmadır.
- [Event Streaming](https://softwaredictionary.org/tr/terimler/event-streaming): Event streaming, olayları birçok uygulamanın gerçek zamanlı okuyup yeniden oynatabildiği ve işleyebildiği sürekli, sıralı, kalıcı bir log olarak kaydetmektir.
- [Exponential Backoff](https://softwaredictionary.org/tr/terimler/exponential-backoff): Exponential backoff, her başarısız denemeden sonra 1, 2, 4, 8 saniye gibi giderek daha uzun bekleyen yeniden deneme stratejisidir; zorlanan servis toparlanır.
- [Express](https://softwaredictionary.org/tr/terimler/express): Express, en yaygın Node.js web framework'üdür: yönlendirmeyi, istekleri ve yanıtları bir middleware fonksiyonları zinciriyle ele alan minimal bir katmandır.
- [FastAPI](https://softwaredictionary.org/tr/terimler/fastapi): FastAPI, standart tür ipuçlarıyla istekleri doğrulayan, veriyi dönüştüren ve OpenAPI dokümantasyonunu otomatik üreten modern bir Python API framework'üdür.
- [Flask](https://softwaredictionary.org/tr/terimler/flask): Flask, yönlendirme, istek işleme ve şablonlar sağlayan, veritabanı ve proje yapısı gibi seçimleri geliştiriciye bırakan hafif bir Python web framework'üdür.
- [GraphQL](https://softwaredictionary.org/tr/terimler/graphql): GraphQL, istemcilerin tam ihtiyaç duyduğu veriyi, çoğunlukla tek bir endpoint üzerinden tek istekte istemesini sağlayan API sorgu dili ve çalışma zamanıdır.
- [gRPC](https://softwaredictionary.org/tr/terimler/grpc): gRPC, uzak sunucudaki fonksiyonları yerelmiş gibi çağırmaya yarayan açık kaynaklı framework'tür; Protocol Buffers ve HTTP/2 ile hızlı, tipli mesajlar taşır.
- [Health Check](https://softwaredictionary.org/tr/terimler/health-check): Health check, bir servisin çalışır durumda olup olmadığını ve isteklere yanıt verebildiğini bildiren, genelde bir HTTP endpoint'i olan küçük otomatik testtir.
- [HTTP Caching](https://softwaredictionary.org/tr/terimler/http-caching): HTTP caching, saklanan HTTP yanıtlarının tarayıcılar, CDN'ler ve proxy'ler tarafından, Cache-Control ve ETag başlıklarıyla denetlenerek yeniden kullanılmasıdır.
- [HTTP Metodu](https://softwaredictionary.org/tr/terimler/http-method): HTTP metodu, bir HTTP isteğindeki GET, POST, PUT, PATCH veya DELETE gibi fiildir ve sunucuya istenen kaynak üzerinde hangi eylemin yapılacağını söyler.
- [Idempotency](https://softwaredictionary.org/tr/terimler/idempotency): Idempotency, bir işlemin bir kez de çalışsa çok kez de çalışsa aynı sonucu üretmesi özelliğidir; böylece bir isteğin yanlışlıkla tekrarlanması güvenli olur.
- [JSON](https://softwaredictionary.org/tr/terimler/json): JSON, yapılandırılmış veriyi anahtar-değer çiftleri ve listelerle saklayıp aktarmaya yarayan, insanın da makinenin de okuyabildiği hafif bir metin biçimidir.
- [Kafka](https://softwaredictionary.org/tr/terimler/kafka): Apache Kafka, olayları kalıcı, sıralı log'larda tutan dağıtık olay akışı platformudur; servisler onları yayımlar, gerçek zamanlı okur ya da yeniden oynatır.
- [Laravel](https://softwaredictionary.org/tr/terimler/laravel): Laravel, tam web uygulamaları için zarif sözdizimli PHP framework'üdür; yönlendirme, Eloquent ORM, kimlik doğrulama, kuyruklar ve migration'lar yerleşiktir.
- [Long Polling](https://softwaredictionary.org/tr/terimler/long-polling): Long polling, istemcinin gönderdiği isteği sunucunun yeni veri hazır olana kadar açık tuttuğu, düz HTTP üzerinden gerçek zamanlı push'u taklit eden tekniktir.
- [Mesaj Kuyruğu](https://softwaredictionary.org/tr/terimler/message-queue): Mesaj kuyruğu, bir servisten gelen mesajları bir başkası işlemeye hazır olana kadar saklayan ve sistemin parçalarını eşzamansız çalıştıran bir bileşendir.
- [Middleware](https://softwaredictionary.org/tr/terimler/middleware): Middleware, bir sistemin iki katmanı arasında duran yazılımdır; bir web sunucusunda çoğunlukla gelen istek ile son yanıt arasında çalışan koddur.
- [Nginx](https://softwaredictionary.org/tr/terimler/nginx): Nginx, uygulama sunucularının önünde ters proxy, yük dengeleyici ve HTTP önbelleği olarak da çok kullanılan, hızlı ve açık kaynaklı bir web sunucusudur.
- [Node.js](https://softwaredictionary.org/tr/terimler/nodejs): Node.js, JavaScript'i tarayıcı dışında çalıştıran, en çok web sunucuları, API'ler ve komut satırı araçları için kullanılan açık kaynaklı çalışma ortamıdır.
- [OpenAPI](https://softwaredictionary.org/tr/terimler/openapi): OpenAPI, HTTP API'lerini bir YAML veya JSON dosyasında tanımlayan açık bir standarttır; insanlar ve araçlar her endpoint'i, parametreyi ve yanıtı anlayabilir.
- [Oturum](https://softwaredictionary.org/tr/terimler/session): Oturum, sunucunun bir kullanıcıyı birçok istek boyunca hatırlama yöntemidir; genellikle veriler sunucuda tutulur ve tarayıcıya bir oturum kimliği verilir.
- [Önbellek](https://softwaredictionary.org/tr/terimler/cache): Önbellek, sık kullanılan verilerin kopyalarını tutan hızlı ve geçici bir depolama katmanıdır; sonraki istekler yavaş işi tekrarlamadan hızla karşılanır.
- [Pub/Sub](https://softwaredictionary.org/tr/terimler/pub-sub): Pub/sub, yayıncıların konulara mesaj gönderdiği ve bir konunun her abonesinin, iki taraf da birbirini tanımadan bir kopya aldığı bir mesajlaşma kalıbıdır.
- [RabbitMQ](https://softwaredictionary.org/tr/terimler/rabbitmq): RabbitMQ, üreticilerin mesajlarını exchange'ler üzerinden kuyruklara yönlendiren açık kaynaklı mesaj aracısıdır; tüketiciler onları alıp işi bitince onaylar.
- [Rate Limiting](https://softwaredictionary.org/tr/terimler/rate-limiting): Rate limiting, istemcinin belli bir sürede yapabileceği istek sayısını sınırlayıp sunucuyu ya da API'yi kötüye kullanımdan ve aşırı yükten koruyan tekniktir.
- [REST API](https://softwaredictionary.org/tr/terimler/rest-api): REST API, verileri URL'lerle tanımlanan kaynaklar olarak sunan ve istemcilerin onları standart HTTP metotlarıyla okuyup değiştirmesini sağlayan web API'sidir.
- [RPC](https://softwaredictionary.org/tr/terimler/rpc): RPC, bir programın başka bir makinede çalışan fonksiyonu yerel bir fonksiyonmuş gibi çağırdığı ve aradaki ağı gizleyen bir iletişim stilidir.
- [Ruby on Rails](https://softwaredictionary.org/tr/terimler/ruby-on-rails): Ruby on Rails, yapılandırma yerine kuralı öne çıkaran, Ruby için tam yığın web framework'üdür; veritabanı destekli web uygulamaları onunla hızla kurulabilir.
- [Sayfalama](https://softwaredictionary.org/tr/terimler/pagination): Sayfalama, büyük bir sonuç kümesini daha küçük sayfalara bölme uygulamasıdır; böylece bir API veya web sitesi her istekte yönetilebilir sayıda öğe döndürür.
- [Serileştirme](https://softwaredictionary.org/tr/terimler/serialization): Serileştirme, bellekteki veri yapılarını JSON ya da bayt gibi bir biçime dönüştürme işlemidir; böylece veriler saklanabilir veya ağ üzerinden gönderilebilir.
- [Server-Sent Events](https://softwaredictionary.org/tr/terimler/server-sent-events): Server-Sent Events, sunucunun tarayıcıya tek bir uzun ömürlü HTTP bağlantısı üzerinden sürekli metin güncellemeleri göndermesini sağlayan web standardıdır.
- [SOAP](https://softwaredictionary.org/tr/terimler/soap): SOAP, her isteği ve yanıtı genellikle resmi bir WSDL sözleşmesiyle tanımlanan katı bir zarfa saran, XML tabanlı bir web servisi mesajlaşma protokolüdür.
- [Spring Boot](https://softwaredictionary.org/tr/terimler/spring-boot): Spring Boot, otomatik yapılandırma ve gömülü web sunucusuyla Spring üzerinde production'a hazır servisleri hızla kurmayı sağlayan Java framework'üdür.
- [Web Sunucusu](https://softwaredictionary.org/tr/terimler/web-server): Web sunucusu, tarayıcılardan ve diğer istemcilerden gelen HTTP isteklerini alıp sayfa, dosya ya da veriyle yanıt veren yazılım veya onu çalıştıran makinedir.
- [Webhook](https://softwaredictionary.org/tr/terimler/webhook): Webhook, bir uygulamanın, tamamlanan bir ödeme gibi belirli bir olay gerçekleştiği anda sizin verdiğiniz bir URL'ye otomatik olarak gönderdiği HTTP isteğidir.
- [XML](https://softwaredictionary.org/tr/terimler/xml): XML (Extensible Markup Language), kendi tanımladığınız iç içe etiketlerle yapılandırılmış veriyi tutan, insanın ve makinenin okuyabildiği metin biçimidir.

## Veritabanları

Verinin nasıl saklandığı, sorgulandığı ve tutarlı tutulduğu: SQL, NoSQL, indeksler ve transaction'lar. [Bütün Veritabanları terimleri](https://softwaredictionary.org/tr/kutuphane/databases)

- [ACID](https://softwaredictionary.org/tr/terimler/acid): ACID; atomiklik, tutarlılık, yalıtım ve dayanıklılıktan oluşan, hata ya da çökme olsa bile veritabanı transaction'larını güvenilir tutan dört garantidir.
- [Birincil Anahtar](https://softwaredictionary.org/tr/terimler/primary-key): Birincil anahtar, bir veritabanı tablosundaki her satırı benzersiz biçimde tanımlayan, asla boş ya da tekrarlı olamayan bir sütun veya sütun kümesidir.
- [CAP Teoremi](https://softwaredictionary.org/tr/terimler/cap-theorem): CAP teoremi, ağ arızası dağıtık bir veritabanını böldüğünde sistemin tutarlılık ile erişilebilirlikten birini seçmesi gerektiğini söyler; ikisi birden olamaz.
- [Connection Pool](https://softwaredictionary.org/tr/terimler/connection-pool): Connection pool, bir uygulamanın istekler arasında yeniden kullandığı açık veritabanı bağlantıları önbelleğidir; her seferinde bağlantı açma maliyetini önler.
- [Çizge Veritabanı](https://softwaredictionary.org/tr/terimler/graph-database): Çizge veritabanı, veriyi ilişkilerle bağlı düğümler olarak saklar; arkadaşların arkadaşları ya da öğe bağımlılıkları gibi bağlantıları izlemeyi hızlandırır.
- [Data Lake](https://softwaredictionary.org/tr/terimler/data-lake): Data lake, büyük miktarda ham veriyi, yapılandırılmış olsun ya da olmasın, biri analiz etmek isteyene kadar özgün biçiminde tutan merkezi bir depolama alanıdır.
- [Data Warehouse](https://softwaredictionary.org/tr/terimler/data-warehouse): Data warehouse, birçok kaynaktan geçmiş veriyi toplayan ve ekiplerin büyük raporlama sorgularını hızla çalıştırdığı analitik amaçlı merkezi bir veritabanıdır.
- [Denormalizasyon](https://softwaredictionary.org/tr/terimler/denormalization): Denormalizasyon, sık okumalar daha az birleştirme gerektirsin diye verinin tablo ya da dokümanlara bilerek çoğaltılmasıdır; bedeli daha karmaşık yazmalardır.
- [Doküman Veritabanı](https://softwaredictionary.org/tr/terimler/document-database): Doküman veritabanı, kayıtları genellikle JSON benzeri, kendi içinde bütün dokümanlar olarak saklayan, alanları kayıttan kayda değişebilen NoSQL veritabanıdır.
- [DynamoDB](https://softwaredictionary.org/tr/terimler/dynamodb): Amazon DynamoDB, öğeleri anahtarla saklayan, otomatik ölçeklenen ve sorguları tek haneli milisaniyelerde yanıtlayan, AWS'de tam yönetilen NoSQL veritabanıdır.
- [Elasticsearch](https://softwaredictionary.org/tr/terimler/elasticsearch): Elasticsearch, JSON belgelerini indeksleyip büyük veri üzerinde hızlı tam metin arama, filtreleme ve toplama yapan dağıtık bir arama ve analiz motorudur.
- [ETL](https://softwaredictionary.org/tr/terimler/etl): ETL, kaynak sistemlerden veriyi çıkaran, temiz ve tutarlı bir biçime dönüştüren ve bir hedef depoya yükleyen bir veri entegrasyonu sürecidir.
- [Firebase](https://softwaredictionary.org/tr/terimler/firebase): Firebase, Google'ın web ve mobil uygulamalara veritabanı, kimlik doğrulama, depolama, hosting ve fonksiyonları backend yönetmeden sunan platformudur.
- [İlişkisel Veritabanı](https://softwaredictionary.org/tr/terimler/relational-database): İlişkisel veritabanı, veriyi satır ve sütunlardan oluşan tablolarda saklar, tabloları anahtarlarla bağlar ve veriyi SQL ile sorgulayıp birleştirmeyi sağlar.
- [İyimser Kilitleme](https://softwaredictionary.org/tr/terimler/optimistic-locking): İyimser kilitleme, transaction'ları kilit tutmadan ilerleten ve çakışmaları kayıt anında sürüm numarasına bakarak yakalayan bir eşzamanlılık tekniğidir.
- [Key-Value Store](https://softwaredictionary.org/tr/terimler/key-value-store): Key-value store, her veriyi benzersiz bir anahtar altında saklayan bir NoSQL veritabanıdır; uygulama veriyi bu anahtarla çok hızlı okuyup yazabilir.
- [MongoDB](https://softwaredictionary.org/tr/terimler/mongodb): MongoDB, veriyi tablo satırı yerine esnek, JSON benzeri belgelerde saklayan bir belge veritabanıdır; aynı koleksiyondaki kayıtların alanları farklı olabilir.
- [MySQL](https://softwaredictionary.org/tr/terimler/mysql): MySQL, SQL ile sorgulanan popüler, açık kaynaklı bir ilişkisel veritabanıdır; uzun süredir WordPress'in ve klasik LAMP yığınının veritabanı olarak bilinir.
- [N+1 Sorgu Sorunu](https://softwaredictionary.org/tr/terimler/n-plus-one-query): N+1 sorgu sorunu, kodun bir listeyi tek sorguyla yükleyip sonra her öğe için bir sorgu daha çalıştırdığı, hepsini birden getirmediği bir performans hatasıdır.
- [Nihai Tutarlılık](https://softwaredictionary.org/tr/terimler/eventual-consistency): Nihai tutarlılık, yeni güncelleme yapılmazsa dağıtık bir sistemdeki bir verinin tüm kopyalarının zamanla özdeş hale geleceğine dair bir garantidir.
- [NoSQL](https://softwaredictionary.org/tr/terimler/nosql): NoSQL, veriyi ilişkisel tablolar yerine doküman, anahtar-değer çifti, geniş sütun ya da çizge gibi başka modellerde saklayan veritabanı ailesidir.
- [OLAP](https://softwaredictionary.org/tr/terimler/olap): OLAP (online analytical processing), büyük miktarda geçmiş veri üzerindeki karmaşık analitik sorulara hızla yanıt vermek için kurulmuş sistemleri anlatır.
- [OLTP](https://softwaredictionary.org/tr/terimler/oltp): OLTP (online transaction processing), sipariş vermek gibi günlük işlemlerin çok sayıda küçük, hızlı okuma ve yazması için kurulmuş veritabanlarını anlatır.
- [ORM](https://softwaredictionary.org/tr/terimler/orm): ORM, veritabanı tablolarını programlama dilinizdeki nesnelere eşleyen ve ham SQL yerine kodla veri okuyup yazmanızı sağlayan bir kütüphanedir.
- [Partitioning](https://softwaredictionary.org/tr/terimler/partitioning): Partitioning (bölümleme), büyük bir tabloyu tarih aralığı gibi bir kurala göre partition'lara böler; sorgular ilgisiz veriyi atlar, eski veri kolayca silinir.
- [PostgreSQL](https://softwaredictionary.org/tr/terimler/postgresql): PostgreSQL, güvenilirliği, standartlara sıkı uyumu ve eklentileriyle bilinen ücretsiz, açık kaynaklı ilişkisel veritabanıdır; web uygulamalarında yaygındır.
- [Redis](https://softwaredictionary.org/tr/terimler/redis): Redis, okuma ve yazmayı milisaniyenin çok altında yapan bellek içi bir anahtar-değer deposudur; önbellek, oturum deposu ve mesaj aracısı olarak yaygındır.
- [Sharding](https://softwaredictionary.org/tr/terimler/sharding): Sharding, bir veritabanının verisini shard adı verilen birkaç sunucuya bölerek ölçeklendirme yöntemidir; her biri toplamın yalnızca bir kısmını saklar ve işler.
- [SQL](https://softwaredictionary.org/tr/terimler/sql): SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
- [SQL JOIN](https://softwaredictionary.org/tr/terimler/sql-join): SQL JOIN, iki ya da daha fazla tablonun satırlarını yabancı anahtar gibi ilişkili sütunlar üzerinden eşleştirerek tek bir sonuçta birleştiren sorgu işlemidir.
- [SQL Server](https://softwaredictionary.org/tr/terimler/sql-server): Microsoft SQL Server, T-SQL lehçesiyle sorgulanan, iş uygulamalarında özellikle .NET ve Windows ile yaygın kullanılan, Microsoft'un ilişkisel veritabanıdır.
- [SQLite](https://softwaredictionary.org/tr/terimler/sqlite): SQLite, uygulamanızın içinde çalışan ve bütün bir veritabanını tek bir dosyada saklayan küçük bir SQL veritabanı motorudur; yönetilecek ayrı sunucu yoktur.
- [Stored Procedure](https://softwaredictionary.org/tr/terimler/stored-procedure): Stored procedure, veritabanında saklanan adlandırılmış bir SQL ifadeleri kümesidir; uygulamalar her sorguyu göndermek yerine onu tek çağrıyla çalıştırabilir.
- [Supabase](https://softwaredictionary.org/tr/terimler/supabase): Supabase, veritabanı, kimlik doğrulama, depolama, gerçek zamanlı güncelleme ve anında API sunan, PostgreSQL tabanlı açık kaynaklı bir backend platformudur.
- [Tam Metin Arama](https://softwaredictionary.org/tr/terimler/full-text-search): Tam metin arama, verilen sözcükleri ya da ifadeleri içeren dokümanları bir metin indeksinde arayarak bulan ve sonuçları alaka düzeyine göre sıralayan tekniktir.
- [Transaction](https://softwaredictionary.org/tr/terimler/transaction): Transaction, tek bir bütün olarak başarılı ya da başarısız olan veritabanı işlemleri grubudur; böylece veri asla yarım kalmış, tutarsız bir durumda bırakılmaz.
- [Veritabanı](https://softwaredictionary.org/tr/terimler/database): Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- [Veritabanı İndeksi](https://softwaredictionary.org/tr/terimler/database-index): Veritabanı indeksi, tüm tabloyu taramadan satırları hızla bulmayı sağlayan, bir kitabın sonundaki dizine benzeyen bir veri yapısıdır.
- [Veritabanı Migration'ı](https://softwaredictionary.org/tr/terimler/database-migration): Veritabanı migration'ı, bir sütun eklemek gibi veritabanı şemasını değiştiren sürümlü bir betiktir; her ortam aynı değişiklikleri aynı sırayla uygular.
- [Veritabanı Normalizasyonu](https://softwaredictionary.org/tr/terimler/normalization): Veritabanı normalizasyonu, her bilginin yalnızca bir kez saklanması için tabloları düzenleme sürecidir; tekrarlı veriyi azaltıp tutarsız güncellemeleri önler.
- [Veritabanı Replikasyonu](https://softwaredictionary.org/tr/terimler/replication): Veritabanı replikasyonu, verinin bir sunucudan diğerlerine sürekli kopyalanmasıdır; böylece birkaç sunucu güvenilirlik ve ölçek için aynı veriyi tutar.
- [Veritabanı Şeması](https://softwaredictionary.org/tr/terimler/schema): Veritabanı şeması, bir veritabanının tablolarını, sütunlarını, veri türlerini, ilişkilerini ve saklanan verinin uyması gereken kuralları tanımlayan planıdır.
- [Veritabanı Trigger'ı](https://softwaredictionary.org/tr/terimler/database-trigger): Veritabanı trigger'ı, bir tabloda ekleme, güncelleme ya da silme gibi seçilmiş bir olay gerçekleştiğinde otomatik çalışan, veritabanında saklanan koddur.
- [Veritabanı View'ı](https://softwaredictionary.org/tr/terimler/database-view): Veritabanı view'ı, sanal bir tablo gibi davranan kayıtlı bir SQL sorgusudur; alttaki sorguyu her seferinde tekrarlamak yerine ondan adıyla seçim yapabilirsiniz.
- [Yabancı Anahtar](https://softwaredictionary.org/tr/terimler/foreign-key): Yabancı anahtar, bir veritabanı tablosunda başka bir tablonun birincil anahtarına başvuran sütundur; ilişkili satırları bağlar ve başvuruları geçerli tutar.
- [Yalıtım Düzeyi](https://softwaredictionary.org/tr/terimler/isolation-level): Yalıtım düzeyi, eşzamanlı transaction'ların birbirinin değişikliklerini ne kadar görebileceğini belirleyen ve katılıkla hızı dengeleyen veritabanı ayarıdır.
- [Zaman Serisi Veritabanı](https://softwaredictionary.org/tr/terimler/time-series-database): Zaman serisi veritabanı, sensör okumaları ya da metrikler gibi zaman damgalı ölçümleri sırayla saklayıp sorgulamak için optimize edilmiş bir veritabanıdır.

## DevOps ve Bulut

Yazılımı derlemek, test etmek, paketlemek ve canlı ortama göndermek için kullanılan araçlar ve pratikler. [Bütün DevOps ve Bulut terimleri](https://softwaredictionary.org/tr/kutuphane/devops)

- [Ansible](https://softwaredictionary.org/tr/terimler/ansible): Ansible, YAML playbook'larını ajan kurmadan SSH üzerinden çalıştırarak sunucuları yapılandıran ve uygulama dağıtan açık kaynaklı bir otomasyon aracıdır.
- [AWS](https://softwaredictionary.org/tr/terimler/aws): AWS (Amazon Web Services), Amazon'un bulut platformudur; sunucu, depolama, veritabanı ve çok daha fazlası için kullandıkça ödenen 200'den fazla servis sunar.
- [Azure](https://softwaredictionary.org/tr/terimler/azure): Microsoft Azure, sanal makineler, veritabanları ve yapay zekâ modelleri gibi yüzlerce isteğe bağlı servis sunan, Microsoft'un küresel bulut platformudur.
- [Blue-Green Deployment](https://softwaredictionary.org/tr/terimler/blue-green-deployment): Blue-green deployment, iki özdeş canlı ortam kullanan ve tüm trafiği eski sürümden yeni sürüme tek seferde geçiren bir yayın stratejisidir.
- [Bulut Bilişim](https://softwaredictionary.org/tr/terimler/cloud-computing): Bulut bilişim, sunucu, depolama ve veritabanı gibi bilişim kaynaklarının internet üzerinden, kullandığın kadar öde modeliyle talep üzerine sunulmasıdır.
- [Canary Deployment](https://softwaredictionary.org/tr/terimler/canary-deployment): Canary deployment, yeni bir yazılım sürümünü önce kullanıcıların küçük bir bölümüne sunar, sağlığını kontrol eder ve ardından kademeli olarak herkese yayar.
- [CDN](https://softwaredictionary.org/tr/terimler/cdn): CDN, dünyanın dört bir yanına yayılmış ve web sitesi içeriğinin kopyalarını saklayıp her kullanıcıya en yakın konumdan sunan bir sunucu ağıdır.
- [Chaos Engineering](https://softwaredictionary.org/tr/terimler/chaos-engineering): Chaos engineering, bir sisteme sunucu çökertmek gibi kasıtlı arızalar enjekte ederek sistemin beklendiği gibi çalışmaya devam ettiğini doğrulama pratiğidir.
- [CI/CD](https://softwaredictionary.org/tr/terimler/ci-cd): CI/CD, kod değişikliklerini sık sık derleyen, test eden ve yayınlayan otomatik pratikler bütünüdür; yazılım kullanıcılara hızlı ve güvenli biçimde ulaşır.
- [Container Registry](https://softwaredictionary.org/tr/terimler/container-registry): Container registry, konteyner imajları için bir depolama ve dağıtım hizmetidir; ekipler derlenmiş imajları push eder, onları çalıştıran her sunucuya pull eder.
- [Dağıtık İzleme](https://softwaredictionary.org/tr/terimler/distributed-tracing): Dağıtık izleme, tek bir isteği birçok servis boyunca takip eden; her adımın ne kadar sürdüğünü ve nerede başarısız olduğunu kaydeden bir tekniktir.
- [Değiştirilemez Altyapı](https://softwaredictionary.org/tr/terimler/immutable-infrastructure): Değiştirilemez altyapı, sunucuların dağıtımdan sonra hiç değiştirilmediği, her güncellemede yerlerine sıfırdan kurulan yenilerinin geldiği bir yaklaşımdır.
- [DevOps](https://softwaredictionary.org/tr/terimler/devops): DevOps, yazılım geliştirme ile BT operasyonlarını birleştirerek yazılımın daha hızlı ve güvenilir sunulmasını sağlayan bir kültür ve pratikler bütünüdür.
- [DNS](https://softwaredictionary.org/tr/terimler/dns): DNS, internetin adlandırma sistemidir; example.com gibi insanın okuyabileceği alan adlarını bilgisayarların kullandığı sayısal IP adreslerine çevirir.
- [Docker](https://softwaredictionary.org/tr/terimler/docker): Docker, bir uygulamayı ve ihtiyaç duyduğu her şeyi, her makinede aynı şekilde çalışan bir konteyner içinde paketlemeye yarayan açık kaynaklı bir platformdur.
- [Docker Compose](https://softwaredictionary.org/tr/terimler/docker-compose): Docker Compose, web sunucusu ve veritabanı gibi birkaç container'dan oluşan uygulamaları tek bir YAML dosyası ve tek komutla tanımlayıp çalıştıran araçtır.
- [Edge Computing](https://softwaredictionary.org/tr/terimler/edge-computing): Edge computing, gecikmeyi azaltmak için kodu ve veriyi uzak bir merkezi veri merkezi yerine kullanıcıların ya da cihazların yakınında çalıştırıp işlemektir.
- [Feature Flag](https://softwaredictionary.org/tr/terimler/feature-flag): Feature flag, koddaki bir özelliği çalışma zamanında açıp kapatan bir anahtardır; ekipler kodu herkese aynı anda yayınlamadan dağıtabilir.
- [GitHub Actions](https://softwaredictionary.org/tr/terimler/github-actions): GitHub Actions, GitHub'ın yerleşik otomasyon platformudur; depodaki YAML iş akışları push ya da pull request olduğunda test, derleme ve dağıtım çalıştırır.
- [GitOps](https://softwaredictionary.org/tr/terimler/gitops): GitOps, sistemin istenen durumunu Git'te tutan ve otomatik bir ajanın canlı sistemi bununla senkronize ettiği bir altyapı ve dağıtım yönetimi yöntemidir.
- [Google Cloud](https://softwaredictionary.org/tr/terimler/google-cloud): Google Cloud, Google'ın kendi ürünlerini çalıştıran küresel altyapıda hesaplama, depolama, veri ve yapay zekâ servisleri sunan genel bulut platformudur.
- [Gözlemlenebilirlik](https://softwaredictionary.org/tr/terimler/observability): Gözlemlenebilirlik, çalışan bir yazılım sisteminin içinde olup biteni log, metrik ve trace verilerini toplayıp analiz ederek anlayabilme yeteneğidir.
- [Grafana](https://softwaredictionary.org/tr/terimler/grafana): Grafana; birçok veri kaynağındaki metrik, log ve izleri tek yerde canlı grafiklere ve uyarılara dönüştüren panolar kurmaya yarayan açık kaynaklı bir araçtır.
- [Helm](https://softwaredictionary.org/tr/terimler/helm): Helm, Kubernetes'in paket yöneticisidir; uygulamanın yapılandırma dosyalarını tek komutla kurulup güncellenebilen ve geri alınabilen bir chart'ta paketler.
- [IaaS](https://softwaredictionary.org/tr/terimler/iaas): IaaS (infrastructure as a service), sanal makine, depolama ve ağı isteğe bağlı kiralayıp işletim sistemini ve üstünü kendiniz yönettiğiniz bulut modelidir.
- [Jenkins](https://softwaredictionary.org/tr/terimler/jenkins): Jenkins, yazılımı pipeline'larla derleyen, test eden ve dağıtan açık kaynaklı bir otomasyon sunucusudur; en eski ve en yaygın CI/CD araçlarından biridir.
- [Kod Olarak Altyapı](https://softwaredictionary.org/tr/terimler/infrastructure-as-code): Kod olarak altyapı, sunucuları, ağları ve diğer altyapıyı araçların otomatik uyguladığı, sürüm kontrolündeki dosyalarda tanımlama pratiğidir.
- [Konteyner](https://softwaredictionary.org/tr/terimler/container): Konteyner, bir uygulamayı bağımlılıklarıyla paketleyip ana makinenin paylaşılan işletim sistemi çekirdeği üzerinde çalıştıran hafif, yalıtılmış bir pakettir.
- [kubectl](https://softwaredictionary.org/tr/terimler/kubectl): kubectl, Kubernetes'in komut satırı aracıdır: uygulamaları dağıtmak, incelemek ve değiştirmek için bir cluster'ın API sunucusuna istek gönderir.
- [Kubernetes](https://softwaredictionary.org/tr/terimler/kubernetes): Kubernetes, konteynerli uygulamaların bir makine kümesi üzerinde dağıtılmasını, ölçeklenmesini ve yönetilmesini otomatikleştiren açık kaynaklı bir sistemdir.
- [Linux](https://softwaredictionary.org/tr/terimler/linux): Linux, çoğu sunucuyu, bulutu, konteyneri ve Android telefonu çalıştıran, genellikle dağıtım olarak paketlenen açık kaynaklı bir işletim sistemi çekirdeğidir.
- [Loglama](https://softwaredictionary.org/tr/terimler/logging): Loglama, çalışan bir programdaki hata ve istek gibi olaylar hakkında zaman damgalı mesajlar kaydetme pratiğidir; insanlar bunları sonradan inceleyebilir.
- [Metrikler](https://softwaredictionary.org/tr/terimler/metrics): Metrikler, bir sistemden zamanla toplanan istek oranı, hata oranı ve CPU kullanımı gibi sayısal ölçümlerdir; panolar, uyarılar ve planlama için kullanılır.
- [Nesne Depolama](https://softwaredictionary.org/tr/terimler/object-storage): Nesne depolama, veriyi benzersiz anahtarlı ve meta verili bütün nesneler olarak, HTTP üzerinden çok sayıda dosyaya ölçeklenen düz bucket'larda saklar.
- [OpenTelemetry](https://softwaredictionary.org/tr/terimler/opentelemetry): OpenTelemetry, yazılımdan trace, metrik ve log toplayıp bunları herhangi bir izleme backend'ine göndermek için açık bir standart ve araç takımıdır.
- [Ortam Değişkeni](https://softwaredictionary.org/tr/terimler/environment-variable): Ortam değişkeni, programın dışında işletim sistemi ya da çalışma zamanınca ayarlanan, programın davranışını yapılandırmak için okuduğu adlandırılmış değerdir.
- [Otomatik Ölçekleme](https://softwaredictionary.org/tr/terimler/autoscaling): Otomatik ölçekleme, sunucu ya da konteyner gibi bilişim kaynaklarının talebe göre otomatik eklenip çıkarılmasıdır; performans sabit, maliyet düşük kalır.
- [PaaS](https://softwaredictionary.org/tr/terimler/paas): PaaS (platform as a service), kodunuzu dağıttığınız, altındaki sunucuları, işletim sistemlerini ve ölçeklemeyi sağlayıcının çalıştırdığı bir bulut modelidir.
- [Pod](https://softwaredictionary.org/tr/terimler/kubernetes-pod): Pod, Kubernetes'te dağıtılabilen en küçük birimdir: ağ adresini ve depolamayı paylaşan, tek bir node'da birlikte zamanlanan bir ya da daha çok konteynerdir.
- [Postmortem](https://softwaredictionary.org/tr/terimler/postmortem): Postmortem, bir olaydan sonra yazılan; ne olduğunu, neden olduğunu ve tekrarlanmaması için ekibin neyi değiştireceğini açıklayan yazılı bir incelemedir.
- [Prometheus](https://softwaredictionary.org/tr/terimler/prometheus): Prometheus, uygulama ve sunuculardan metrik toplayıp zaman serisi olarak saklayan ve değerler sınırı aşınca uyarı tetikleyen açık kaynaklı izleme sistemidir.
- [Reverse Proxy](https://softwaredictionary.org/tr/terimler/reverse-proxy): Reverse proxy, web sunucularının önünde durup istemci isteklerini onlar adına kabul eden ve her isteği doğru arka uç sunucuya ileten bir sunucudur.
- [Rollback](https://softwaredictionary.org/tr/terimler/rollback): Rollback, yeni bir dağıtım hatalara, kesintilere ya da beklenmedik başka sorunlara yol açtığında yazılımı önceki, sorunsuz sürüme döndürme işlemidir.
- [SaaS](https://softwaredictionary.org/tr/terimler/saas): SaaS (software as a service), internet üzerinden abonelikle sunulan yazılımdır; kullanıcı giriş yapar, sağlayıcı ise her şeyi çalıştırır, günceller ve korur.
- [Sanal Makine](https://softwaredictionary.org/tr/terimler/virtual-machine): Sanal makine, paylaşılan fiziksel donanımda kendi işletim sistemini çalıştıran, aynı ana makinedeki diğerlerinden yalıtılmış yazılım tabanlı bilgisayardır.
- [Serverless](https://softwaredictionary.org/tr/terimler/serverless): Serverless, sağlayıcının kodu talep üzerine çalıştırıp sunucuları yönettiği, otomatik ölçeklediği ve yalnızca gerçek kullanıma ücret aldığı bulut modelidir.
- [Service Mesh](https://softwaredictionary.org/tr/terimler/service-mesh): Service mesh, mikroservisler arası trafiği yöneten; kod değiştirmeden şifreleme, yeniden deneme, yönlendirme ve izleme ekleyen bir altyapı katmanıdır.
- [Site Reliability Engineering](https://softwaredictionary.org/tr/terimler/site-reliability-engineering): Site reliability engineering, operasyona yazılım mühendisliğini uygulayan ve hizmetleri otomasyon ile ölçülebilir hedeflerle güvenilir tutan bir disiplindir.
- [SLA](https://softwaredictionary.org/tr/terimler/sla): SLA (service level agreement), sağlayıcının müşterilerine %99,9 erişilebilirlik gibi hizmet seviyesi ve karşılanmazsa ne olacağına dair verdiği taahhüttür.
- [SLO](https://softwaredictionary.org/tr/terimler/slo): SLO, bir hizmetin ölçülebilir güvenilirlik hedefidir (örneğin 30 günde isteklerin %99,9'unun başarılı olması) ve yeterince güvenilirin ne olduğunu belirler.
- [Terraform](https://softwaredictionary.org/tr/terimler/terraform): Terraform, kod olarak altyapı aracıdır; bulut kaynaklarını yapılandırma dosyalarında tarif edersiniz, tek komut onları buna göre oluşturur ya da günceller.
- [YAML](https://softwaredictionary.org/tr/terimler/yaml): YAML, parantez yerine girinti kullanan, insanın okuyabileceği bir veri biçimidir; DevOps araçlarında ve CI/CD pipeline'larında yapılandırma için yaygındır.
- [Yapılandırma Yönetimi](https://softwaredictionary.org/tr/terimler/configuration-management): Yapılandırma yönetimi, sunucuların ve yazılımın istenen durumunu kodla tanımlama ve araçlarla bunu otomatik olarak uygulayıp koruma pratiğidir.
- [Yük Dengeleyici](https://softwaredictionary.org/tr/terimler/load-balancer): Yük dengeleyici, gelen trafiği birkaç arka uç sunucuya dağıtan bir sunucu ya da hizmettir; hiçbir sunucu aşırı yüklenmez ve uygulama erişilebilir kalır.

## Sürüm Kontrolü

Kod değişikliklerini takip etmek ve ekip olarak birlikte çalışmak için Git kavramları. [Bütün Sürüm Kontrolü terimleri](https://softwaredictionary.org/tr/kutuphane/version-control)

- [.gitignore](https://softwaredictionary.org/tr/terimler/gitignore): .gitignore, Git'in izlememesi gereken bağımlılık, derleme çıktısı, günlük ve gizli bilgi gibi dosya ve klasörlerin kalıplarını listeleyen düz metin dosyadır.
- [Branch](https://softwaredictionary.org/tr/terimler/branch): Git'te branch, bir özellik ya da düzeltme üzerinde, birleştirene kadar ana kodu etkilemeden çalışmanızı sağlayan bağımsız bir geliştirme hattıdır.
- [Cherry-pick](https://softwaredictionary.org/tr/terimler/cherry-pick): Git'te cherry-pick, belirli bir commit'in değişikliklerini geldiği branch'in geri kalanını birleştirmeden, mevcut branch'inize yeni bir commit olarak kopyalar.
- [Code Review](https://softwaredictionary.org/tr/terimler/code-review): Code review, kod değişikliklerinin birleştirilmeden önce başka geliştiricilerce incelenmesidir; hataları yakalar, kaliteyi artırır, bilgi paylaşımını sağlar.
- [Commit](https://softwaredictionary.org/tr/terimler/commit): Commit, Git'te projenin dosyalarının; benzersiz bir kimlik, yazar, zaman damgası ve değişikliği anlatan bir mesajla kaydedilmiş anlık görüntüsüdür.
- [Conventional Commits](https://softwaredictionary.org/tr/terimler/conventional-commits): Conventional Commits, feat: add search gibi yapılandırılmış commit mesajları için bir şartnamedir; araçlar değişiklik günlüğü üretip sürümü otomatik seçer.
- [Detached HEAD](https://softwaredictionary.org/tr/terimler/detached-head): Detached HEAD, bir branch yerine belirli bir commit'i checkout ettiğiniz ve yaptığınız yeni commit'lerin hiçbir branch'e ait olmadığı bir Git durumudur.
- [Fast-Forward Merge](https://softwaredictionary.org/tr/terimler/fast-forward-merge): Fast-forward merge, hedef branch'te diğer branch ayrıldığından beri yeni commit yoksa olur; Git merge commit'i oluşturmaz, işaretçiyi yalnızca ileri taşır.
- [Fork](https://softwaredictionary.org/tr/terimler/fork): Fork, başkasının deposunun bir barındırma platformundaki kişisel kopyasıdır; özgürce denemeler yapmanızı ve değişiklikleri özgün projeye geri önermenizi sağlar.
- [Git](https://softwaredictionary.org/tr/terimler/git): Git, dosyalardaki değişiklikleri zamanla izleyen ücretsiz, açık kaynaklı dağıtık sürüm kontrol sistemidir; iş birliğini ve hataları geri almayı kolaylaştırır.
- [Git Bisect](https://softwaredictionary.org/tr/terimler/git-bisect): Git bisect, commit geçmişinde ikili arama (binary search) yaparak hatayı getiren commit'i, yalnızca birkaç commit'i test ederek bulan Git komutudur.
- [Git Checkout](https://softwaredictionary.org/tr/terimler/git-checkout): git checkout başka bir branch'e ya da commit'e geçer veya dosyaları önceki sürüme döndürür; yeni Git sürümleri bu işleri git switch ve git restore'a ayırır.
- [Git Clone](https://softwaredictionary.org/tr/terimler/git-clone): Git clone, mevcut bir deponun tüm geçmişiyle birlikte eksiksiz bir kopyasını indiren ve çalışmanız için bilgisayarınızda hazırlayan bir Git komutudur.
- [Git Diff](https://softwaredictionary.org/tr/terimler/git-diff): Git diff, çalışma dosyaları, stage edilmiş değişiklikler veya commit'ler gibi kodunuzun iki sürümü arasındaki tam satır satır farkları gösteren Git komutudur.
- [Git Fetch](https://softwaredictionary.org/tr/terimler/git-fetch): git fetch, uzak depodan yeni commit, branch ve etiketleri indirip origin/main gibi uzak izleme branch'lerini günceller; sizin branch ve dosyalarınız değişmez.
- [Git Hooks](https://softwaredictionary.org/tr/terimler/git-hooks): Git hook'ları, commit ya da push öncesi gibi anlarda Git'in otomatik çalıştırdığı; kodu denetleyen, kural uygulayan ve işleri otomatikleştiren betiklerdir.
- [Git Pull](https://softwaredictionary.org/tr/terimler/git-pull): Git pull, uzak bir depodan yeni commit'leri indiren ve bunları hemen mevcut yerel branch'inize entegre eden bir Git komutudur.
- [Git Push](https://softwaredictionary.org/tr/terimler/git-push): Git push, yerel commit'lerinizi uzak bir depoya yükleyip oradaki ilgili branch'i güncelleyen Git komutudur; böylece başkaları çalışmanızı görüp kullanabilir.
- [Git Remote](https://softwaredictionary.org/tr/terimler/git-remote): Git remote, deponuzun genellikle bir sunucudaki başka bir kopyasına verilen, origin gibi bir kısa addır; commit'leri oraya push eder, oradan pull edersiniz.
- [Git Reset](https://softwaredictionary.org/tr/terimler/git-reset): Git reset, mevcut branch'i daha eski bir commit'e geri taşıyan ve moduna göre staging area'yı ile dosyalarınızı da sıfırlayabilen bir Git komutudur.
- [Git Revert](https://softwaredictionary.org/tr/terimler/git-revert): Git revert, önceki bir commit'i, tersi değişiklikleri içeren yeni bir commit oluşturarak geri alan, mevcut proje geçmişini olduğu gibi bırakan Git komutudur.
- [Git Stash](https://softwaredictionary.org/tr/terimler/git-stash): Git stash, commit edilmemiş değişiklikleri geçici olarak saklayıp çalışma dizinini temizleyen komuttur; başka işe geçip çalışmanıza sonra dönmenizi sağlar.
- [Git Tag](https://softwaredictionary.org/tr/terimler/git-tag): Git tag, belirli bir commit'i gösteren adlandırılmış kalıcı bir işaretçidir; çoğunlukla deponun geçmişinde v1.0.0 gibi sürümleri işaretlemek için kullanılır.
- [Gitflow](https://softwaredictionary.org/tr/terimler/gitflow): Gitflow, planlı sürümleri yönetmek için uzun ömürlü main ve develop branch'lerini feature, release ve hotfix branch'leriyle kullanan bir Git branch modelidir.
- [GitHub](https://softwaredictionary.org/tr/terimler/github): GitHub, Git depolarını barındırıp birlikte kod yazmaya yarayan; pull request, kod incelemesi, issue ve en büyük açık kaynak topluluğunu sunan platformdur.
- [GitLab](https://softwaredictionary.org/tr/terimler/gitlab): GitLab, kod inceleme, iş takibi, CI/CD ve güvenlik taramasını tek uygulamada toplayan, bulutta ya da kendi sunucunuzda çalışan Git barındırma platformudur.
- [HEAD](https://softwaredictionary.org/tr/terimler/git-head): HEAD, Git'te checkout edilmiş olanı, normalde bulunduğunuz branch'i gösteren işaretçidir; o branch da son commit'ini gösterir, yeni commit'ler oraya eklenir.
- [Hotfix](https://softwaredictionary.org/tr/terimler/hotfix): Hotfix, çökme ya da güvenlik açığı gibi production'daki ciddi bir sorun için hızla ve olağan sürüm takviminin dışında yayımlanan acil bir düzeltmedir.
- [Merge](https://softwaredictionary.org/tr/terimler/merge): Git'te merge, bir branch'teki değişiklikleri başka bir branch'e katarak ayrı geliştirme hatlarını tek ve ortak bir geçmişte yeniden birleştirir.
- [Merge Conflict](https://softwaredictionary.org/tr/terimler/merge-conflict): Merge çakışması, iki branch bir dosyanın aynı satırlarını değiştirdiği için Git'in otomatik birleştiremediği, sonuca birinin karar vermesi gereken durumdur.
- [Monorepo](https://softwaredictionary.org/tr/terimler/monorepo): Monorepo, uygulamalar, servisler ve paylaşılan kütüphaneler gibi birçok projenin kodunu birlikte yönetilen tek bir sürüm kontrol deposunda tutma yaklaşımıdır.
- [Pull Request](https://softwaredictionary.org/tr/terimler/pull-request): Pull request, bir branch'teki değişiklikleri başka bir branch'e birleştirme önerisidir; kod birleşmeden önce ekibe inceleme, tartışma ve test alanı sunar.
- [Rebase](https://softwaredictionary.org/tr/terimler/rebase): Git'te rebase, bir branch'in commit'lerini başka bir commit'in üzerine yeniden uygular; geçmişi yeniden yazıp merge commit'siz, temiz ve doğrusal kılar.
- [Repository](https://softwaredictionary.org/tr/terimler/repository): Repository, bir projenin tüm dosyalarını ve sürüm kontrol sisteminin kaydettiği her değişikliğin eksiksiz geçmişini barındıran depolama alanıdır.
- [Semantic Versioning](https://softwaredictionary.org/tr/terimler/semantic-versioning): Semantic versioning, her bölümün bir sürümün uyumluluğu bozduğunu, özellik eklediğini ya da hata düzelttiğini belirttiği MAJOR.MINOR.PATCH şemasıdır.
- [Squash Merge](https://softwaredictionary.org/tr/terimler/squash-merge): Squash merge, bir branch'teki tüm commit'leri hedef branch üzerinde tek bir yeni commit'te birleştirir; böylece ana geçmiş kısa ve okunması kolay kalır.
- [Staging Area](https://softwaredictionary.org/tr/terimler/staging-area): Git'teki staging area, dosyalarınız ile bir sonraki commit arasındaki bekleme alanıdır; o commit'e girecek değişiklikleri tam olarak buraya koyarsınız.
- [Sürüm Kontrolü](https://softwaredictionary.org/tr/terimler/version-control): Sürüm kontrolü, dosyalardaki her değişikliği kaydeden; kimin neyi değiştirdiğini görmeyi, eski sürümlere dönmeyi ve paralel çalışmayı sağlayan sistemdir.
- [Trunk-Based Development](https://softwaredictionary.org/tr/terimler/trunk-based-development): Trunk-based development, geliştiricilerin küçük değişiklikleri en az günde bir kez ortak ana branch'e birleştirip onu hep yayımlanabilir tuttuğu stratejidir.

## Güvenlik

Web uygulamalarına yönelik yaygın saldırılar ve kimlik doğrulamadan şifrelemeye kadar bunlara karşı savunmalar. [Bütün Güvenlik terimleri](https://softwaredictionary.org/tr/kutuphane/security)

- [Açık Anahtarlı Kriptografi](https://softwaredictionary.org/tr/terimler/public-key-cryptography): Açık anahtarlı kriptografi, veriyi şifreleyip imzalamak için herkesin görebildiği bir açık anahtar ile gizli tutulan bir özel anahtardan oluşan çift kullanır.
- [API Anahtarı](https://softwaredictionary.org/tr/terimler/api-key): API anahtarı, API çağrılarında uygulamayı veya projeyi tanımlayan, erişim denetimi, kullanım takibi ve hız sınırı için kullanılan benzersiz gizli bir dizedir.
- [Clickjacking](https://softwaredictionary.org/tr/terimler/clickjacking): Clickjacking, meşru bir siteyi kötü amaçlı bir sayfada görünmez bir çerçeveye gizleyerek kullanıcıları göremedikleri düğmelere tıklamaya kandıran saldırıdır.
- [Content Security Policy](https://softwaredictionary.org/tr/terimler/content-security-policy): Content Security Policy, tarayıcıya sayfanın hangi betik, stil ve kaynakları yükleyebileceğini bildirip enjekte edilen kodu engelleyen HTTP yanıt başlığıdır.
- [CSRF](https://softwaredictionary.org/tr/terimler/csrf): CSRF, oturum açmış kullanıcının tarayıcısını güvenilir bir siteye istenmeyen istek göndermeye kandıran, sitenin de gerçek kullanıcı eylemi sandığı saldırıdır.
- [CVE](https://softwaredictionary.org/tr/terimler/cve): CVE, bilinen tek bir güvenlik zafiyetine verilen, CVE-2021-44228 gibi benzersiz ve herkese açık bir tanımlayıcıdır; herkes aynı açığa aynı adla başvurur.
- [DDoS](https://softwaredictionary.org/tr/terimler/ddos): DDoS saldırısı, bir web sitesini veya çevrimiçi servisi, aynı anda ele geçirilmiş birçok cihazdan gelen trafikle boğarak kullanılamaz hâle getirme girişimidir.
- [Dijital İmza](https://softwaredictionary.org/tr/terimler/digital-signature): Dijital imza, özel anahtarla üretilen, bir mesajı ya da dosyayı kimin oluşturduğunu ve imzalandığından beri değişmediğini kanıtlayan kriptografik değerdir.
- [En Az Ayrıcalık İlkesi](https://softwaredictionary.org/tr/terimler/principle-of-least-privilege): En az ayrıcalık ilkesi, her kullanıcıya, programa ve servise yalnızca işini yapması için gereken asgari erişimin verilmesini öngören güvenlik kuralıdır.
- [Fidye Yazılımı](https://softwaredictionary.org/tr/terimler/ransomware): Fidye yazılımı, dosyaları ya da sistemleri şifreleyip anahtar için fidye isteyen, çoğu zaman çalınan veriyi sızdırmakla da tehdit eden kötü amaçlı yazılımdır.
- [Girdi Doğrulama](https://softwaredictionary.org/tr/terimler/input-validation): Girdi doğrulama, programa giren verinin kullanılmadan önce beklenen türde, biçimde ve aralıkta olup olmadığını kontrol etme ve gerisini reddetme pratiğidir.
- [Hashing](https://softwaredictionary.org/tr/terimler/hashing): Hashing, bir girdiyi tek yönlü bir fonksiyonla sabit uzunlukta bir değere dönüştürmektir; veri bütünlüğünü doğrulamaya ve parolaları güvenle saklamaya yarar.
- [HMAC](https://softwaredictionary.org/tr/terimler/hmac): HMAC, gizli bir anahtarı hash fonksiyonuyla birleştirip mesajın anahtarı bilen birinden geldiğini ve yolda değişmediğini kanıtlayan bir etiket (tag) üretir.
- [HSTS](https://softwaredictionary.org/tr/terimler/hsts): HSTS, tarayıcıya bir siteye belli bir süre yalnızca HTTPS ile bağlanmasını söyleyen, güvensiz HTTP'yi ve düşürme saldırılarını engelleyen güvenlik başlığıdır.
- [HTTPS](https://softwaredictionary.org/tr/terimler/https): HTTPS, tarayıcı ile web sitesi arasındaki trafiği TLS ile şifreleyen, verileri dinlemeye ve değiştirilmeye karşı koruyan HTTP'nin güvenli sürümüdür.
- [İki Faktörlü Kimlik Doğrulama](https://softwaredictionary.org/tr/terimler/two-factor-authentication): İki faktörlü kimlik doğrulama, kimliği doğrulamak için parola artı bir kod ya da güvenlik anahtarı gibi iki farklı türde kanıt isteyen bir giriş yöntemidir.
- [JWT](https://softwaredictionary.org/tr/terimler/jwt): JWT, kullanıcı kimliği ve son kullanma zamanı gibi bilgileri taşıyan, imzalı ve kompakt bir token'dır; sunucunun oturum aramadan istekleri doğrulamasını sağlar.
- [Kaba Kuvvet Saldırısı](https://softwaredictionary.org/tr/terimler/brute-force-attack): Kaba kuvvet saldırısı, bir hesabı ele geçirmek ya da veriyi çözmek için biri tutana kadar çok sayıda olası parola veya anahtarı sistematik olarak denemektir.
- [Kimlik Doğrulama](https://softwaredictionary.org/tr/terimler/authentication): Kimlik doğrulama, bir kullanıcının, cihazın veya servisin gerçekten iddia ettiği kişi olduğunu, örneğin parola ya da passkey kontrol ederek doğrulama işlemidir.
- [Kötü Amaçlı Yazılım](https://softwaredictionary.org/tr/terimler/malware): Kötü amaçlı yazılım, veri çalarak, casusluk yaparak, dosyaları bozarak ya da sistemi ele geçirerek bilgisayara veya kullanıcısına zarar veren her programdır.
- [OAuth](https://softwaredictionary.org/tr/terimler/oauth): OAuth, bir uygulamanın kullanıcının parolasını hiç görmeden başka bir servisteki verilerine erişmesini sağlayan açık bir yetkilendirme standardıdır.
- [OpenID Connect](https://softwaredictionary.org/tr/terimler/openid-connect): OpenID Connect (OIDC), OAuth 2.0 üzerine kurulu bir kimlik katmanıdır: uygulama, kullanıcıyı kimlik sağlayıcıyla oturum açtırıp imzalı bir ID token alır.
- [Ortadaki Adam Saldırısı](https://softwaredictionary.org/tr/terimler/man-in-the-middle): Ortadaki adam saldırısı, bir saldırganın doğrudan konuştuğunu sanan iki taraf arasındaki mesajları gizlice iletmesi ve gerekirse değiştirmesiyle gerçekleşir.
- [Oturum Ele Geçirme](https://softwaredictionary.org/tr/terimler/session-hijacking): Oturum ele geçirme, bir kullanıcının oturum kimliğini ya da token'ını çalarak veya tahmin ederek, parolasını bilmeden o kullanıcı gibi davranmaktır.
- [OWASP Top 10](https://softwaredictionary.org/tr/terimler/owasp-top-10): OWASP Top 10, kâr amacı gütmeyen OWASP'nin yayımlayıp düzenli güncellediği, web uygulamalarındaki en kritik on güvenlik riskini sıralayan yaygın bir listedir.
- [Passkey](https://softwaredictionary.org/tr/terimler/passkey): Passkey, açık anahtarlı kriptografiye dayanan, parmak izi, yüz taraması ya da cihaz PIN'iyle açılan, phishing'e dayanıklı parolasız giriş kimlik bilgisidir.
- [Phishing](https://softwaredictionary.org/tr/terimler/phishing): Phishing, suçluların güvenilir bir şirket ya da kişi kılığına girip insanları parola, kod ya da para vermeye kandırdığı bir sosyal mühendislik saldırısıdır.
- [Prompt Injection](https://softwaredictionary.org/tr/terimler/prompt-injection): Prompt injection, saldırganın metni talimat sayılınca dil modelinin kurallarını yok saydığı, veri sızdırdığı ya da araçları kötüye kullandığı saldırıdır.
- [RBAC](https://softwaredictionary.org/tr/terimler/rbac): RBAC, izinleri admin veya editor gibi rollere veren ve kullanıcılara bu rolleri atayarak erişim sağlayan bir yetkilendirme modelidir.
- [Refresh Token](https://softwaredictionary.org/tr/terimler/refresh-token): Refresh token, uygulamanın yeniden giriş istemeden kısa ömürlü yeni access token'lar almak için kullandığı uzun ömürlü kimlik bilgisidir.
- [Salting](https://softwaredictionary.org/tr/terimler/salting): Salting, hash'lemeden önce her parolaya benzersiz bir rastgele değer eklemektir; böylece aynı parolalar farklı hash'ler üretir ve kırılmaya karşı dirençli olur.
- [Same-Origin Policy](https://softwaredictionary.org/tr/terimler/same-origin-policy): Same-origin policy, bir sitedeki betiklerin, o site açıkça izin vermedikçe başka bir sitedeki verileri okumasını engelleyen tarayıcı güvenlik kuralıdır.
- [SAML](https://softwaredictionary.org/tr/terimler/saml): SAML, XML tabanlı bir tek oturum açma (SSO) standardıdır: kimlik sağlayıcı kullanıcıyı doğrular ve uygulamaya onu giriş yaptıran imzalı bir beyan gönderir.
- [Secrets Management](https://softwaredictionary.org/tr/terimler/secrets-management): Secrets management, parola, API anahtarı ve token gibi hassas kimlik bilgilerini güvenle saklama, dağıtma, döndürme ve denetleme pratiğidir.
- [Sertifika Otoritesi](https://softwaredictionary.org/tr/terimler/certificate-authority): Sertifika otoritesi, bir açık anahtarın belirli bir web sitesine, şirkete veya kişiye ait olduğunu doğrulayan dijital sertifikalar veren güvenilir kuruluştur.
- [Sızma Testi](https://softwaredictionary.org/tr/terimler/penetration-testing): Sızma testi, bir kuruluşun güvenlik açıklarını gerçek saldırganlardan önce bulup kapatması için bir sisteme yapılan izinli, simüle edilmiş saldırıdır.
- [Simetrik Şifreleme](https://softwaredictionary.org/tr/terimler/symmetric-encryption): Simetrik şifreleme, şifrelemek ve çözmek için aynı gizli anahtarı kullanır; hızlı olduğundan saklanan ve aktarılan verinin çoğunu, genellikle AES ile korur.
- [Sosyal Mühendislik](https://softwaredictionary.org/tr/terimler/social-engineering): Sosyal mühendislik, teknolojiyi kırmak yerine insanları manipüle ederek bilgi, erişim ya da para elde etmektir; çoğu zaman güvenilen biri gibi davranılır.
- [SQL Injection](https://softwaredictionary.org/tr/terimler/sql-injection): SQL injection, kullanıcı girdisinin veritabanı sorgusunun parçası sayıldığı ve saldırganın erişmemesi gereken verileri okuyup değiştirebildiği saldırıdır.
- [SSO](https://softwaredictionary.org/tr/terimler/sso): SSO, kullanıcının merkezi bir kimlik sağlayıcıyla bir kez oturum açıp birçok ayrı uygulamaya yeniden kimlik bilgisi girmeden erişmesini sağlar.
- [SSRF](https://softwaredictionary.org/tr/terimler/ssrf): SSRF, bir saldırganın sunucuyu kendi seçtiği bir hedefe istek göndermeye zorladığı ve çoğu zaman erişemeyeceği iç sistemlere ulaşabildiği bir zafiyettir.
- [Şifreleme](https://softwaredictionary.org/tr/terimler/encryption): Şifreleme, veriyi bir anahtarla karıştırarak yalnızca doğru anahtara sahip olanın onu özgün ve okunabilir hâline geri çevirebilmesini sağlama işlemidir.
- [Tedarik Zinciri Saldırısı](https://softwaredictionary.org/tr/terimler/supply-chain-attack): Tedarik zinciri saldırısı, uygulamanın kendisini değil, açık kaynak paketi, derleme aracı veya güncelleme sunucusu gibi dayandığı bir bileşeni ele geçirir.
- [TLS](https://softwaredictionary.org/tr/terimler/tls): TLS, ağda gönderilen veriyi şifreleyen ve sunucunun kimliğini doğrulayan, HTTPS, e-posta ve birçok başka bağlantıyı güvenceye alan kriptografik protokoldür.
- [Uçtan Uca Şifreleme](https://softwaredictionary.org/tr/terimler/end-to-end-encryption): Uçtan uca şifreleme (E2EE), mesajları gönderenin cihazında şifreler; yalnızca hedeflenen alıcılar çözebilir, mesajı taşıyan servis bile çözemez.
- [Web Application Firewall](https://softwaredictionary.org/tr/terimler/web-application-firewall): Web application firewall (WAF), HTTP isteklerini web uygulamasına ulaşmadan önce inceleyip SQL injection gibi kötü niyetli olanları kurallara göre engeller.
- [XSS](https://softwaredictionary.org/tr/terimler/xss): XSS, saldırganın güvenilir bir siteye kötü amaçlı JavaScript enjekte edip bu kodu diğer kullanıcıların tarayıcısında çalıştırmasına yol açan zafiyettir.
- [Yetkilendirme](https://softwaredictionary.org/tr/terimler/authorization): Yetkilendirme, kimliği doğrulanmış bir kullanıcının ya da servisin hangi verileri okuyabileceğine, değiştirebileceğine veya silebileceğine karar vermektir.
- [Zero Trust](https://softwaredictionary.org/tr/terimler/zero-trust): Zero trust, varsayılan olarak hiçbir kullanıcı, cihaz veya ağa güvenmeyip her isteği kimliğe, cihaz sağlığına ve bağlama göre doğrulayan güvenlik modelidir.
- [Zero-Day](https://softwaredictionary.org/tr/terimler/zero-day): Zero-day, üreticinin bilmediği ya da henüz düzeltmediği bir yazılım açığıdır; bu yüzden saldırganlar onu bir yama çıkmadan istismar edebilir.

## Yapay Zekâ ve Makine Öğrenmesi

Makine öğrenmesi, büyük dil modelleri ve yapay zekâ destekli uygulamalar için temel kavramlar. [Bütün Yapay Zekâ ve Makine Öğrenmesi terimleri](https://softwaredictionary.org/tr/kutuphane/ai)

- [AGI](https://softwaredictionary.org/tr/terimler/artificial-general-intelligence): AGI (yapay genel zekâ), yalnızca dar bir alanda değil, bir insanın yapabildiği her zihinsel işi öğrenip yapabilecek varsayımsal bir yapay zekâ sistemidir.
- [Anlamsal Arama](https://softwaredictionary.org/tr/terimler/semantic-search): Anlamsal arama, sonuçları birebir anahtar kelimelere değil anlama göre, genellikle sorgu ve belge embedding'lerini karşılaştırarak bulan arama tekniğidir.
- [Aşırı Öğrenme](https://softwaredictionary.org/tr/terimler/overfitting): Aşırı öğrenme, bir modelin eğitim verisini gürültüsüyle birlikte fazla yakından öğrenip yeni, görülmemiş verilerde kötü performans göstermesidir.
- [Attention Mekanizması](https://softwaredictionary.org/tr/terimler/attention-mechanism): Attention mekanizması, modelin her token için girdinin hangi bölümlerinin en önemli olduğuna karar verip onlara odaklanmasını sağlayan sinir ağı tekniğidir.
- [Bağlam Penceresi](https://softwaredictionary.org/tr/terimler/context-window): Bağlam penceresi, bir LLM'nin prompt, konuşma geçmişi ve kendi yanıtı dahil aynı anda dikkate alabildiği, token cinsinden en fazla metin miktarıdır.
- [Bilgisayarlı Görü](https://softwaredictionary.org/tr/terimler/computer-vision): Bilgisayarlı görü, bilgisayarların nesneleri tanıma, metin okuma ya da yüz algılama gibi işlerle görüntü ve videoyu yorumlamasını sağlayan yapay zekâ alanıdır.
- [Chain-of-Thought](https://softwaredictionary.org/tr/terimler/chain-of-thought): Chain-of-thought prompting, bir LLM'den nihai yanıttan önce ara adımlarla akıl yürütmesini isteyen ve karmaşık görevlerde doğruluğu artıran bir tekniktir.
- [Chatbot](https://softwaredictionary.org/tr/terimler/chatbot): Chatbot, insanlarla yazılı ya da sesli sohbet edip soruları yanıtlayan veya işlere yardım eden, senaryolu kurallarla ya da dil modeliyle çalışan programdır.
- [Chunking](https://softwaredictionary.org/tr/terimler/chunking): Chunking, uzun belgeleri embedding'e çevrilip saklanmadan önce küçük parçalara böler; böylece bir RAG sistemi yalnızca ilgili kısımları bulup modele iletebilir.
- [Context Engineering](https://softwaredictionary.org/tr/terimler/context-engineering): Context engineering, işi güvenilir biçimde yapabilsin diye LLM'in her çağrıda ne gördüğünü (talimatlar, belgeler, araç sonuçları, geçmiş) seçme pratiğidir.
- [Çok Modlu Yapay Zekâ](https://softwaredictionary.org/tr/terimler/multimodal-ai): Çok modlu yapay zekâ, metin, görüntü, ses ve video gibi birden çok veri türünü tek bir modelde anlayabilen veya üretebilen yapay zekâdır.
- [Denetimli Öğrenme](https://softwaredictionary.org/tr/terimler/supervised-learning): Denetimli öğrenme, modelin etiketli örneklerden, yani doğru cevaplarla eşleştirilmiş girdilerden öğrenip yeni veride çıktı tahmin ettiği makine öğrenmesidir.
- [Denetimsiz Öğrenme](https://softwaredictionary.org/tr/terimler/unsupervised-learning): Denetimsiz öğrenme, bir modelin doğru cevaplar verilmeden etiketsiz verilerdeki örüntüleri, grupları veya yapıyı bulduğu makine öğrenmesidir.
- [Derin Öğrenme](https://softwaredictionary.org/tr/terimler/deep-learning): Derin öğrenme, görüntü ve metin gibi ham verilerden karmaşık örüntüleri öğrenmek için çok katmanlı sinir ağları kullanan bir makine öğrenmesi alt kümesidir.
- [Difüzyon Modeli](https://softwaredictionary.org/tr/terimler/diffusion-model): Difüzyon modeli, rastgele gürültüden başlayıp onu adım adım temizleyerek görüntü, ses ya da video üreten bir üretken yapay zekâ modelidir.
- [Doğal Dil İşleme](https://softwaredictionary.org/tr/terimler/natural-language-processing): Doğal dil işleme, bilgisayarlara insan dilini metin ya da konuşma biçiminde okumayı, anlamayı ve üretmeyi öğreten yapay zekâ alanıdır.
- [Eğitim Verisi](https://softwaredictionary.org/tr/terimler/training-data): Eğitim verisi, bir makine öğrenmesi modelinin öğrendiği örnekler kümesidir; kalitesi, boyutu ve kapsamı modelin ne kadar iyi çalışacağını büyük ölçüde belirler.
- [Embedding](https://softwaredictionary.org/tr/terimler/embedding): Embedding, metin, görüntü ya da başka verilerin anlamını vektör denen bir sayı listesiyle temsil eden ve benzer öğeleri birbirine yakın konumlandıran yapıdır.
- [Evals](https://softwaredictionary.org/tr/terimler/evals): Evals, yapay zekâ testleridir: beklenen sonucu ya da puanlama kuralı olan girdilerle her değişiklikten sonra bir modelin ya da prompt'un başarısını ölçer.
- [Few-Shot Learning](https://softwaredictionary.org/tr/terimler/few-shot-learning): Few-shot learning, bir yapay zekâ modelinin yalnızca birkaç örnekle, çoğunlukla prompt'a birkaç örnek girdi ve çıktı koyarak bir görevi yapmasını sağlamaktır.
- [Fine-tuning](https://softwaredictionary.org/tr/terimler/fine-tuning): Fine-tuning, önceden eğitilmiş bir makine öğrenmesi modelini tek bir göreve uyarlamak için daha küçük ve özel bir veri kümesiyle ek olarak eğitme sürecidir.
- [Geri Yayılım](https://softwaredictionary.org/tr/terimler/backpropagation): Geri yayılım (backpropagation), her ağırlığın hataya katkısını ölçüp her ağırlığı hatayı azaltan yönde biraz ayarlayarak sinir ağlarını eğiten algoritmadır.
- [GPT](https://softwaredictionary.org/tr/terimler/gpt): GPT (Generative Pre-trained Transformer), bir sonraki token'ı tahmin ederek metin üreten, OpenAI'a ait bir büyük dil modeli ailesidir.
- [Gradyan İnişi](https://softwaredictionary.org/tr/terimler/gradient-descent): Gradyan inişi, makine öğrenmesi modellerinin parametrelerini hatayı azaltan yönde tekrar tekrar hafifçe iterek modelleri eğiten bir optimizasyon algoritmasıdır.
- [Halüsinasyon](https://softwaredictionary.org/tr/terimler/hallucination): Halüsinasyon, bir LLM gibi yapay zekâ modelinin kendinden emin bir şekilde kulağa makul gelen ama yanlış, uydurma ya da kaynaksız bilgi üretmesidir.
- [Inference](https://softwaredictionary.org/tr/terimler/inference): Inference, eğitilmiş bir makine öğrenmesi modelinin, öğrendiklerini değiştirmeden yeni verilerden tahmin ya da çıktı üretmek için kullanıldığı aşamadır.
- [Kosinüs Benzerliği](https://softwaredictionary.org/tr/terimler/cosine-similarity): Kosinüs benzerliği, iki vektörün benzerliğini aralarındaki açıyla, -1 ile 1 arasında ölçer; semantik aramada embedding'leri karşılaştırmanın olağan yoludur.
- [LLM](https://softwaredictionary.org/tr/terimler/llm): LLM, çok büyük metin yığınlarıyla eğitilmiş ve bir sonraki en olası metin parçasını tekrar tekrar tahmin ederek dil üreten bir makine öğrenmesi modelidir.
- [LoRA](https://softwaredictionary.org/tr/terimler/lora): LoRA, büyük modellere ucuzca ince ayar yapma yöntemidir: ağırlıklar dondurulur, yalnızca eklenen küçük matrisler eğitilir; yeni beceri birkaç megabayta sığar.
- [Makine Öğrenmesi](https://softwaredictionary.org/tr/terimler/machine-learning): Makine öğrenmesi, bilgisayarların elle yazılmış kurallar yerine verilerdeki örüntüleri öğrenerek tahmin yaptığı bir yapay zekâ dalıdır.
- [Mixture of Experts](https://softwaredictionary.org/tr/terimler/mixture-of-experts): Mixture of experts (MoE), her girdiyi çok sayıda küçük uzman ağdan yalnızca birkaçına gönderen sinir ağı tasarımıdır; devasa bir model çok daha ucuza çalışır.
- [Model Context Protocol](https://softwaredictionary.org/tr/terimler/model-context-protocol): Model Context Protocol, yapay zekâ uygulamalarının dış araçlara, veri kaynaklarına ve prompt'lara ortak bir arayüzle bağlanmasını tanımlayan açık standarttır.
- [Model Parametreleri](https://softwaredictionary.org/tr/terimler/model-parameters): Model parametreleri, bir makine öğrenmesi modelinin eğitimde öğrendiği ve girdileri çıktılara dönüştürmek için kullandığı ağırlık ve sapma gibi iç sayılardır.
- [Pekiştirmeli Öğrenme](https://softwaredictionary.org/tr/terimler/reinforcement-learning): Pekiştirmeli öğrenme, bir ajanın iyi eylemler için ödül kazanarak deneme yanılmayla karar vermeyi öğrendiği bir makine öğrenmesi türüdür.
- [Prompt](https://softwaredictionary.org/tr/terimler/prompt): Prompt, bir LLM gibi bir yapay zekâ modeline hangi görevi yapmasını ve nasıl bir yanıt istediğinizi söylemek için verdiğiniz girdi metni ya da yönergelerdir.
- [Prompt Mühendisliği](https://softwaredictionary.org/tr/terimler/prompt-engineering): Prompt mühendisliği, yapay zekâ modelinin doğru, tutarlı ve kullanışlı çıktı üretmesi için verilen yönergeleri tasarlama, test etme ve iyileştirme pratiğidir.
- [Quantization](https://softwaredictionary.org/tr/terimler/quantization): Quantization, parametreleri 16 yerine 8 ya da 4 gibi daha az bitle saklayarak bir yapay zekâ modelini küçülten, inference'ı hızlandırıp ucuzlatan tekniktir.
- [RAG](https://softwaredictionary.org/tr/terimler/rag): RAG, bir LLM'in soru anında getirilen ilgili belgelere dayanarak yanıt vermesini sağlayan ve yanıtları güncel, özel verilere dayandıran bir tekniktir.
- [Reasoning Model](https://softwaredictionary.org/tr/terimler/reasoning-model): Reasoning model, yanıt vermeden önce problemi adım adım çözmek üzere eğitilmiş, zor işlerde daha iyi sonuç için ek hesaplama harcayan bir dil modelidir.
- [RLHF](https://softwaredictionary.org/tr/terimler/rlhf): RLHF (insan geri bildirimiyle pekiştirmeli öğrenme), dil modelini insanların yanıtlara dair yargılarıyla daha yardımcı ve güvenli kılan eğitim yöntemidir.
- [System Prompt](https://softwaredictionary.org/tr/terimler/system-prompt): System prompt, uygulamanın sohbet başlamadan önce dil modeline verdiği talimatlardır; modelin rolünü, kurallarını, üslubunu ve kullanacağı bilgileri belirler.
- [Temperature](https://softwaredictionary.org/tr/terimler/llm-temperature): Temperature, bir LLM'nin çıktısının ne kadar rastgele olacağını belirleyen ayardır: düşükken odaklı ve öngörülebilir, yüksekken daha çeşitli ve yaratıcıdır.
- [Token](https://softwaredictionary.org/tr/terimler/llm-token): Token, bir LLM'nin okuduğu ve ürettiği temel metin birimidir; genellikle bir sözcük, sözcük parçası ya da noktalama işaretidir ve sayısal bir kimliğe eşlenir.
- [Tool Calling](https://softwaredictionary.org/tr/terimler/tool-calling): Tool calling, modelin uygulamadan yapılandırılmış argümanlarla belirli bir fonksiyonu çalıştırmasını istediği ve sonucu yanıtında kullandığı LLM özelliğidir.
- [Transformer](https://softwaredictionary.org/tr/terimler/transformer): Transformer, bir dizideki her token'ın diğerleriyle ilişkisini attention ile tartan ve çoğu modern LLM'e güç veren bir sinir ağı mimarisidir.
- [Üretken Yapay Zekâ](https://softwaredictionary.org/tr/terimler/generative-ai): Üretken yapay zekâ, mevcut verilerden öğrenilen örüntülere dayanarak metin, görüntü, kod ya da ses gibi yeni içerik oluşturan yapay zekâdır.
- [Vektör Veritabanı](https://softwaredictionary.org/tr/terimler/vector-database): Vektör veritabanı, embedding'leri saklayıp bir sorguya en benzer vektörleri hızla bulmak için tasarlanmış, anlamsal arama ve RAG'in dayandığı veritabanıdır.
- [Vibe Coding](https://softwaredictionary.org/tr/terimler/vibe-coding): Vibe coding, istediğinizi bir yapay zekâya anlatıp yazdığı kodu kabul ederek ve sonucu çoğunlukla çalışıyor görünmesine göre değerlendirerek yazılım yapmaktır.
- [Yapay Sinir Ağı](https://softwaredictionary.org/tr/terimler/neural-network): Yapay sinir ağı, bağlantılı yapay nöron katmanlarından oluşan ve sayısal ağırlıkları ayarlayarak verilerden örüntü öğrenen bir makine öğrenmesi modelidir.
- [Yapay Zekâ](https://softwaredictionary.org/tr/terimler/artificial-intelligence): Yapay zekâ (AI), normalde insan zekâsı gerektiren işleri yapabilen sistemler kuran bilgisayar bilimi alanıdır.
- [Yapay Zekâ Ajanı](https://softwaredictionary.org/tr/terimler/ai-agent): Yapay zekâ ajanı, hangi araçları çağıracağına karar verip sonuçları gözlemleyerek çok adımlı görevleri planlayan ve yürüten, LLM kullanan bir sistemdir.
- [Yapay Zekâ Hizalaması](https://softwaredictionary.org/tr/terimler/ai-alignment): Yapay zekâ hizalaması, yapay zekânın tasarımcılarının amaçladığı hedef ve değerlere uyup yardımsever, dürüst ve güvenli davranmasını sağlama alanıdır.

## Yazılım Mimarisi

Büyük kod tabanlarını düzenli ve bakımı kolay tutan tasarım ilkeleri ve mimari stiller. [Bütün Yazılım Mimarisi terimleri](https://softwaredictionary.org/tr/kutuphane/architecture)

- [Adapter Deseni](https://softwaredictionary.org/tr/terimler/adapter-pattern): Adapter deseni, mevcut bir sınıfı yeni bir arayüzle sararak bir arayüz bekleyen kodun uyumsuz bir arayüzü kullanabilmesini sağlayan yapısal tasarım desenidir.
- [Backend for Frontend](https://softwaredictionary.org/tr/terimler/backend-for-frontend): Backend for frontend, web ya da mobil uygulama gibi her istemci türünün kendi ihtiyaçlarına göre uyarlanmış küçük bir backend aldığı bir mimari desendir.
- [Builder Pattern](https://softwaredictionary.org/tr/terimler/builder-pattern): Builder pattern, karmaşık bir nesneyi ayrı bir builder nesnesiyle, argümanlarla dolu uzun bir constructor yerine adlandırılmış adımlarla adım adım oluşturur.
- [Circuit Breaker Deseni](https://softwaredictionary.org/tr/terimler/circuit-breaker): Circuit breaker deseni, arızalı bir bağımlılığa yapılan çağrıları bir süre durdurarak ve zaman aşımlarını beklemek yerine hızlıca hata vererek sistemi korur.
- [Clean Architecture](https://softwaredictionary.org/tr/terimler/clean-architecture): Clean architecture, temel iş kuralları framework'e, veritabanına ya da kullanıcı arayüzüne asla bağımlı olmasın diye yazılımı katmanlara ayırma yöntemidir.
- [Consistent Hashing](https://softwaredictionary.org/tr/terimler/consistent-hashing): Consistent hashing (tutarlı hashleme), anahtarları sunuculara, sunucu eklenip çıkarıldığında yalnızca küçük bir kısmı yer değiştirecek şekilde dağıtır.
- [CQRS](https://softwaredictionary.org/tr/terimler/cqrs): CQRS, veriyi değiştiren kodu (komutlar) veriyi okuyan koddan (sorgular) ayırarak iki ayrı modele bölen bir mimari desendir.
- [Dağıtık Sistem](https://softwaredictionary.org/tr/terimler/distributed-system): Dağıtık sistem, bir ağ üzerinden birlikte çalışan ve kullanıcılarına tek bir sistem gibi görünen bilgisayarlar kümesidir.
- [Decorator Pattern](https://softwaredictionary.org/tr/terimler/decorator-pattern): Decorator pattern, bir nesneyi aynı arayüze sahip başka bir nesneyle sararak orijinal kodu değiştirmeden ona loglama, önbellekleme gibi davranışlar ekler.
- [Dependency Injection](https://softwaredictionary.org/tr/terimler/dependency-injection): Dependency injection, bir nesnenin ihtiyaç duyduğu diğer nesneleri kendisi oluşturmak yerine dışarıdan almasını sağlayan bir tasarım tekniğidir.
- [Dikey Ölçekleme](https://softwaredictionary.org/tr/terimler/vertical-scaling): Dikey ölçekleme (scale up), daha fazla makine eklemek yerine tek bir makineye daha fazla CPU, bellek ya da daha hızlı depolama vererek kapasiteyi artırır.
- [Domain-Driven Design](https://softwaredictionary.org/tr/terimler/domain-driven-design): Domain-driven design, kodu iş alanına yakından modelleyen ve alan uzmanlarıyla aynı dili kullanan bir yazılım geliştirme yaklaşımıdır.
- [DRY](https://softwaredictionary.org/tr/terimler/dry-principle): DRY, her bilgi ya da mantık parçasının çoğaltılmak yerine tek bir yetkili temsile sahip olması gerektiğini söyleyen bir yazılım tasarım ilkesidir.
- [Event Sourcing](https://softwaredictionary.org/tr/terimler/event-sourcing): Event sourcing, uygulama durumundaki her değişikliği değiştirilemez bir olay olarak saklayıp güncel durumu olayları yeniden oynatarak kuran tasarım desenidir.
- [Factory Deseni](https://softwaredictionary.org/tr/terimler/factory-pattern): Factory deseni, nesne oluşturmayı özel bir fonksiyona ya da sınıfa taşıyan ve çağıranların somut sınıfı hiç adlandırmadığı oluşturucu bir tasarım desenidir.
- [Gevşek Bağlılık](https://softwaredictionary.org/tr/terimler/loose-coupling): Gevşek bağlılık, bileşenlerin birbirine olabildiğince az bağımlı olduğu, böylece birinin diğerlerini bozmadan değişebildiği bir tasarım ilkesidir.
- [Hata Toleransı](https://softwaredictionary.org/tr/terimler/fault-tolerance): Hata toleransı, bir sistemin bazı donanım ya da yazılım bileşenleri arızalandığında, belki azalmış kapasiteyle de olsa doğru çalışmayı sürdürebilmesidir.
- [Hexagonal Architecture](https://softwaredictionary.org/tr/terimler/hexagonal-architecture): Hexagonal architecture, çekirdek iş mantığının dış dünyayla yalnızca portlar ve değiştirilebilir adaptörlerle konuştuğu bir yazılım yapılandırma yöntemidir.
- [İlgilerin Ayrılması](https://softwaredictionary.org/tr/terimler/separation-of-concerns): İlgilerin ayrılması, bir programı her biri davranışının açıkça tanımlanmış tek bir yönünden sorumlu ayrı parçalara bölen bir tasarım ilkesidir.
- [İstemci-Sunucu Mimarisi](https://softwaredictionary.org/tr/terimler/client-server-architecture): İstemci-sunucu mimarisi bir sistemi veri ya da işlem isteyen istemcilere ve bunları sağlayan sunuculara ayırır; tarayıcının sunucudan sayfa istemesi gibi.
- [Katmanlı Mimari](https://softwaredictionary.org/tr/terimler/layered-architecture): Katmanlı mimari, uygulamayı sunum, iş mantığı ve veri erişimi gibi yatay katmanlara böler ve her katman yalnızca altındaki katmanı çağırır.
- [KISS İlkesi](https://softwaredictionary.org/tr/terimler/kiss-principle): KISS ilkesi, sistemlerin olabildiğince basit tutulduğunda en iyi çalıştığını, gereksiz karmaşıklıktan kaçınılması gerektiğini söyleyen tasarım yönergesidir.
- [Konsensüs Algoritması](https://softwaredictionary.org/tr/terimler/consensus-algorithm): Konsensüs algoritması, bir grup makinenin, bazıları çökse ya da mesajlar kaybolsa bile tek bir değerde ya da sıralı bir karar kaydında anlaşmasını sağlar.
- [Mikroservisler](https://softwaredictionary.org/tr/terimler/microservices): Mikroservisler, bir uygulamanın ağ üzerinden iletişim kuran, küçük ve bağımsız olarak dağıtılabilen servislere bölündüğü bir mimari tarzdır.
- [Monolit](https://softwaredictionary.org/tr/terimler/monolith): Monolit, tek parça olarak derlenip dağıtılan, tüm özelliklerin tek kod tabanını, tek süreci ve çoğunlukla tek veritabanını paylaştığı yazılım uygulamasıdır.
- [MVC](https://softwaredictionary.org/tr/terimler/mvc): MVC, uygulamayı veri ve mantık için Model, gösterim için View ve kullanıcı girdisini yöneten Controller olmak üzere üçe ayıran bir mimari desendir.
- [MVVM](https://softwaredictionary.org/tr/terimler/mvvm): MVVM (Model-View-ViewModel), ekranın durumunu ve eylemlerini ViewModel'in tuttuğu, View'in ona bağlandığı arayüz kalıbıdır; durum değişince arayüz de değişir.
- [Observer Deseni](https://softwaredictionary.org/tr/terimler/observer-pattern): Observer deseni, subject adlı bir nesnenin durumu değiştiğinde abone listesini otomatik olarak bilgilendirdiği davranışsal bir tasarım desenidir.
- [Olay Güdümlü Mimari](https://softwaredictionary.org/tr/terimler/event-driven-architecture): Olay güdümlü mimari, servislerin bir siparişin verilmesi gibi olaylar üreterek ve bunlara tepki vererek iletişim kurduğu bir yazılım tasarım tarzıdır.
- [Ölçeklenebilirlik](https://softwaredictionary.org/tr/terimler/scalability): Ölçeklenebilirlik, bir sistemin daha fazla kullanıcı ya da veri gibi artan iş yükünü, kaynak ekleyerek performansı düşmeden karşılayabilme yeteneğidir.
- [Peer-to-Peer](https://softwaredictionary.org/tr/terimler/peer-to-peer): Peer-to-peer (P2P, eşler arası), eşlerin merkezî sunucu olmadan doğrudan bağlanıp kaynak paylaştığı, her birinin hem istemci hem sunucu olduğu ağ tasarımıdır.
- [Refactoring](https://softwaredictionary.org/tr/terimler/refactoring): Refactoring, mevcut kodun dışarıdan görünen davranışını değiştirmeden daha temiz ve bakımı kolay hâle getirmek için yeniden yapılandırılması sürecidir.
- [Repository Deseni](https://softwaredictionary.org/tr/terimler/repository-pattern): Repository deseni, veri erişimini koleksiyon benzeri bir arayüzün arkasına gizler; iş kodu nesnelerin nerede saklandığını bilmeden yükleyip kaydedebilir.
- [Saga Deseni](https://softwaredictionary.org/tr/terimler/saga-pattern): Saga deseni, birkaç servise yayılan bir işlemi yerel adımlar dizisi olarak çalıştırır ve bir adım başarısız olursa tamamlananları telafi eylemleriyle geri alır.
- [Service Discovery](https://softwaredictionary.org/tr/terimler/service-discovery): Service discovery (servis keşfi), dağıtık bir sistemde servislerin, örnekler başlayıp durdukça değişen diğer servislerin güncel adreslerini bulma yoludur.
- [Servis Odaklı Mimari](https://softwaredictionary.org/tr/terimler/service-oriented-architecture): Servis odaklı mimari, kurumsal yazılımı birbiriyle standart sözleşmelerle iletişim kuran, yeniden kullanılabilir ve ağdan erişilebilir servislerden kurar.
- [Sidecar Deseni](https://softwaredictionary.org/tr/terimler/sidecar-pattern): Sidecar deseni, bir uygulamanın yanında yaşam döngüsünü ve ağını paylaşan yardımcı bir süreç çalıştırarak loglama, proxy ya da güvenlik gibi özellikler ekler.
- [Singleton Deseni](https://softwaredictionary.org/tr/terimler/singleton-pattern): Singleton deseni, bir sınıfın yalnızca tek bir örneğinin bulunmasını sağlayan ve ona tek, küresel bir erişim noktası sunan oluşturucu bir tasarım desenidir.
- [SOLID](https://softwaredictionary.org/tr/terimler/solid): SOLID, geliştiricilerin daha anlaşılır, genişletilebilir, test edilebilir ve bakımı kolay kod yazmasına yardım eden beş nesne yönelimli tasarım ilkesidir.
- [Strangler Fig Deseni](https://softwaredictionary.org/tr/terimler/strangler-fig-pattern): Strangler fig deseni, eski bir sistemi özellikleri tek tek yeni koda yönlendirerek, eski sistem kapatılana kadar adım adım değiştirme yöntemidir.
- [Strategy Deseni](https://softwaredictionary.org/tr/terimler/strategy-pattern): Strategy deseni, değiştirilebilir algoritmaları tek arayüzün arkasına koyup çalışma zamanında aralarında geçiş yapılmasını sağlayan davranışsal bir desendir.
- [Tasarım Deseni](https://softwaredictionary.org/tr/terimler/design-pattern): Tasarım deseni, yazılım tasarımında sık görülen bir soruna kanıtlanmış, yeniden kullanılabilir çözümdür; hazır kod değil, genel bir şablon olarak anlatılır.
- [Teknik Borç](https://softwaredictionary.org/tr/terimler/technical-debt): Teknik borç, daha uzun sürecek daha iyi bir yaklaşım yerine şimdi hızlı ya da sınırlı bir çözüm seçilmesiyle doğan, gelecekteki ek iş maliyetidir.
- [Twelve-Factor App](https://softwaredictionary.org/tr/terimler/twelve-factor-app): Twelve-factor app, bulutta taşınabilir, dağıtımı kolay ve ölçeklenmesi basit olması için on iki pratiğe göre geliştirilmiş bir web uygulamasıdır.
- [Uyum](https://softwaredictionary.org/tr/terimler/cohesion): Uyum, bir modül, sınıf ya da servis içindeki sorumlulukların birbirine ne kadar ait olduğunun ölçüsüdür ve yüksek uyum iyi tasarımın işaretidir.
- [YAGNI](https://softwaredictionary.org/tr/terimler/yagni): YAGNI, ileride gerekebilir diye değil, gerçekten ihtiyaç duyulana kadar bir özellik ya da soyutlama inşa etmemeyi söyleyen bir extreme programming ilkesidir.
- [Yatay Ölçekleme](https://softwaredictionary.org/tr/terimler/horizontal-scaling): Yatay ölçekleme (scale out), bir sistemin kapasitesini tek bir makineyi büyütmek yerine daha fazla makine ekleyip işi onlara dağıtarak artırır.
- [Yüksek Erişilebilirlik](https://softwaredictionary.org/tr/terimler/high-availability): Yüksek erişilebilirlik, bir sistemin, çoğunlukla yedeklilikle tek hata noktalarını ortadan kaldırarak neredeyse her zaman çalışır durumda kalabilmesidir.

## Test ve Kalite

Ekiplerin kodun çalıştığını ve çalışmaya devam ettiğini nasıl kontrol ettiği: test türleri, test dublörleri ve hataları erkenden yakalayan araçlar. [Bütün Test ve Kalite terimleri](https://softwaredictionary.org/tr/kutuphane/testing)

- [A/B Testi](https://softwaredictionary.org/tr/terimler/ab-testing): A/B testi, bir özelliğin iki sürümünü gerçek kullanıcıların rastgele gruplarına gösterip seçilen metrikte hangisinin daha iyi sonuç verdiğini ölçen deneydir.
- [Assertion](https://softwaredictionary.org/tr/terimler/assertion): Assertion, kodun o noktasında bir koşulun doğru olması gerektiğini bildiren ve koşul yanlışsa testi ya da programı bir hatayla durduran ifadedir.
- [Beyaz Kutu Testi](https://softwaredictionary.org/tr/terimler/white-box-testing): Beyaz kutu testi, testleri kodun iç yapısına dair bilgiyle tasarlar; böylece kodun ifadeleri, dalları ve yolları doğrudan çalıştırılıp kontrol edilir.
- [Birim Testi](https://softwaredictionary.org/tr/terimler/unit-test): Birim testi, bir fonksiyonun, metodun ya da sınıfın programın geri kalanından yalıtılmış olarak doğru davrandığını doğrulayan küçük ve otomatik bir kontroldür.
- [Cypress](https://softwaredictionary.org/tr/terimler/cypress): Cypress, web uygulamalarının uçtan uca ve bileşen testlerini tarayıcıda yürüten, otomatik bekleme ve etkileşimli çalıştırıcı sunan JavaScript framework'üdür.
- [Davranış Odaklı Geliştirme](https://softwaredictionary.org/tr/terimler/behavior-driven-development): Davranış odaklı geliştirme, geliştiricilerin, test uzmanlarının ve iş tarafının otomatik testlere dönüşen sade dilli örneklerde anlaştığı bir pratiktir.
- [Entegrasyon Testi](https://softwaredictionary.org/tr/terimler/integration-test): Entegrasyon testi, kod, veritabanı ve API gibi bir sistemin birkaç parçasının birlikte doğru çalışıp çalışmadığını kontrol eden otomatik bir testtir.
- [Flaky Test](https://softwaredictionary.org/tr/terimler/flaky-test): Flaky test, koda hiçbir değişiklik yapılmadan bazen geçen bazen başarısız olan ve sonuçlarına güvenmeyi zorlaştıran otomatik bir testtir.
- [Fuzz Testi](https://softwaredictionary.org/tr/terimler/fuzz-testing): Fuzz testi, çökmeleri, takılmaları ve güvenlik açıklarını bulmak için bir programa çok sayıda beklenmedik ya da bozuk girdi veren otomatik bir tekniktir.
- [Jest](https://softwaredictionary.org/tr/terimler/jest): Jest; test çalıştırıcıyı, doğrulamaları, mock'lamayı, snapshot'ları ve kod kapsamını az kurulumla tek pakette sunan popüler JavaScript test framework'üdür.
- [Kabul Testi](https://softwaredictionary.org/tr/terimler/acceptance-testing): Kabul testi, yazılımın kullanıcılarla ya da müşterilerle anlaşılan gereksinimleri karşılayıp karşılamadığını kontrol eder; ekip sürüm kararını buna göre verir.
- [Kalite Güvencesi](https://softwaredictionary.org/tr/terimler/quality-assurance): Kalite güvencesi (QA), yazılımın gereksinimlerini karşılayıp güvenilir çalışmasını sağlayan uygulamalardır; hataları yalnızca bulmayı değil, önlemeyi amaçlar.
- [Kara Kutu Testi](https://softwaredictionary.org/tr/terimler/black-box-testing): Kara kutu testi, yazılımı içindeki koda bakmadan ya da ona dayanmadan, yalnızca girdileri ve çıktıları üzerinden, yapması gereken şeye göre kontrol eder.
- [Keşif Testi](https://softwaredictionary.org/tr/terimler/exploratory-testing): Keşif testi, test uzmanının yazılım hakkında öğrenip testleri tasarlayarak aynı anda çalıştırdığı ve bulduklarının yönlendirdiği, uygulamalı bir yaklaşımdır.
- [Linting](https://softwaredictionary.org/tr/terimler/linting): Linting, kaynak kodu çalıştırmadan otomatik olarak analiz edip olası hataları, stil sorunlarını ve şüpheli kalıpları kod yayına çıkmadan işaretleme işlemidir.
- [Mocking](https://softwaredictionary.org/tr/terimler/mocking): Mocking, kodu yalıtılmış biçimde test etmek için veritabanı ya da API gibi gerçek bir bağımlılığı kontrol ettiğiniz bir sahteyle değiştiren test tekniğidir.
- [Mutasyon Testi](https://softwaredictionary.org/tr/terimler/mutation-testing): Mutasyon testi, koda küçük kasıtlı hatalar ekleyip testlerin her birini yakalayarak başarısız olup olmadığına bakarak bir test takımının kalitesini ölçer.
- [Özellik Tabanlı Test](https://softwaredictionary.org/tr/terimler/property-based-testing): Özellik tabanlı test, elle yazılmış birkaç örnek yerine otomatik üretilen çok sayıda girdi için bir kuralın geçerli olduğunu kontrol eder.
- [Performans Testi](https://softwaredictionary.org/tr/terimler/performance-testing): Performans testi, bir sistemin beklenen ve aşırı yük altındaki hızını, kararlılığını ve ölçeklenebilirliğini yanıt sürelerinden kırılma noktasına kadar ölçer.
- [Playwright](https://softwaredictionary.org/tr/terimler/playwright): Playwright, Chromium, Firefox ve WebKit'i tek bir API ile yöneten, Microsoft'un uçtan uca test ve tarayıcı otomasyonu için açık kaynaklı framework'üdür.
- [Regresyon Testi](https://softwaredictionary.org/tr/terimler/regression-testing): Regresyon testi, daha önce çalışan özelliklerin bozulmadığından emin olmak için bir kod değişikliğinden sonra mevcut testleri yeniden çalıştırma pratiğidir.
- [Selenium](https://softwaredictionary.org/tr/terimler/selenium): Selenium, çoğunlukla uçtan uca test için web tarayıcılarını otomatikleştiren, WebDriver API'si birçok dilde bulunan açık kaynaklı bir araç takımıdır.
- [Smoke Test](https://softwaredictionary.org/tr/terimler/smoke-test): Smoke test, daha derin testlere zaman ayırmadan önce bir derlemenin en önemli özelliklerinin temelde çalıştığını doğrulayan hızlı ve yüzeysel bir kontroldür.
- [Snapshot Testi](https://softwaredictionary.org/tr/terimler/snapshot-testing): Snapshot testi, kodun çıktısını ilk çalıştırmada bir dosyaya kaydeden ve sonraki çalıştırmalarda çıktı bu kopyayla eşleşmezse başarısız olan bir tekniktir.
- [Sözleşme Testi](https://softwaredictionary.org/tr/terimler/contract-testing): Sözleşme testi, iki servisin alıp verdikleri istek ve yanıtlar konusunda anlaşıp anlaşmadığını, ikisini birlikte çalıştırmadan kontrol eden tekniktir.
- [Statik Analiz](https://softwaredictionary.org/tr/terimler/static-analysis): Statik analiz, hataları, güvenlik açıklarını ve kalite sorunlarını erken bulmak için kaynak kodun çalıştırılmadan otomatik olarak incelenmesidir.
- [Stres Testi](https://softwaredictionary.org/tr/terimler/stress-testing): Stres testi, kırılma noktasını bulmak ve düzgün biçimde başarısız olup toparlandığını doğrulamak için bir sistemi bilerek beklenen iş yükünün ötesine iter.
- [Test Case](https://softwaredictionary.org/tr/terimler/test-case): Test case, belirli bir davranışın kontrolüdür: başlangıç koşulları, girdi ya da adımlar ve yazılımın doğru davranıp davranmadığını gösteren beklenen sonuç.
- [Test Fixture](https://softwaredictionary.org/tr/terimler/test-fixture): Test fixture, bir testin çalışmadan önce ihtiyaç duyduğu örnek veri ya da yapılandırılmış nesne gibi bilinen durum ile onu kurup temizleyen koddur.
- [Test Kapsamı](https://softwaredictionary.org/tr/terimler/test-coverage): Test kapsamı, otomatik testler çalışırken bir programın kaynak kodunun ne kadarının yürütüldüğünü ölçen ve genellikle yüzde olarak gösterilen bir metriktir.
- [Test Odaklı Geliştirme](https://softwaredictionary.org/tr/terimler/test-driven-development): Test odaklı geliştirme, önce başarısız bir test yazdığınız, sonra onu geçirecek kadar kod yazıp ardından tasarımı temizlediğiniz bir kodlama pratiğidir.
- [Test Otomasyonu](https://softwaredictionary.org/tr/terimler/test-automation): Test otomasyonu, testleri kodla çalıştırıp sonuçları denetlemektir; böylece aynı kontroller elle değil, her değişiklikte hızlı ve tutarlı biçimde tekrarlanır.
- [Test Piramidi](https://softwaredictionary.org/tr/terimler/test-pyramid): Test piramidi, otomatik testleri dengelemek için bir modeldir: çok sayıda hızlı birim testi, daha az entegrasyon testi ve tepede birkaç yavaş uçtan uca test.
- [Test Runner](https://softwaredictionary.org/tr/terimler/test-runner): Test runner, bir projenin otomatik testlerini genellikle tek komutla bulan, çalıştıran ve hangilerinin geçtiğini ya da başarısız olduğunu raporlayan araçtır.
- [Uçtan Uca Test](https://softwaredictionary.org/tr/terimler/end-to-end-test): Uçtan uca test, kullanıcı arayüzünden veritabanına ve geri dönüşe kadar tam bir kullanıcı yolculuğunu uygulamanın tamamında çalıştıran otomatik bir testtir.
- [Yük Testi](https://softwaredictionary.org/tr/terimler/load-testing): Yük testi, bir sistemin beklenen trafik altında nasıl davrandığını ölçmek için aynı anda çok sayıda kullanıcıyı ya da isteği simüle eden performans testidir.

## Ağlar

Verinin makineler arasında nasıl yol aldığı: adresler, portlar, protokoller ve bağlantıları hızlı, yavaş ya da güvenli yapan şeyler. [Bütün Ağlar terimleri](https://softwaredictionary.org/tr/kutuphane/networking)

- [Ağ Anahtarı](https://softwaredictionary.org/tr/terimler/network-switch): Ağ anahtarı, aynı yerel ağdaki cihazları birbirine bağlayan ve her çerçeveyi yalnızca hedef MAC adresinin bulunduğu porta ileten bir cihazdır.
- [Alt Ağ](https://softwaredictionary.org/tr/terimler/subnet): Alt ağ, daha büyük bir ağın IP adres aralığı bölünerek elde edilen daha küçük bir ağdır; trafiği düzenli ve sınırlı tutar, güvenliği kolaylaştırır.
- [ARP](https://softwaredictionary.org/tr/terimler/arp): ARP, yerel ağda bir IPv4 adresine ait MAC adresini bulan ve bir cihazın her Ethernet çerçevesini nereye teslim edeceğini bilmesini sağlayan ağ protokolüdür.
- [Bant Genişliği](https://softwaredictionary.org/tr/terimler/bandwidth): Bant genişliği, bir ağ bağlantısının saniyede taşıyabileceği en yüksek veri miktarıdır; genellikle saniyedeki megabit ya da gigabit (Mbps, Gbps) ile ölçülür.
- [BGP](https://softwaredictionary.org/tr/terimler/bgp): BGP (Border Gateway Protocol), internetin otonom sistemlerini, ulaşabildikleri IP aralıklarını duyurmalarını sağlayarak bağlayan yönlendirme protokolüdür.
- [CIDR](https://softwaredictionary.org/tr/terimler/cidr): CIDR (Classless Inter-Domain Routing), bir IP aralığını 10.0.0.0/16 gibi bir adres ve önek uzunluğu olarak yazar; önek, ağı tanımlayan baştaki bit sayısıdır.
- [DHCP](https://softwaredictionary.org/tr/terimler/dhcp): DHCP, bir ağa katılan cihazlara IP adresi ile yönlendirici ve DNS sunucusu gibi diğer ayarları otomatik olarak veren bir ağ protokolüdür.
- [DNS Kaydı](https://softwaredictionary.org/tr/terimler/dns-record): DNS kaydı, bir alan adının DNS bölgesinde bir adı bilgiye eşleyen giriştir: IP adresi (A, AAAA), başka bir ad (CNAME) ya da e-posta sunucuları (MX) gibi.
- [Gecikme](https://softwaredictionary.org/tr/terimler/latency): Gecikme, bir istek ile yanıtın başlaması arasında geçen süredir; genellikle milisaniyeyle ölçülür ve bir uygulamanın ne kadar hızlı hissettirdiğini belirler.
- [Güvenlik Duvarı](https://softwaredictionary.org/tr/terimler/firewall): Güvenlik duvarı, ağ trafiğine kurallara göre izin veren ya da onu engelleyen, güvenilir ve güvenilmeyen ağlar arasında bariyer olan bir güvenlik sistemidir.
- [HTTP/2](https://softwaredictionary.org/tr/terimler/http-2): HTTP/2, birçok istek ve yanıtı kompakt bir ikili biçimde tek bağlantı üzerinden aynı anda gönderen ve sayfaları hızlandıran, HTTP'nin ikinci büyük sürümüdür.
- [IP Adresi](https://softwaredictionary.org/tr/terimler/ip-address): IP adresi, ağdaki her cihaza verilen ve verinin o cihaza yönlendirilmesini sağlayan sayısal bir etikettir; bir evin posta adresine benzer.
- [IPv4](https://softwaredictionary.org/tr/terimler/ipv4): IPv4, internetin ilk adresleme sistemidir; 192.168.1.10 gibi dört sayı olarak yazılan 32 bitlik adresler kullanır ve yaklaşık 4,3 milyar adrese izin verir.
- [IPv6](https://softwaredictionary.org/tr/terimler/ipv6): IPv6, her cihaza benzersiz bir adres verebilen 128 bitlik adresler kullanan ve tükenen IPv4 havuzunun yerini alan İnternet Protokolü'nün en yeni sürümüdür.
- [LAN](https://softwaredictionary.org/tr/terimler/lan): LAN, ev, ofis ya da okul gibi küçük bir alandaki cihazları bağlayan ve bunların birbirine doğrudan ve hızlı biçimde ulaşıp kaynak paylaşmasını sağlayan ağdır.
- [Localhost](https://softwaredictionary.org/tr/terimler/localhost): Localhost, kullandığınız bilgisayarı gösteren host adıdır; 127.0.0.1 loopback adresine (IPv6'da ::1) çözümlenir, bu yüzden ona giden trafik makineden çıkmaz.
- [MAC Adresi](https://softwaredictionary.org/tr/terimler/mac-address): MAC adresi, bir ağ arayüzüne atanan 48 bitlik donanım tanımlayıcısıdır ve aynı yerel ağdaki cihazlar arasında veri teslimi için kullanılır.
- [NAT](https://softwaredictionary.org/tr/terimler/nat): NAT, yönlendiricinin geçen paketlerdeki IP adreslerini yeniden yazarak özel ağdaki birçok cihazın tek bir genel IP adresini paylaşmasını sağlayan tekniktir.
- [OSI Modeli](https://softwaredictionary.org/tr/terimler/osi-model): OSI modeli, ağ iletişimini fiziksel kablolardan insanların kullandığı uygulamalara kadar yedi katmana ayıran kavramsal bir çerçevedir.
- [Paket](https://softwaredictionary.org/tr/terimler/packet): Paket, bir ağ üzerinden gönderilen küçük ve biçimlendirilmiş bir veri birimidir; adresleme bilgisi taşıyan bir başlık ile asıl veriyi taşıyan bir yükten oluşur.
- [Ping](https://softwaredictionary.org/tr/terimler/ping): Ping, bir ana makineye küçük ICMP echo istekleri göndererek ona ulaşılıp ulaşılamadığını ve her yanıtın ne kadar sürede döndüğünü ölçen bir ağ aracıdır.
- [Port](https://softwaredictionary.org/tr/terimler/network-port): Port, bir cihazdaki belirli bir programı ya da hizmeti tanımlayan, 0 ile 65535 arasında bir sayıdır; IP adresine gelen trafik böylece doğru uygulamaya ulaşır.
- [Proxy Sunucusu](https://softwaredictionary.org/tr/terimler/proxy-server): Proxy sunucusu, istemciler ya da sunucular adına ağ isteklerini alıp ileten aracı bir sunucudur; denetim, önbellekleme veya gizlilik sağlar.
- [QUIC](https://softwaredictionary.org/tr/terimler/quic): QUIC, UDP üzerine kurulu; şifreli, güvenilir ve çoklu akışlı bağlantıları hızlı kurulumla sağlayan, HTTP/3'ün temelini oluşturan modern bir taşıma protokolüdür.
- [SMTP](https://softwaredictionary.org/tr/terimler/smtp): SMTP, e-posta göndermek için standart internet protokolüdür; uygulamalar mesajları iletmek, posta sunucuları ise alıcının sunucusuna aktarmak için kullanır.
- [Socket](https://softwaredictionary.org/tr/terimler/socket): Socket, bir programın ağ üzerinden veri gönderip almak için açtığı; IP adresi, port numarası ve protokolle tanımlanan yazılım tabanlı bir uç noktadır.
- [SSH](https://softwaredictionary.org/tr/terimler/ssh): SSH, uzak bilgisayarlarda güvenle oturum açıp komut çalıştırmaya yarayan, iki makine arasındaki tüm trafiği şifreleyen kriptografik bir ağ protokolüdür.
- [TCP](https://softwaredictionary.org/tr/terimler/tcp): TCP, bir bağlantı kurup kaybolan verileri yeniden göndererek iki program arasında veriyi güvenilir ve sıralı biçimde ileten temel bir internet protokolüdür.
- [TCP Handshake](https://softwaredictionary.org/tr/terimler/tcp-handshake): TCP el sıkışması, istemci ile sunucunun veri göndermeden önce bağlantı açıp başlangıç sıra numaralarında anlaştığı SYN, SYN-ACK, ACK alışverişidir.
- [Throughput](https://softwaredictionary.org/tr/terimler/throughput): Throughput (verim), bir sistemin birim zamanda gerçekte işlediği veri ya da iş miktarıdır; ağda saniyedeki megabit, sunucuda saniyedeki istek sayısı gibi.
- [Traceroute](https://softwaredictionary.org/tr/terimler/traceroute): Traceroute, bir paketin hedefine giderken geçtiği her yönlendiriciyi ve her birine ulaşma gecikmesini listeleyen bir ağ tanılama aracıdır.
- [TTL](https://softwaredictionary.org/tr/terimler/time-to-live): TTL (time to live), verinin geçerlilik sınırıdır: IP paketinde kalan yönlendirici atlaması sayısı, DNS'te ve önbellekte yanıtın kaç saniye kullanılabileceği.
- [UDP](https://softwaredictionary.org/tr/terimler/udp): UDP, bağlantı kurmadan datagram adı verilen küçük ve bağımsız mesajlar gönderen, garantili teslimat yerine hızı seçen hafif bir internet protokolüdür.
- [Varsayılan Ağ Geçidi](https://softwaredictionary.org/tr/terimler/default-gateway): Varsayılan ağ geçidi, hedef kendi alt ağının dışında olduğunda bir cihazın trafiği gönderdiği yönlendiricidir ve ağın diğer ağlara açılan çıkışı olarak çalışır.
- [VPN](https://softwaredictionary.org/tr/terimler/vpn): VPN, bir cihaz ile başka bir ağ arasında şifreli bir tünel kuran teknolojidir; böylece trafik genel internet üzerinden özel biçimde taşınabilir.
- [WAN](https://softwaredictionary.org/tr/terimler/wan): WAN, şehirler ya da ülkeler gibi geniş mesafelerdeki cihazları ve yerel ağları, çoğunlukla telekom sağlayıcılarından kiralanan hatlarla bağlayan ağdır.
- [Yönlendirici](https://softwaredictionary.org/tr/terimler/router): Yönlendirici, paketleri farklı ağlar arasında ileten ve her biri için bir sonraki sıçramayı hedef IP adresine göre seçen bir ağ cihazıdır.

## Veri Yapıları

Programların veriyi düzenlemek için kullandığı yapılar (listeler, yığınlar, ağaçlar, çizgeler) ve onları aramanın ve sıralamanın klasik yolları. [Bütün Veri Yapıları terimleri](https://softwaredictionary.org/tr/kutuphane/data-structures)

- [Açgözlü Algoritma](https://softwaredictionary.org/tr/terimler/greedy-algorithm): Açgözlü algoritma, önceki kararları yeniden düşünmeden her adımda o an en iyi görünen seçimi yaparak çözümü adım adım kuran bir algoritmadır.
- [Ağaç](https://softwaredictionary.org/tr/terimler/tree): Ağaç, kenarlarla bağlı düğümlerden oluşan hiyerarşik bir veri yapısıdır; en üstte tek bir kök düğüm ve altında dallanan çocuk düğümler bulunur.
- [B-Tree](https://softwaredictionary.org/tr/terimler/b-tree): B-tree, düğümleri çok sayıda sıralı anahtar ve çocuk tutan, kendini dengeleyen arama ağacıdır; sığ kaldığından aramalar çok az disk ya da sayfa okuması ister.
- [Bağlı Liste](https://softwaredictionary.org/tr/terimler/linked-list): Bağlı liste, öğeleri ayrı düğümlerde saklayan bir veri yapısıdır; her düğüm bir değer ile zincirdeki sonraki düğüme bir referans tutar.
- [Bloom Filter](https://softwaredictionary.org/tr/terimler/bloom-filter): Bloom filter, çok az bellek kullanarak bir öğenin kümede kesinlikle olmadığını ya da büyük olasılıkla olduğunu söyleyen kompakt, olasılıksal bir veri yapısıdır.
- [Böl ve Yönet](https://softwaredictionary.org/tr/terimler/divide-and-conquer): Böl ve yönet, bir problemi daha küçük bağımsız parçalara bölen, her birini özyinelemeyle çözen ve sonuçları birleştiren bir algoritma tasarım tekniğidir.
- [Bubble Sort](https://softwaredictionary.org/tr/terimler/bubble-sort): Bubble sort (kabarcık sıralaması), sırası bozuk komşu öğeleri yer değiştiren basit bir sıralama algoritmasıdır; her geçiş kalan en büyük değeri sona taşır.
- [Çizge](https://softwaredictionary.org/tr/terimler/graph): Çizge, kenarlarla bağlı düğümlerden (köşelerden) oluşan ve yollar, arkadaşlıklar ve bağımlılıklar gibi ilişkileri modellemekte kullanılan bir veri yapısıdır.
- [Dengeli Ağaç](https://softwaredictionary.org/tr/terimler/balanced-tree): Dengeli ağaç, her değişiklikten sonra dengelenerek yüksekliğini log n civarında tutan ağaçtır; arama, ekleme ve silme en kötü durumda bile O(log n) kalır.
- [Deque](https://softwaredictionary.org/tr/terimler/deque): Deque, hem önden hem arkadan sabit sürede öğe eklemeye ve çıkarmaya izin veren çift uçlu bir kuyruktur; hem yığın hem kuyruk gibi davranabilir.
- [Derinlik Öncelikli Arama](https://softwaredictionary.org/tr/terimler/depth-first-search): Derinlik öncelikli arama, bir yolu gidebildiği kadar izleyip sonra geri dönerek sıradaki ziyaret edilmemiş dalı keşfeden bir çizge gezinme algoritmasıdır.
- [Dijkstra Algoritması](https://softwaredictionary.org/tr/terimler/dijkstras-algorithm): Dijkstra algoritması, tüm kenar ağırlıkları sıfır ya da pozitifken bir başlangıç düğümünden diğer tüm düğümlere en kısa yolları bulan çizge algoritmasıdır.
- [Dinamik Programlama](https://softwaredictionary.org/tr/terimler/dynamic-programming): Dinamik programlama, bir problemi çakışan alt problemlere bölüp her cevabı saklayarak hiçbirini iki kez çözmeden problemi çözme tekniğidir.
- [Doğrusal Arama](https://softwaredictionary.org/tr/terimler/linear-search): Doğrusal arama (linear search), bir değeri listenin öğelerini baştan tek tek kontrol ederek eşleşme bulana ya da sona ulaşana kadar arar ve O(n) zaman alır.
- [Genişlik Öncelikli Arama](https://softwaredictionary.org/tr/terimler/breadth-first-search): Genişlik öncelikli arama, düğümleri başlangıca uzaklık sırasıyla ziyaret eden ve derine inmeden önce tüm komşuları keşfeden bir çizge gezinme algoritmasıdır.
- [Geri İzleme](https://softwaredictionary.org/tr/terimler/backtracking): Geri izleme, çözümü her seferinde bir seçimle kuran ve çıkmaza girdiğinde son seçimi geri alarak başka bir seçenek deneyen bir arama tekniğidir.
- [Hash Çakışması](https://softwaredictionary.org/tr/terimler/hash-collision): Hash çakışması, iki farklı girdinin aynı hash değerine ya da kovaya düşmesidir; hash tabloları bunu ele alır, kriptografik hash'lerde pratikte bulunamamalıdır.
- [Hash Tablosu](https://softwaredictionary.org/tr/terimler/hash-table): Hash tablosu, anahtar-değer çiftlerini saklayan ve hash fonksiyonuyla herhangi bir anahtarın değerini ortalamada sabit sürede bulan bir veri yapısıdır.
- [Heap](https://softwaredictionary.org/tr/terimler/heap): Heap, en küçük ya da en büyük öğeyi kökünde tutan ağaç tabanlı bir veri yapısıdır; bu öğeyi O(1)'de okuyabilir ve O(log n)'de çıkarabilirsiniz.
- [Insertion Sort](https://softwaredictionary.org/tr/terimler/insertion-sort): Insertion sort (eklemeli sıralama), sıralı listeyi öğe öğe kurar; her yeni öğeyi sıralanmışlar arasında yerine koyar, tıpkı eldeki kartları dizmek gibi.
- [İkili Arama](https://softwaredictionary.org/tr/terimler/binary-search): İkili arama, sıralı bir listedeki bir değeri arama aralığını sürekli yarıya bölerek bulan bir algoritmadır; her öğeyi denetlemek yerine O(log n) sürer.
- [İkili Arama Ağacı](https://softwaredictionary.org/tr/terimler/binary-search-tree): İkili arama ağacı, her düğümün sol alt ağacında küçük, sağ alt ağacında büyük değerler bulunan ve hızlı sıralı aramaya olanak tanıyan bir ikili ağaçtır.
- [Komşuluk Listesi](https://softwaredictionary.org/tr/terimler/adjacency-list): Komşuluk listesi, her düğümün bağlı olduğu düğümlerin listesini tuttuğu ve düğüm ile kenar sayısıyla orantılı bellek kullanan bir çizge saklama yöntemidir.
- [Kuyruk](https://softwaredictionary.org/tr/terimler/queue): Kuyruk, öğeleri ilk giren ilk çıkar (FIFO) sırasıyla saklayan bir veri yapısıdır; en uzun süre bekleyen öğe her zaman çıkarılacak sonraki öğedir.
- [LRU Cache](https://softwaredictionary.org/tr/terimler/lru-cache): LRU (least recently used) cache, sabit sayıda öğe tutar ve dolunca en uzun süredir kullanılmayanı atar; son kullanılan verinin yine gerekeceğini varsayar.
- [Merge Sort](https://softwaredictionary.org/tr/terimler/merge-sort): Merge sort, bir listeyi ikiye bölen, her yarıyı özyinelemeyle sıralayan ve sıralı yarıları O(n log n) sürede birleştiren böl ve yönet sıralama algoritmasıdır.
- [Öncelik Kuyruğu](https://softwaredictionary.org/tr/terimler/priority-queue): Öncelik kuyruğu, her öğenin bir önceliği olduğu ve ne zaman eklendiğine bakılmaksızın en yüksek öncelikli öğenin her zaman önce çıkarıldığı bir koleksiyondur.
- [Quicksort](https://softwaredictionary.org/tr/terimler/quicksort): Quicksort, öğeleri seçilen bir pivot etrafında bölümleyen, sonra küçük ve büyük grupları aynı şekilde sıralayan bir böl ve yönet sıralama algoritmasıdır.
- [Set](https://softwaredictionary.org/tr/terimler/set-data-structure): Set, her farklı değeri en fazla bir kez saklayan ve bir değerin içinde olup olmadığını çoğunlukla sabit sürede kontrol edebilen bir koleksiyondur.
- [Sıralama Algoritması](https://softwaredictionary.org/tr/terimler/sorting-algorithm): Sıralama algoritması, öğeleri sayıları küçükten büyüğe ya da adları alfabetik olarak sıralamak gibi tanımlı bir düzene sokan adım adım bir yöntemdir.
- [Sliding Window](https://softwaredictionary.org/tr/terimler/sliding-window): Sliding window tekniği, dizi ya da string'in ardışık parçalarıyla ilgili problemleri alt dizileri baştan hesaplamadan, pencereyi kaydırıp güncelleyerek çözer.
- [Topolojik Sıralama](https://softwaredictionary.org/tr/terimler/topological-sort): Topolojik sıralama, döngüsüz yönlü bir çizgenin düğümlerini, A'dan B'ye her kenar için listede A'nın B'den önce geleceği biçimde sıralayan algoritmadır.
- [Trie](https://softwaredictionary.org/tr/terimler/trie): Trie, string'leri karakter karakter saklayan ağaç biçimli bir veri yapısıdır; aynı öneki paylaşan tüm kelimeler kökten itibaren aynı yolu paylaşır.
- [Two Pointers](https://softwaredictionary.org/tr/terimler/two-pointers): Two pointers tekniği, bir dizi ya da listeyi basit kurallarla ilerleyen iki indeksle tarar; iç içe döngü ister gibi görünen birçok problemi tek geçişte çözer.
- [Union-Find](https://softwaredictionary.org/tr/terimler/union-find): Union-find (ayrık küme birleşimi), öğe gruplarını izleyip birleştiren ve iki öğenin bağlı olup olmadığını neredeyse anında söyleyen veri yapısıdır.
- [Yığın](https://softwaredictionary.org/tr/terimler/stack): Yığın, öğeleri son giren ilk çıkar (LIFO) sırasıyla saklayan bir veri yapısıdır; en son eklenen öğe her zaman ilk çıkarılan öğedir.

## İşletim Sistemleri

Her programın altında olanlar: süreçler ve iş parçacıkları, bellek, dosyalar, kabuk ve hepsini çalıştıran çekirdek. [Bütün İşletim Sistemleri terimleri](https://softwaredictionary.org/tr/kutuphane/operating-systems)

- [Bootloader](https://softwaredictionary.org/tr/terimler/bootloader): Bootloader, bilgisayarın firmware'i başladıktan sonra çalışan, işletim sistemi kernel'ını belleğe yükleyen ve denetimi ona devreden küçük bir programdır.
- [Context Switch](https://softwaredictionary.org/tr/terimler/context-switch): Context switch, işletim sisteminin çalışan thread veya process'in durumunu kaydedip CPU'yu kullanabilmesi için başka birinin durumunu geri yüklemesidir.
- [CPU](https://softwaredictionary.org/tr/terimler/cpu): CPU (merkezî işlem birimi), program talimatlarını yürüten ve her yazılımın üzerinde çalıştığı aritmetik, mantık ve kontrol işlerini yapan işlemcidir.
- [CPU Önbelleği](https://softwaredictionary.org/tr/terimler/cpu-cache): CPU önbelleği, işlemcideki küçük ve çok hızlı bir bellektir; RAM'den yakın zamanda kullanılan verinin kopyalarını tutar, böylece CPU belleği daha az bekler.
- [CPU Zamanlama](https://softwaredictionary.org/tr/terimler/cpu-scheduling): CPU zamanlama, işletim sisteminin her CPU çekirdeğinde hangi hazır process ya da thread'in ne kadar çalışacağına karar vermesidir; işlemci adil paylaşılır.
- [Daemon](https://softwaredictionary.org/tr/terimler/daemon): Daemon, kullanıcı arayüzü olmadan arka planda çalışan, genellikle açılışta başlatılan ve günlükleme, zamanlama veya SSH gibi bir hizmet sunan programdır.
- [Deadlock](https://softwaredictionary.org/tr/terimler/deadlock): Deadlock, iki ya da daha fazla thread veya process'in kaynakları bırakmaları için birbirini sonsuza dek beklediği ve hiçbirinin ilerleyemediği durumdur.
- [Device Driver](https://softwaredictionary.org/tr/terimler/device-driver): Device driver, işletim sisteminin belirli bir donanımı denetlemesini sağlayan ve genel işletim sistemi isteklerini aygıta özgü komutlara çeviren yazılımdır.
- [Dosya İzinleri](https://softwaredictionary.org/tr/terimler/file-permissions): Dosya izinleri, bir dosyayı kimin okuyup değiştirebileceğini ya da çalıştırabileceğini belirleyen ve işletim sisteminin her erişimde uyguladığı kurallardır.
- [Dosya Sistemi](https://softwaredictionary.org/tr/terimler/file-system): Dosya sistemi, işletim sisteminin bir depolama aygıtındaki veriyi dosya ve klasörlere düzenleyen ve her parçanın nerede saklandığını izleyen bölümüdür.
- [File Descriptor](https://softwaredictionary.org/tr/terimler/file-descriptor): File descriptor, Unix benzeri bir işletim sisteminin process'e açık bir dosya, socket, pipe ya da başka bir girdi/çıktı kaynağı için verdiği küçük tamsayıdır.
- [GPU](https://softwaredictionary.org/tr/terimler/gpu): GPU (grafik işlem birimi), binlerce küçük çekirdeğiyle aynı hesabı çok büyük veri üzerinde aynı anda yapan işlemcidir; grafik ve yapay zekâ için kullanılır.
- [Heap Belleği](https://softwaredictionary.org/tr/terimler/heap-memory): Heap belleği, boyutu ya da ömrü önceden bilinmeyen, çalışma zamanında ayrılan ve onu oluşturan fonksiyondan uzun yaşayabilen verilerin tutulduğu bölgedir.
- [Hypervisor](https://softwaredictionary.org/tr/terimler/hypervisor): Hypervisor, tek bir fiziksel bilgisayarın CPU, bellek ve aygıtlarını paylaştırarak yalıtılmış sanal makineler oluşturan ve çalıştıran yazılımdır.
- [Interrupt](https://softwaredictionary.org/tr/terimler/interrupt): Interrupt, CPU'ya bir olayın acil ilgi gerektirdiğini bildiren sinyaldir; CPU mevcut işini duraklatır ve kernel'daki özel bir işleyiciyi çalıştırır.
- [İşletim Sistemi](https://softwaredictionary.org/tr/terimler/operating-system): İşletim sistemi (OS), bilgisayarın donanımını yöneten temel yazılımdır; bu donanımı programlar arasında paylaştırır ve onu kullanmanın ortak bir yolunu sunar.
- [Kernel](https://softwaredictionary.org/tr/terimler/kernel): Kernel, işletim sisteminin CPU'yu, belleği ve donanım aygıtlarını yöneten ve programların bu kaynaklara nasıl eriştiğini denetleyen çekirdek bölümüdür.
- [Kernel Mode](https://softwaredictionary.org/tr/terimler/kernel-mode): Kernel mode (çekirdek kipi), çekirdeğin donanıma ve belleğe tam erişebildiği ayrıcalıklı CPU durumudur; sıradan programlar kısıtlı kullanıcı kipinde çalışır.
- [Komut Satırı Arayüzü](https://softwaredictionary.org/tr/terimler/command-line-interface): Komut satırı arayüzü (CLI), bilgisayarı metinle kullanmanın yoludur: seçenekleri ve argümanlarıyla bir komut yazar, Enter'a basar ve çıktısını okursunuz.
- [Memory Leak](https://softwaredictionary.org/tr/terimler/memory-leak): Memory leak, bir programın artık ihtiyaç duymadığı belleği tutmayı sürdürdüğü hatadır; bellek kullanımı zamanla artar, sistem yavaşlayabilir ya da çökebilir.
- [Mutex](https://softwaredictionary.org/tr/terimler/mutex): Mutex, kodun kritik bir bölümüne aynı anda yalnızca bir thread'in girmesine izin veren bir kilittir; thread'ler paylaşılan veriyi aynı anda değiştirip bozamaz.
- [Paging](https://softwaredictionary.org/tr/terimler/paging): Paging, belleği sabit boyutlu sayfalara bölen ve sayfa tablolarıyla her process'in sanal sayfalarını fiziksel RAM'e eşleyen bir bellek yönetim düzenidir.
- [Process](https://softwaredictionary.org/tr/terimler/process): Process, bir programın çalışan örneğidir; işletim sistemi tarafından yönetilen kendi bellek alanına, kaynaklarına ve en az bir yürütme iş parçacığına sahiptir.
- [Race Condition](https://softwaredictionary.org/tr/terimler/race-condition): Race condition, programın sonucunun paylaşılan veriyi aynı anda kullanan thread, process veya isteklerin öngörülemeyen zamanlamasına bağlı olduğu hatadır.
- [RAM](https://softwaredictionary.org/tr/terimler/ram): RAM (rastgele erişimli bellek), bilgisayarın hızlı ve geçici çalışma belleğidir; kullanımdaki programları ve verileri tutar, güç kesilince içeriği kaybolur.
- [Sanal Bellek](https://softwaredictionary.org/tr/terimler/virtual-memory): Sanal bellek, her process'e kendine ait özel bir adres alanı veren ve bunu arka planda fiziksel RAM'e ya da diske eşleyen bir işletim sistemi tekniğidir.
- [Semaphore](https://softwaredictionary.org/tr/terimler/semaphore): Semaphore, mevcut izinlerin sayacını tutan bir senkronizasyon aracıdır; belirli bir sayıya kadar thread'in bir kaynağı aynı anda kullanmasına izin verir.
- [Shell](https://softwaredictionary.org/tr/terimler/shell): Shell, kullanıcının yazdığı ya da bir betikte yazılı komutları okuyup işletim sisteminden çalıştırmasını isteyen, genellikle metin arayüzlü bir programdır.
- [Stack Belleği](https://softwaredictionary.org/tr/terimler/stack-memory): Stack belleği, bir thread'in fonksiyonlarının yerel değişkenlerini ve dönüş adreslerini tuttuğu bölgedir; her çağrıda büyür, dönüşte otomatik olarak küçülür.
- [sudo](https://softwaredictionary.org/tr/terimler/sudo): sudo, izin verilen bir kullanıcının kendi parolasıyla tek bir komutu root ya da başka bir kullanıcının yetkileriyle çalıştırmasını sağlar ve bunu kaydeder.
- [Swap Alanı](https://softwaredictionary.org/tr/terimler/swap-space): Swap alanı, işletim sisteminin RAM'in taşma alanı olarak kullandığı disk bölgesidir; fiziksel bellek azaldığında az kullanılan bellek sayfaları oraya taşınır.
- [System Call](https://softwaredictionary.org/tr/terimler/system-call): System call, bir programın işletim sistemi kernel'ından bir dosyayı okumak ya da process başlatmak gibi ayrıcalıklı bir işlem yapmasını istediği çağrıdır.
- [Terminal](https://softwaredictionary.org/tr/terimler/terminal): Terminal, bir metin arayüzü gösteren, tuş vuruşlarınızı bir kabuğa ya da komut satırı programına iletip onun geri gönderdiği metni görüntüleyen programdır.
- [Thread](https://softwaredictionary.org/tr/terimler/thread): Thread, işletim sisteminin zamanlayabileceği en küçük yürütme birimidir; bir process içinde çalışır ve o process'in belleğini diğer thread'lerle paylaşır.
- [Unix](https://softwaredictionary.org/tr/terimler/unix): Unix, 1969'da Bell Labs'ta doğan ve küçük araçlar, dosyalar ve bir kabuktan oluşan tasarımı Linux ve macOS'ta yaşamaya devam eden bir işletim sistemi ailesidir.
- [Unix Signal](https://softwaredictionary.org/tr/terimler/unix-signal): Unix signal, kernel'ın bir process'e durdurma isteği, hata ya da dolan bir zamanlayıcı gibi bir olayı bildirmek için ilettiği kısa ve asenkron bir bildirimdir.
- [User Space](https://softwaredictionary.org/tr/terimler/user-space): User space, sıradan programların çalıştığı kısıtlı alandır; kernel space'ten ayrıdır, böylece hatalı ya da kötü niyetli bir uygulama tüm sistemi çökertemez.

## Programlama Dilleri

Geliştiricilerin yazdığı diller, her birinin neyle bilindiği ve en çok nerede karşınıza çıktığı. [Bütün Programlama Dilleri terimleri](https://softwaredictionary.org/tr/kutuphane/languages)

- [Assembly Dili](https://softwaredictionary.org/tr/terimler/assembly-language): Assembly dili, komutları bir işlemcinin makine koduna neredeyse bire bir karşılık gelen ve mov, add gibi kısa anımsatıcılarla yazılan düşük seviyeli bir dildir.
- [Bash](https://softwaredictionary.org/tr/terimler/bash): Bash, çoğu Linux sisteminde varsayılan Unix kabuğu ve betik dilidir; komutları etkileşimli yazmak ve görevleri betiklerle otomatikleştirmek için kullanılır.
- [C](https://softwaredictionary.org/tr/terimler/c-language): C, belleğe doğrudan erişim sağlayan, derlenen ve düşük seviyeli bir programlama dilidir; işletim sistemlerinde, sürücülerde ve gömülü yazılımlarda kullanılır.
- [C#](https://softwaredictionary.org/tr/terimler/csharp): C#, çöp toplamalı .NET çalışma ortamında çalışan, statik tipli, nesne yönelimli bir dildir; web arka uçları, masaüstü uygulamalar ve oyunlar için kullanılır.
- [C++](https://softwaredictionary.org/tr/terimler/cpp): C++, C'yi sınıflar ve şablonlarla genişleten; bellek ve performans üzerinde düşük seviyeli kontrolü koruyan, derlenen ve statik tipli bir dildir.
- [Clojure](https://softwaredictionary.org/tr/terimler/clojure): Clojure, JVM'de çalışan modern ve dinamik bir Lisp lehçesidir; değiştirilemez veriyi, fonksiyonel programlamayı ve REPL tabanlı geliştirmeyi öne çıkarır.
- [COBOL](https://softwaredictionary.org/tr/terimler/cobol): COBOL (Common Business-Oriented Language), iş verisi işlemek için 1959'da tasarlanmış bir dildir; hâlâ kritik bankacılık ve kamu sistemlerini çalıştırır.
- [Dart](https://softwaredictionary.org/tr/terimler/dart): Dart, Google'ın yerel koda ve JavaScript'e derlenen, statik tipli ve çöp toplamalı dilidir; en çok Flutter uygulamalarının dili olarak bilinir.
- [Elixir](https://softwaredictionary.org/tr/terimler/elixir): Elixir, Erlang sanal makinesinde çalışan, hataya dayanıklı ve yüksek eşzamanlılıklı sistemler kurmasıyla bilinen, dinamik ve fonksiyonel bir dildir.
- [Erlang](https://softwaredictionary.org/tr/terimler/erlang): Erlang, Ericsson'da telekom santralleri için geliştirilen fonksiyonel bir dildir; devasa eşzamanlılık, hata toleransı ve kesintisiz çalışma için tasarlandı.
- [F#](https://softwaredictionary.org/tr/terimler/fsharp): F#, .NET için fonksiyonel öncelikli, statik tipli bir dildir; tip çıkarımlı özlü kodu, .NET ekosistemine ve C# kütüphanelerine tam erişimle birleştirir.
- [Fortran](https://softwaredictionary.org/tr/terimler/fortran): Fortran, 1957'de IBM'de bilim ve mühendislik hesapları için geliştirilen ilk yaygın yüksek seviyeli dildir; yüksek performanslı hesaplamada hâlâ kullanılır.
- [Go](https://softwaredictionary.org/tr/terimler/go-language): Go, sadelik ve hızlı derleme için tasarlanmış; çöp toplama ve goroutine'lerle yerleşik eşzamanlılık sunan, derlenen ve statik tipli bir dildir.
- [Haskell](https://softwaredictionary.org/tr/terimler/haskell): Haskell, tembel değerlendirme kullanan, saf fonksiyonel ve statik tipli bir dildir; anlatımı güçlü tip sistemi ve matematiksel kesinlikteki koduyla bilinir.
- [Java](https://softwaredictionary.org/tr/terimler/java): Java, Java Sanal Makinesi için bayt koda derlenen, statik tipli ve nesne yönelimli bir programlama dilidir; programlar birçok platformda çalışabilir.
- [Julia](https://softwaredictionary.org/tr/terimler/julia): Julia, bilimsel ve sayısal hesaplama için yüksek seviyeli, dinamik tipli bir dildir; Python kadar kolay yazılıp C kadar hızlı çalışmayı hedefler.
- [JVM](https://softwaredictionary.org/tr/terimler/jvm): JVM, Java bytecode'unu çalıştırır; böylece derlenmiş bir program her işletim sisteminde çalışır. Kotlin, Scala ve Clojure da bu bytecode'a derlenir.
- [Kotlin](https://softwaredictionary.org/tr/terimler/kotlin): Kotlin, JVM üzerinde çalışan, Java ile sorunsuz uyum sağlayan, özlü ve statik tipli bir dildir; Android ve sunucu tarafı geliştirmede yaygın kullanılır.
- [Lua](https://softwaredictionary.org/tr/terimler/lua): Lua, başka uygulamalara gömülmek üzere tasarlanmış küçük ve hızlı bir betik dilidir; oyun betikleri, eklentiler ve yapılandırma için popülerdir.
- [MATLAB](https://softwaredictionary.org/tr/terimler/matlab): MATLAB, MathWorks'ün matris tabanlı sayısal hesaplama dili ve ortamıdır; mühendisler ve bilim insanları tarafından veri analizi ve simülasyon için kullanılır.
- [Objective-C](https://softwaredictionary.org/tr/terimler/objective-c): Objective-C, Smalltalk tarzı mesajlaşma ekleyen nesne yönelimli bir C üst kümesidir ve Swift gelmeden önce macOS ile iOS uygulamalarının ana diliydi.
- [Perl](https://softwaredictionary.org/tr/terimler/perl): Perl, metin işleme ve yerleşik düzenli ifadeleriyle ünlü, olgun ve dinamik bir betik dilidir; uzun süre sistem yönetiminde ve web betiklerinde kullanıldı.
- [PHP](https://softwaredictionary.org/tr/terimler/php): PHP, web geliştirme için tasarlanmış, sunucuda çalışarak HTML sayfaları üreten ve tarayıcı isteklerini yanıtlayan, dinamik tipli bir betik dilidir.
- [PowerShell](https://softwaredictionary.org/tr/terimler/powershell): PowerShell, Microsoft'un yönetimi otomatikleştirmeye yönelik komut satırı kabuğu ve betik dilidir; komutlar arasında düz metin yerine nesneler aktarır.
- [Programlama Dili](https://softwaredictionary.org/tr/terimler/programming-language): Programlama dili, bilgisayarın yerine getirebileceği talimatları yazmak için kesin kuralları olan biçimsel bir dildir; Python, JavaScript, Java ya da C gibi.
- [Python](https://softwaredictionary.org/tr/terimler/python): Python, okunaklı sözdizimiyle bilinen; veri bilimi, otomasyon ve web arka uçlarında yaygın kullanılan, genel amaçlı ve dinamik tipli bir programlama dilidir.
- [R](https://softwaredictionary.org/tr/terimler/r-language): R, istatistik ve veri analizi için bir programlama dili ve ortamıdır; araştırmalarda veri görselleştirme, istatistiksel modeller ve raporlar için kullanılır.
- [Ruby](https://softwaredictionary.org/tr/terimler/ruby): Ruby, geliştirici mutluluğu için tasarlanmış, okunaklı sözdizimi ve Ruby on Rails web çatısıyla tanınan, dinamik ve nesne yönelimli bir dildir.
- [Rust](https://softwaredictionary.org/tr/terimler/rust): Rust, sahiplik kurallarını derleme zamanında denetleyerek çöp toplayıcı olmadan bellek güvenliği sağlayan, derlenen ve statik tipli bir sistem dilidir.
- [Scala](https://softwaredictionary.org/tr/terimler/scala): Scala, nesne yönelimli ve fonksiyonel programlamayı birleştiren, statik tipli bir JVM dilidir; veri mühendisliğinde ve arka uç sistemlerinde yaygın kullanılır.
- [Swift](https://softwaredictionary.org/tr/terimler/swift): Swift, güvenlik ve hız için tasarlanmış, derlenen ve statik tipli bir dildir; çoğunlukla Apple platformları için uygulama geliştirmede kullanılır.
- [Visual Basic](https://softwaredictionary.org/tr/terimler/visual-basic): Visual Basic, Microsoft'un yeni başlayanlara uygun dil ailesidir; klasik Visual Basic, VB.NET ve Office'i makrolarla otomatikleştiren VBA'yı kapsar.
- [Zig](https://softwaredictionary.org/tr/terimler/zig): Zig, elle bellek yönetimi sunan ve gizli kontrol akışı içermeyen, C'nin daha basit ve güvenli bir halefi olmayı hedefleyen düşük seviyeli bir sistem dilidir.

## Ekipler ve Süreç

Yazılım ekiplerinin işi birlikte nasıl planlayıp teslim ettiği: Agile, Scrum, Kanban, sprint'ler, kullanıcı hikâyeleri ve etraflarındaki ritüeller. [Bütün Ekipler ve Süreç terimleri](https://softwaredictionary.org/tr/kutuphane/software-process)

- [Acceptance Criteria](https://softwaredictionary.org/tr/terimler/acceptance-criteria): Acceptance criteria, tek bir user story'nin ya da backlog öğesinin Product Owner'ın kabulü için karşılaması gereken, test edilebilir koşullardır.
- [Açık Kaynak](https://softwaredictionary.org/tr/terimler/open-source): Açık kaynak yazılım, kaynak kodu herkesin kullanmasına, incelemesine, değiştirmesine ve paylaşmasına izin veren bir lisansla yayımlanan yazılımdır.
- [Agile](https://softwaredictionary.org/tr/terimler/agile): Agile, çalışan yazılımı küçük ve sık parçalar halinde teslim eden ve planları düzenli geri bildirime göre ayarlayan bir yazılım geliştirme yaklaşımıdır.
- [Burndown Chart](https://softwaredictionary.org/tr/terimler/burndown-chart): Burndown chart, bir sprint veya sürümde kalan işi zaman içinde gösteren grafiktir; ekip bitirmek için yolda olup olmadığını bir bakışta görür.
- [Bus Factor](https://softwaredictionary.org/tr/terimler/bus-factor): Bus factor, geriye kalanlardan hiçbiri kritik parçaları bilmediği için bir proje durma noktasına gelmeden önce aniden ayrılabilecek en az kişi sayısıdır.
- [Code Smell](https://softwaredictionary.org/tr/terimler/code-smell): Code smell (kod kokusu), kod hâlâ çalışsa bile çoğu zaman daha derin bir tasarım sorununa işaret eden yüzeysel bir belirtidir.
- [Daily Standup](https://softwaredictionary.org/tr/terimler/daily-standup): Daily standup, ekibin hedefe doğru ilerlemeyi kontrol ettiği, günü planladığı ve engelleri dile getirdiği, genellikle 15 dakikayı geçmeyen günlük toplantıdır.
- [Definition of Done](https://softwaredictionary.org/tr/terimler/definition-of-done): Definition of Done, bir işin ekip tarafından tamamlanmış sayılabilmesi için karşılaması gereken kalite standartlarının ortak kontrol listesidir.
- [Epic](https://softwaredictionary.org/tr/terimler/epic): Epic, Agile'da tek bir sprint'te bitmeyecek kadar büyük olan ve ekibin zamanla teslim edilen daha küçük user story'lere böldüğü geniş bir iş kümesidir.
- [Extreme Programming](https://softwaredictionary.org/tr/terimler/extreme-programming): Extreme Programming, eşli programlama, test odaklı geliştirme ve sürekli entegrasyon gibi mühendislik pratikleri üzerine kurulu bir Agile yöntemidir.
- [Kanban](https://softwaredictionary.org/tr/terimler/kanban): Kanban, işi sütunlardan oluşan bir panoda görselleştiren ve iş akışının düzgün ilerlemesi için aynı anda devam eden iş sayısını sınırlayan bir Agile yöntemidir.
- [Lean Software Development](https://softwaredictionary.org/tr/terimler/lean-software-development): Lean yazılım geliştirme, yalın üretim fikirlerini yazılıma uygulayarak israfı kaldırıp akışı iyileştirerek müşteri değerini hızla teslim etmeyi amaçlar.
- [Mob Programming](https://softwaredictionary.org/tr/terimler/mob-programming): Mob programming, bütün bir ekibin aynı görev üzerinde, aynı anda ve tek bir ortak bilgisayarda sırayla klavyeyi kullanarak çalıştığı bir pratiktir.
- [MVP](https://softwaredictionary.org/tr/terimler/mvp): MVP, gerçek kullanıcıların kullanabileceği en sade ürün sürümüdür; temel bir varsayımı test etmek ve en az emekle en çok şeyi öğrenmek için geliştirilir.
- [Pair Programming](https://softwaredictionary.org/tr/terimler/pair-programming): Pair programming, iki geliştiricinin aynı kod üzerinde birlikte çalıştığı, birinin yazarken diğerinin işi gözden geçirip yönlendirdiği bir Agile tekniğidir.
- [Planning Poker](https://softwaredictionary.org/tr/terimler/planning-poker): Planning poker, ekip üyelerinin bir görev için birer tahmin kartını gizlice seçip aynı anda açtığı, sonra farkları tartıştığı bir tahminleme tekniğidir.
- [Product Backlog](https://softwaredictionary.org/tr/terimler/product-backlog): Product backlog, bir ekibin bir ürünü geliştirmek için yapabileceği özellikler, düzeltmeler ve teknik işler gibi her şeyin tek ve sıralı listesidir.
- [Product Owner](https://softwaredictionary.org/tr/terimler/product-owner): Product Owner, sırada neyin geliştirileceğine karar verip product backlog'u sıralayarak ürünün değerini en üst düzeye çıkaran Scrum sorumluluğudur.
- [Proof of Concept](https://softwaredictionary.org/tr/terimler/proof-of-concept): Proof of concept (PoC, kavram kanıtı), bir fikrin ya da teknolojinin pratikte işe yarayabileceğini asıl geliştirmeden önce gösteren küçük, hızlı bir deneydir.
- [Retrospektif](https://softwaredictionary.org/tr/terimler/retrospective): Retrospektif, ekibin her sprint sonunda nasıl çalıştığını değerlendirip bir dahaki sefer için somut iyileştirmelerde anlaştığı toplantıdır.
- [Scrum](https://softwaredictionary.org/tr/terimler/scrum): Scrum, küçük bir ekibin tanımlı roller, olaylar ve çıktılarla ürünü sprint denen sabit uzunluklu döngülerde teslim ettiği bir Agile framework'üdür.
- [Scrum Master](https://softwaredictionary.org/tr/terimler/scrum-master): Scrum Master, koçluk yaparak, olayları kolaylaştırarak ve engelleri kaldırarak ekibin ve kurumun Scrum'ı iyi kullanmasına yardım eden Scrum sorumluluğudur.
- [SDLC](https://softwaredictionary.org/tr/terimler/software-development-life-cycle): Yazılım geliştirme yaşam döngüsü (SDLC), bir yazılımın geçtiği aşamalar dizisidir: planlama, tasarım, geliştirme, test, yayın ve bakım.
- [Spike](https://softwaredictionary.org/tr/terimler/spike): Spike, Agile ekiplerin bir özelliği geliştirmeye geçmeden önce bir soruyu yanıtlamak veya belirsizliği azaltmak için yaptığı kısa, zaman kutulu araştırmadır.
- [Sprint](https://softwaredictionary.org/tr/terimler/sprint): Sprint, bir Scrum ekibinin tek hedefe doğru çalışıp kullanılabilir bir ürün artışı ürettiği, bir ay veya daha kısa, çoğunlukla iki haftalık sabit dönemdir.
- [Sprint Planning](https://softwaredictionary.org/tr/terimler/sprint-planning): Sprint planning, her sprint'i başlatan Scrum etkinliğidir; ekip bir sprint hedefinde anlaşır, bitirebileceği backlog öğelerini seçer ve işi planlar.
- [Story Points](https://softwaredictionary.org/tr/terimler/story-points): Story point, Agile ekiplerin iş öğelerinin göreli büyüklüğünü saat yerine karmaşıklık, iş miktarı ve belirsizliği birleştirerek tahmin ettiği birimdir.
- [Timeboxing](https://softwaredictionary.org/tr/terimler/timeboxing): Timeboxing (zaman kutulama), bir etkinliğe önceden sabit bir süre sınırı koyup süre dolunca durmaktır; işi odaklı tutar ve kapsam kararlarını zorunlu kılar.
- [User Story](https://softwaredictionary.org/tr/terimler/user-story): User story, bir özelliğin kullanıcının bakış açısından, kimin neyi neden istediğini açıklayan kısa ve sade bir dille yazılmış tanımıdır.
- [Velocity](https://softwaredictionary.org/tr/terimler/velocity): Velocity, bir Agile ekibinin bir sprint'te tamamladığı iş miktarıdır; genellikle biten işlerin story point toplamıdır ve gelecek sprint'leri planlamaya yarar.
- [Waterfall](https://softwaredictionary.org/tr/terimler/waterfall): Waterfall, gereksinimlerin, tasarımın, geliştirmenin, testin ve yayının birbiri ardına gerçekleştiği ardışık bir yazılım geliştirme yaklaşımıdır.
- [Yazılım Lisansı](https://softwaredictionary.org/tr/terimler/software-license): Yazılım lisansı, yazılımın kullanımını, değiştirilmesini ve dağıtımını düzenleyen yasal izindir; açık kaynak lisansları izin verici ya da copyleft olabilir.

## Karşılaştırmalar

“X vs Y” sorularına, her biri bir karşılaştırma tablosuyla, yan yana cevaplar.

- [JavaScript vs TypeScript](https://softwaredictionary.org/tr/karsilastirma/javascript-vs-typescript): JavaScript, tarayıcıların ve Node.js'in çalıştırdığı dinamik tipli dildir; TypeScript ise ona statik tipler ekleyen ve JavaScript'e derlenen bir üst kümedir.
- [SSR vs CSR](https://softwaredictionary.org/tr/karsilastirma/ssr-vs-csr): Sunucu tarafı oluşturmada (SSR) sunucu her istek için HTML'i tamamen hazırlar ve içerik hızlı görünür; CSR'da ise sayfayı tarayıcı JavaScript ile oluşturur.
- [SSG vs SSR](https://softwaredictionary.org/tr/karsilastirma/ssg-vs-ssr): SSG her sayfayı derleme zamanında bir kez HTML'e çevirip herkese aynı dosyayı sunar; SSR ise HTML'i her istekte üretir, böylece güncel veri gösterebilir.
- [Cookie vs Local Storage](https://softwaredictionary.org/tr/karsilastirma/cookie-vs-local-storage): Cookie'ler, tarayıcının eşleşen her istekle sunucuya gönderdiği küçük verilerdir; local storage ise daha büyük veriyi tarayıcıda tutar ve hiç göndermez.
- [DOM vs Virtual DOM](https://softwaredictionary.org/tr/karsilastirma/dom-vs-virtual-dom): DOM, tarayıcının sayfa öğelerinden oluşan canlı ağacıdır; sanal DOM ise framework'lerin neyi değiştireceğine karar vermek için baktığı hafif bir kopyadır.
- [CSS Grid vs Flexbox](https://softwaredictionary.org/tr/karsilastirma/css-grid-vs-flexbox): CSS Grid öğeleri iki boyutta, satır ve sütunlara aynı anda yerleştirir; Flexbox ise onları tek bir satır ya da sütun boyunca dizer, bileşen içinde idealdir.
- [Derleyici vs Yorumlayıcı](https://softwaredictionary.org/tr/karsilastirma/compiler-vs-interpreter): Derleyici programın tamamını çalışmadan önce çevirir; yorumlayıcı ise kaynak kodu çalışma anında adım adım yürütür ve ham hız yerine hızlı geri bildirim sunar.
- [OOP vs Fonksiyonel Programlama](https://softwaredictionary.org/tr/karsilastirma/oop-vs-functional-programming): Nesne yönelimli programlama veriyi ve onu değiştiren metotları nesnelerde toplar; fonksiyonel programlama ise değişmez veriyi saf fonksiyonlarla dönüştürür.
- [Dizi vs Bağlı Liste](https://softwaredictionary.org/tr/karsilastirma/array-vs-linked-list): Dizi elemanları bellekte yan yana tutar, her elemana indeksiyle anında ulaşılır; bağlı liste ise düğümleri işaretçilerle bağlar: ekleme ucuz, arama yavaştır.
- [Yığın vs Kuyruk](https://softwaredictionary.org/tr/karsilastirma/stack-vs-queue): Yığın en son ekleneni ilk çıkarır (son giren ilk çıkar, LIFO); kuyruk ise en eskiyi ilk çıkarır (ilk giren ilk çıkar, FIFO), tabak yığını ile kasa sırası gibi.
- [BFS vs DFS](https://softwaredictionary.org/tr/karsilastirma/bfs-vs-dfs): BFS çizgeyi kuyrukla seviye seviye gezer ve ağırlıksız çizgede en kısa yolu bulur; DFS ise bir dalda olabildiğince derine iner, sonra geri döner.
- [Birleştirmeli Sıralama vs Hızlı Sıralama](https://softwaredictionary.org/tr/karsilastirma/merge-sort-vs-quicksort): Merge sort O(n log n) zamanı garanti eder ama ek bellek ister; quicksort ise pivot etrafında yerinde bölümler, genelde daha hızlıdır ama O(n²)'ye düşebilir.
- [Git Merge vs Rebase](https://softwaredictionary.org/tr/karsilastirma/merge-vs-rebase): Git merge iki dalı, tüm geçmişi koruyan bir merge commit'iyle birleştirir; git rebase ise commit'lerinizi başka bir dalın üstüne taşıyıp düz bir geçmiş üretir.
- [Fork vs Branch](https://softwaredictionary.org/tr/karsilastirma/fork-vs-branch): Fork, bir deponun başka bir hesaptaki tam kopyasıdır, push edemediğiniz projelere katkı için kullanılır; branch ise aynı depodaki ayrı bir iş çizgisidir.
- [Git Reset vs Git Revert](https://softwaredictionary.org/tr/karsilastirma/git-reset-vs-git-revert): Git reset dalı eski bir commit'e geri taşır ve sonrakileri atar; git revert ise bir commit'i geri alan yeni bir commit ekler, paylaşılan dallarda güvenlidir.
- [Birim Testi vs Entegrasyon Testi](https://softwaredictionary.org/tr/karsilastirma/unit-test-vs-integration-test): Birim testi, bir fonksiyon gibi küçük bir parçayı tek başına, milisaniyelerde denetler; entegrasyon testi ise birkaç parçanın birlikte çalıştığını denetler.
- [TDD vs BDD](https://softwaredictionary.org/tr/karsilastirma/tdd-vs-bdd): TDD'de geliştirici testi geçirecek koddan önce başarısız bir test yazar; BDD ise bunun üzerine kurulup davranışı ekibin okuyabileceği sade senaryolarla anlatır.
- [Agile vs Waterfall](https://softwaredictionary.org/tr/karsilastirma/agile-vs-waterfall): Agile çalışan yazılımı kısa döngülerle teslim eder ve planı geri bildirime göre uyarlar; Waterfall ise gereksinimden yayına sabit aşamalarla ilerler.
- [Scrum vs Kanban](https://softwaredictionary.org/tr/karsilastirma/scrum-vs-kanban): Scrum işi belirli roller ve hedeflerle sabit uzunlukta sprint'lere böler; Kanban ise aynı anda süren iş sayısını sınırlayan, pano üzerinde sürekli bir akıştır.
- [Go vs Rust](https://softwaredictionary.org/tr/karsilastirma/go-vs-rust): Go, ağ servislerini hızla geliştirmek için çöp toplayıcılı, basit bir dildir; Rust ise bellek güvenliğini çöp toplayıcısız, sahiplik kurallarıyla sağlar.
- [Monolit vs Mikroservisler](https://softwaredictionary.org/tr/karsilastirma/monolith-vs-microservices): Monolit tek birim olarak dağıtılan, kurması ve çalıştırması basit bir uygulamadır; mikroservisler ise onu bağımsız dağıtılıp ölçeklenen küçük servislere böler.
- [Python vs JavaScript](https://softwaredictionary.org/tr/karsilastirma/python-vs-javascript): Python, okunabilir kodu ve veri ile yapay zekâ kütüphaneleriyle bilinen genel amaçlı bir dildir; JavaScript ise tarayıcılarda ve Node.js'te çalışan web dilidir.
- [Cookie vs Oturum](https://softwaredictionary.org/tr/karsilastirma/cookie-vs-session): Cookie, tarayıcının saklayıp her istekte gönderdiği küçük veridir; oturum ise sunucunun ziyaretçi için tuttuğu durumdur, cookie'deki bir kimlikle bulunur.
- [Callback vs Promise](https://softwaredictionary.org/tr/karsilastirma/callback-vs-promise): Callback, iş bitince çağrılsın diye başka bir fonksiyona verilen fonksiyondur; promise ise gelecekteki bir sonucu temsil eder, zincirlenir ve hataları yakalar.
- [Derleyici vs Transpiler](https://softwaredictionary.org/tr/karsilastirma/compiler-vs-transpiler): Derleyici kodu makinenin ya da VM'in çalıştıracağı alt seviye bir biçime çevirir; transpiler ise başka bir üst seviye dile, örneğin TypeScript'i JavaScript'e.
- [Agile vs Scrum](https://softwaredictionary.org/tr/karsilastirma/agile-vs-scrum): Agile, yazılımı küçük ve sık adımlarla, geri bildirimle geliştirmeyi savunan değerlerdir; Scrum ise bunu roller ve sprint'lerle uygulayan bir çerçevedir.
- [Kütüphane vs Framework](https://softwaredictionary.org/tr/karsilastirma/library-vs-framework): Kütüphane, gerektiğinde çağırdığınız koddur; framework ise uygulamanın yapısını kurar ve kodunuzu kendisi çağırır. Kütüphaneyi siz, framework sizi çağırır.
- [React vs Vue](https://softwaredictionary.org/tr/karsilastirma/react-vs-vue): React, JSX kullanan, yönlendirme ve state'i ekosisteme bırakan bir kütüphanedir; Vue ise HTML benzeri şablonlu, ikisine resmî araç sunan bir framework'tür.
- [React vs Angular](https://softwaredictionary.org/tr/karsilastirma/react-vs-angular): Meta'nın React'i başka araçlarla birleşen esnek bir UI kütüphanesidir; Google'ın Angular'ı ise yönlendirme, form ve HTTP'yi içeren kuralcı bir framework'tür.
- [Next.js vs React](https://softwaredictionary.org/tr/karsilastirma/nextjs-vs-react): React, arayüzleri bileşenlerle kurmaya yarayan bir kütüphanedir; Next.js ise ona yönlendirme, sunucu tarafı render ve statik üretim ekleyen bir framework'tür.
- [Statik vs Dinamik Tipleme](https://softwaredictionary.org/tr/karsilastirma/static-vs-dynamic-typing): Statik tiplemede türler program çalışmadan önce, genelde derleyiciyle kontrol edilir; dinamik tiplemede türler değerlere aittir ve çalışırken kontrol edilir.
- [Vite vs Webpack](https://softwaredictionary.org/tr/karsilastirma/vite-vs-webpack): Webpack geliştirmede bile tüm uygulamayı sunmadan önce paketler; Vite ise yerel ES modülleri sunar, yalnızca production için paketler ve bu yüzden hızla açılır.
- [Git vs GitHub](https://softwaredictionary.org/tr/karsilastirma/git-vs-github): Git, kodunuzun geçmişini bilgisayarınızda tutan sürüm kontrol aracıdır; GitHub ise Git depolarını barındırır, pull request, issue ve CI gibi özellikler ekler.
- [Git Fetch vs Git Pull](https://softwaredictionary.org/tr/karsilastirma/git-fetch-vs-git-pull): git fetch yeni commit'leri işinize dokunmadan indirir; git pull ise fetch yapar ve bu değişiklikleri hemen mevcut branch'inize merge ya da rebase eder.
- [Python vs Java](https://softwaredictionary.org/tr/karsilastirma/python-vs-java): Python veri, yapay zekâ ve betiklerde popüler, kısa ve dinamik tipli bir dildir; Java ise kurumsal yazılımda ve Android'de yaygın, statik tipli bir JVM dilidir.
- [C vs C++](https://softwaredictionary.org/tr/karsilastirma/c-vs-cpp): C, 1970'lerin başından kalma küçük, prosedürel bir sistem dilidir; ondan doğan C++ ise sınıflar, şablonlar ve zengin bir kütüphaneyle çok daha büyük bir dildir.
- [Kara Kutu vs Beyaz Kutu Testi](https://softwaredictionary.org/tr/karsilastirma/black-box-vs-white-box-testing): Kara kutu testi yazılımı koda bakmadan, gereksinimlerine göre kontrol eder; beyaz kutu testi ise testleri kodun iç yapısına göre tasarlar.
- [Cypress vs Playwright](https://softwaredictionary.org/tr/karsilastirma/cypress-vs-playwright): Cypress testleri tarayıcı içinde, etkileşimli bir çalıştırıcıyla yürütür; Microsoft'un Playwright'ı ise tarayıcıları dışarıdan yönetir ve birkaç dil destekler.
- [Django vs Flask](https://softwaredictionary.org/tr/karsilastirma/django-vs-flask): Django; ORM, yönetim paneli ve kimlik doğrulaması hazır gelen kapsamlı bir Python framework'üdür; Flask ise bu seçimleri size bırakan minimal bir framework'tür.
- [Eşzamanlılık vs Paralellik](https://softwaredictionary.org/tr/karsilastirma/concurrency-vs-parallelism): Eşzamanlılık, birçok görevle örtüşen zamanlarda, tek çekirdekte bile ilgilenmektir; paralellik ise birden çok görevi ayrı çekirdeklerde aynı anda yürütmektir.
- [MVC vs MVVM](https://softwaredictionary.org/tr/karsilastirma/mvc-vs-mvvm): MVC uygulamayı model, view ve girdiyi ele alan controller'a ayırır; MVVM ise model ile view arasına bir ViewModel koyar ve onları data binding ile bağlar.
- [Frontend vs Backend](https://softwaredictionary.org/tr/karsilastirma/frontend-vs-backend): Frontend kullanıcının cihazında çalışır ve arayüzü çizer; backend ise sunucularda çalışır ve frontend'in dayandığı verileri ve kuralları tutar.
- [Sınıf vs Nesne](https://softwaredictionary.org/tr/karsilastirma/class-vs-object): Sınıf, bir türdeki şeylerin hangi veri ve davranışlara sahip olduğunu tarif eden plandır; nesne ise o plandan üretilen, kendi değerleri olan somut bir şeydir.
- [API vs SDK](https://softwaredictionary.org/tr/karsilastirma/api-vs-sdk): API, bir servisin sunduğu istekler ya da fonksiyonlardır; SDK ise genellikle bu API üzerine kurulan ve onu bir dilde kullanmayı kolaylaştıran araç takımıdır.
- [Debounce vs Throttle](https://softwaredictionary.org/tr/karsilastirma/debounce-vs-throttle): Debounce, olay patlaması durana kadar bekler ve fonksiyonu bir kez çalıştırır; throttle ise olaylar sürerken onu aralık başına en fazla bir kez çalıştırır.
- [SQL vs NoSQL](https://softwaredictionary.org/tr/karsilastirma/sql-vs-nosql): SQL veritabanları veriyi sabit şemalı, ilişkili tablolarda saklar; NoSQL ise belge ya da anahtar-değer gibi, sunuculara yayılabilen esnek modeller kullanır.
- [REST vs GraphQL](https://softwaredictionary.org/tr/karsilastirma/rest-vs-graphql): REST, her biri sabit biçimde veri döndüren birçok URL sunar; GraphQL ise istemcinin tam olarak ihtiyaç duyduğu alanları istediği tek bir endpoint sunar.
- [REST vs gRPC](https://softwaredictionary.org/tr/karsilastirma/rest-vs-grpc): REST kaynakları HTTP üzerinden, genelde JSON ile sunar; gRPC ise tipli uzak fonksiyonları HTTP/2 ile ikili mesajlarla çağırır: daha hızlı ama tarayıcıda zor.
- [WebSocket vs Server-Sent Events](https://softwaredictionary.org/tr/karsilastirma/websocket-vs-server-sent-events): WebSocket, istemci ve sunucunun her an mesaj gönderebildiği iki yönlü bir kanaldır; Server-Sent Events (SSE) ise yalnızca sunucunun güncelleme itmesini sağlar.
- [TCP vs UDP](https://softwaredictionary.org/tr/karsilastirma/tcp-vs-udp): TCP bir bağlantı açar, verinin eksiksiz ve sırayla ulaşmasını garanti eder; UDP ise garantisiz, bağımsız paketler gönderir ve düşük gecikme sunar.
- [LAN vs WAN](https://softwaredictionary.org/tr/karsilastirma/lan-vs-wan): LAN, bir bina ya da yerleşkedeki cihazları hızlı, özel hatlarla bağlar; WAN ise şehirleri ve ülkeleri aşan ağları, çoğu zaman internet üzerinden birleştirir.
- [VPN vs Proxy Sunucu](https://softwaredictionary.org/tr/karsilastirma/vpn-vs-proxy): VPN, cihazınızın tüm trafiğini şifreleyip güvenli bir tünelden geçirir; proxy ise yalnızca onu kullanan uygulamaların trafiğini, çoğu zaman şifresiz iletir.
- [HTTP vs HTTPS](https://softwaredictionary.org/tr/karsilastirma/http-vs-https): HTTPS, şifreli TLS üzerinden giden HTTP'dir: istekler aynıdır ama HTTPS onları dinleyenlerden gizler, değiştirilmeyi fark eder ve sunucunun kimliğini kanıtlar.
- [Kimlik Doğrulama vs Yetkilendirme](https://softwaredictionary.org/tr/karsilastirma/authentication-vs-authorization): Kimlik doğrulama, parola ya da passkey gibi yollarla kim olduğunuzu doğrular; yetkilendirme ise kimliğiniz bilindikten sonra neler yapabileceğinize karar verir.
- [Şifreleme vs Hashing](https://softwaredictionary.org/tr/karsilastirma/encryption-vs-hashing): Şifreleme veriyi çözülebilecek şekilde bir anahtarla karıştırır; hashing ise geri çevrilemeyen, sabit uzunlukta bir parmak izi üretir; parolalar için idealdir.
- [JWT vs Session](https://softwaredictionary.org/tr/karsilastirma/jwt-vs-session): JWT, kullanıcının kimliğini içinde taşıyan imzalı bir token'dır, sorgusuz doğrulanır; session ise oturumu sunucuda tutar, istemciye rastgele bir kimlik verir.
- [XSS vs CSRF](https://softwaredictionary.org/tr/karsilastirma/xss-vs-csrf): XSS, güvenilen bir sitede çalışacak kötü amaçlı betik enjekte eder; CSRF ise oturumu açık kullanıcının tarayıcısını o siteye istenmeyen istek atmaya kandırır.
- [Konteyner vs Sanal Makine](https://softwaredictionary.org/tr/karsilastirma/container-vs-virtual-machine): Konteyner uygulamayı bağımlılıklarıyla paketler, host'un çekirdeğini paylaşır; sanal makine kendi işletim sistemini çalıştırır, daha iyi yalıtır ama ağırdır.
- [Docker vs Kubernetes](https://softwaredictionary.org/tr/karsilastirma/docker-vs-kubernetes): Docker konteyner imajı oluşturur ve konteynerleri tek makinede çalıştırır; Kubernetes ise onları bir kümede yönetir: zamanlama, ölçekleme ve kendini onarma.
- [Blue-Green vs Canary Dağıtım](https://softwaredictionary.org/tr/karsilastirma/blue-green-vs-canary-deployment): Blue-green iki tam ortam çalıştırır ve tüm trafiği bir anda yenisine geçirir; canary ise trafiğin önce küçük bir kısmını yeni sürüme yollar, sonra artırır.
- [Ters Proxy vs Yük Dengeleyici](https://softwaredictionary.org/tr/karsilastirma/reverse-proxy-vs-load-balancer): Ters proxy, istekleri arkasındaki sunuculara iletir ve TLS, önbellek, güvenlik ekler; yük dengeleyici ise yükü dağıtır, hiçbir sunucu aşırı yüklenmez.
- [Sharding vs Replikasyon](https://softwaredictionary.org/tr/karsilastirma/sharding-vs-replication): Sharding veritabanını böler, her sunucu verinin yalnızca bir kısmını saklar; replikasyon ise aynı veriyi yedeklilik ve okuma için birkaç sunucuya kopyalar.
- [Veri Ambarı vs Veri Gölü](https://softwaredictionary.org/tr/karsilastirma/data-warehouse-vs-data-lake): Veri ambarı temizlenmiş, yapılandırılmış veriyi hızlı sorgu için sabit bir şemada saklar; veri gölü ise her türden ham veriyi tutar, yapıyı okurken ekler.
- [Süreç vs İş Parçacığı](https://softwaredictionary.org/tr/karsilastirma/process-vs-thread): Süreç, kendi belleği olan çalışan bir programdır; iş parçacıkları ise bir sürecin içinde çalışıp onun belleğini paylaşır: daha hafif ama koordinasyonu daha zor.
- [Mutex vs Semafor](https://softwaredictionary.org/tr/karsilastirma/mutex-vs-semaphore): Mutex, paylaşılan kaynağı aynı anda tek bir iş parçacığına açar ve onu yalnızca alan bırakır; semafor ise en fazla N iş parçacığını içeri alan bir sayaçtır.
- [Makine Öğrenmesi vs Derin Öğrenme](https://softwaredictionary.org/tr/karsilastirma/machine-learning-vs-deep-learning): Makine öğrenmesi veriden öğrenen algoritmaları kapsar; derin öğrenme ise özellikleri kendi bulan, daha çok veri isteyen çok katmanlı sinir ağlarını kullanır.
- [RAG vs Fine-Tuning](https://softwaredictionary.org/tr/karsilastirma/rag-vs-fine-tuning): RAG, modele soru anında ilgili belgeleri vererek güncel kaynaklardan yanıtlamasını sağlar; fine-tuning ise davranışını değiştirmek için modeli daha da eğitir.
- [Denetimli vs Denetimsiz Öğrenme](https://softwaredictionary.org/tr/karsilastirma/supervised-vs-unsupervised-learning): Denetimli öğrenme modeli etiketli örneklerle eğitir ve yeni veri için tahmin yaptırır; denetimsiz öğrenme ise etiketsiz verideki örüntüleri ve grupları bulur.
- [REST vs SOAP](https://softwaredictionary.org/tr/karsilastirma/rest-vs-soap): REST, düz HTTP, URL ve genelde JSON kullanan hafif bir API tarzıdır; SOAP ise mesajları XML'e saran, katı bir WSDL sözleşmesi kullanan resmî bir protokoldür.
- [Mesaj Kuyruğu vs Pub/Sub](https://softwaredictionary.org/tr/karsilastirma/message-queue-vs-pub-sub): Mesaj kuyruğunda her mesaj tek bir tüketiciye gider, işçiler yükü paylaşır; pub/sub'da ise her mesaj her aboneye kopyalanır, böylece birçok servis tepki verir.
- [API Gateway vs Yük Dengeleyici](https://softwaredictionary.org/tr/karsilastirma/api-gateway-vs-load-balancer): Yük dengeleyici trafiği aynı servisin kopyalarına dağıtır; API gateway ise her çağrıyı doğru servise yönlendiren ve kimlik doğrulamayı uygulayan tek ön kapıdır.
- [DevOps vs SRE](https://softwaredictionary.org/tr/karsilastirma/devops-vs-sre): DevOps, hızlı ve güvenli yayın için geliştirme ile operasyonu birleştiren kültürdür; SRE ise Google'ın üretimi güvenilirlik hedefleriyle işletme pratiğidir.
- [SQL Injection vs XSS](https://softwaredictionary.org/tr/karsilastirma/sql-injection-vs-xss): SQL injection sunucuya saldırganın veritabanı komutlarını çalıştırtır; XSS ise saldırganın JavaScript'ini başka kullanıcıların tarayıcısında çalıştırır.
- [OAuth vs SSO](https://softwaredictionary.org/tr/karsilastirma/oauth-vs-sso): OAuth, uygulamanın başka servisteki kullanıcı verisine parolasız erişmesini sağlar; SSO ise birçok uygulamaya tek giriştir, SAML veya OpenID Connect'e dayanır.
- [Mikroservisler vs Servis Odaklı Mimari](https://softwaredictionary.org/tr/karsilastirma/microservices-vs-soa): SOA kurumsal sistemleri merkezi bir veri yolu ile konuşan ortak servislere böler; mikroservisler ise tek uygulamayı bağımsız dağıtılan küçük servislere böler.
- [PostgreSQL vs MySQL](https://softwaredictionary.org/tr/karsilastirma/postgresql-vs-mysql): PostgreSQL gelişmiş SQL'i, genişletilebilirliği ve titizliğiyle, MySQL ise sadeliği, hızı ve yaygınlığıyla bilinen açık kaynaklı ilişkisel veritabanlarıdır.
- [OLTP vs OLAP](https://softwaredictionary.org/tr/karsilastirma/oltp-vs-olap): OLTP sistemleri sipariş ve ödeme gibi çok sayıda küçük, hızlı transaction'ı işler; OLAP ise geçmiş veri üzerinde büyük analitik sorgular çalıştırır.
- [Kafka vs RabbitMQ](https://softwaredictionary.org/tr/karsilastirma/kafka-vs-rabbitmq): Kafka, olayları kalıcı ve yeniden oynatılabilir bir log'da tutan bir akış platformudur; RabbitMQ ise mesajları kuyruklara yönlendirir ve onaylanınca siler.
- [Terraform vs Ansible](https://softwaredictionary.org/tr/karsilastirma/terraform-vs-ansible): Terraform bulut altyapısını tanımlayıp oluşturur ve bir state dosyasında izler; Ansible ise mevcut makineleri yapılandırır ve SSH üzerinden yazılım dağıtır.
- [AWS vs Azure](https://softwaredictionary.org/tr/karsilastirma/aws-vs-azure): AWS, Amazon'un en eski, en büyük ve en çok servis sunan bulutudur; Azure ise zaten Microsoft ürünleri kullanan şirketlerde en güçlü olan Microsoft bulutudur.
- [Docker Compose vs Kubernetes](https://softwaredictionary.org/tr/karsilastirma/docker-compose-vs-kubernetes): Docker Compose çok container'lı bir uygulamayı tek makinede çalıştırır; Kubernetes ise container'ları bir kümede ölçekleme ve otomatik onarımla yönetir.
- [IaaS vs PaaS](https://softwaredictionary.org/tr/karsilastirma/iaas-vs-paas): IaaS, sanal makine gibi kendiniz yöneteceğiniz ham altyapıyı kiralar; PaaS ise kodunuzu çalıştırıp sunucu, işletim sistemi ve ölçeklemeyi sizin için yönetir.
- [Firebase vs Supabase](https://softwaredictionary.org/tr/karsilastirma/firebase-vs-supabase): İkisi de uygulamalara hazır bir backend sunar: Firebase, Google'ın NoSQL tabanlı platformudur; Supabase ise PostgreSQL tabanlı, açık kaynak bir alternatiftir.
- [Yatay vs Dikey Ölçekleme](https://softwaredictionary.org/tr/karsilastirma/horizontal-vs-vertical-scaling): Yatay ölçekleme daha fazla makine ekleyip yükü onlara dağıtır; dikey ölçekleme ise tek bir makineye daha fazla CPU, bellek ya da daha hızlı depolama verir.
- [Stack vs Heap](https://softwaredictionary.org/tr/karsilastirma/stack-vs-heap): Stack, çağrıların yerel değişkenlerini LIFO düzeniyle otomatik yönetir, hızlı ama küçüktür; heap ise çalışma zamanı verisini tutar, büyük ama yavaştır.
- [CPU vs GPU](https://softwaredictionary.org/tr/karsilastirma/cpu-vs-gpu): CPU'da çeşitli ve sıralı işler için birkaç güçlü çekirdek vardır; GPU'da ise aynı işlemi çok sayıda veriye paralel uygulayan binlerce basit çekirdek vardır.
- [IPv4 vs IPv6](https://softwaredictionary.org/tr/karsilastirma/ipv4-vs-ipv6): IPv4 32 bitlik adreslerle yaklaşık 4,3 milyar adres sağlar; IPv6 ise 128 bitlik adreslerle her cihaza kendi genel adresini verecek kadar adres sunar.
- [Gecikme vs Throughput](https://softwaredictionary.org/tr/karsilastirma/latency-vs-throughput): Gecikme (latency) tek bir isteğin ya da veri parçasının ulaşma süresidir; throughput ise bir sistemin birim zamanda işlediği veri ya da istek miktarıdır.
- [OAuth vs OpenID Connect](https://softwaredictionary.org/tr/karsilastirma/oauth-vs-openid-connect): OAuth 2.0 ile uygulama access token'la kullanıcı adına API'ye erişir; OpenID Connect ise imzalı ID token'la kullanıcının kim olduğunu söyleyen bir katman ekler.
- [Simetrik vs Asimetrik Şifreleme](https://softwaredictionary.org/tr/karsilastirma/symmetric-vs-asymmetric-encryption): Simetrik şifreleme tek bir ortak gizli anahtar kullanır ve hızlıdır; asimetrik ise açık ve özel anahtar çiftiyle paylaşım sorununu çözer ama çok daha yavaştır.
- [Yapay Zekâ vs Makine Öğrenmesi](https://softwaredictionary.org/tr/karsilastirma/ai-vs-machine-learning): Yapay zekâ makinelere insan zekâsı gerektiren işleri yaptırmayı hedefler; makine öğrenmesi bunun bir yoludur ve elle yazılmış kurallar yerine veriden öğrenir.
- [Chatbot vs AI Agent](https://softwaredictionary.org/tr/karsilastirma/chatbot-vs-ai-agent): Chatbot sohbet eder ve soruları yanıtlar; AI agent ise adımları planlayıp arama, kod çalıştırma ya da API'ler gibi araçlarla bir hedefe kendi başına ilerler.
- [Terminal vs Shell](https://softwaredictionary.org/tr/karsilastirma/terminal-vs-shell): Terminal, metin arayüzünü gösteren ve tuş vuruşlarınızı ileten programdır; shell (kabuk) ise onun içinde çalışıp komutlarınızı okuyan ve yürüten programdır.
- [JSON vs XML](https://softwaredictionary.org/tr/karsilastirma/json-vs-xml): İkisi de yapılandırılmış veriyi metin olarak yazar: JSON daha hafiftir ve nesne ve dizilere karşılık gelir; XML ise nitelikler, namespace'ler ve şemalar ekler.
- [JWT vs OAuth](https://softwaredictionary.org/tr/karsilastirma/jwt-vs-oauth): OAuth, uygulamaya kullanıcı verisine sınırlı erişim veren bir çerçeve, JWT ise bir token biçimidir. Rakip değiller: OAuth çoğu zaman JWT erişim token'ı verir.
- [MongoDB vs PostgreSQL](https://softwaredictionary.org/tr/karsilastirma/mongodb-vs-postgresql): PostgreSQL veriyi sabit şemalı tablolarda tutup SQL ile birleştirir; MongoDB ise esnek, JSON benzeri belgeler saklar ve sunuculara bölünmek için tasarlanmıştır.
- [SLA vs SLO](https://softwaredictionary.org/tr/karsilastirma/sla-vs-slo): SLO, 30 günde isteklerin %99,9'unun başarılı olması gibi iç bir hedeftir; SLA ise müşterilere bir hizmet düzeyi vaat eder ve tutmazsa genellikle iade öngörür.
- [Proxy vs Reverse Proxy](https://softwaredictionary.org/tr/karsilastirma/proxy-vs-reverse-proxy): Forward proxy istemcilerin önünde durur ve isteklerini internete iletir; reverse proxy ise sunucuların önünde durur ve gelen istekleri onlar adına karşılar.

## Yol haritaları

Sözlükte, her fikrin bir öncekinin üzerine kurulduğu okuma rotaları.

- [Web nasıl çalışır?](https://softwaredictionary.org/tr/yol-haritalari/how-the-web-works): Bir adres yazmakla sayfayı görmek arasında neler oluyor? (23 sayfa)
- [Frontend geliştirici](https://softwaredictionary.org/tr/yol-haritalari/frontend-developer): HTML ve CSS'ten framework'lere, render'a ve hızlı sayfalar yayınlamaya. (39 sayfa)
- [Backend geliştirici](https://softwaredictionary.org/tr/yol-haritalari/backend-developer): API'ler, sunucular, veri ve kimse bakmazken çalışmaya devam eden işler. (33 sayfa)
- [Sıfırdan veritabanları](https://softwaredictionary.org/tr/yol-haritalari/databases-from-scratch): Tablolar, sorgular ve transaction'lar; sonra veri tek sunucuya sığmayınca değişenler. (31 sayfa)
- [DevOps ve bulut](https://softwaredictionary.org/tr/yol-haritalari/devops-and-cloud): Kodun nerede çalıştığı, değişikliklerin güvenle nasıl yayınlandığı ve her şeyin çalıştığını nasıl bildiğiniz. (40 sayfa)
- [Güvenliğin temelleri](https://softwaredictionary.org/tr/yol-haritalari/security-essentials): Girişler, sırlar, herkesin bilmesi gereken saldırılar ve bunları durdurmanın yolları. (40 sayfa)
- [Yapay zekâ ve büyük dil modelleri](https://softwaredictionary.org/tr/yol-haritalari/ai-and-llms): Makineler nasıl öğrenir, bir sohbet botunun içinde ne var ve onunla nasıl bir şey inşa edilir? (41 sayfa)
- [Bilgisayar biliminin temelleri](https://softwaredictionary.org/tr/yol-haritalari/computer-science-foundations): Veri yapıları, klasik algoritmalar ve kod çalışırken gerçekte neler olduğu. (42 sayfa)
- [Bir yazılım ekibinde çalışmak](https://softwaredictionary.org/tr/yol-haritalari/working-on-a-team): Git, ekiplerin işi nasıl planladığı ve kodu sağlıklı tutan alışkanlıklar. (35 sayfa)
- [Sistem tasarımının temelleri](https://softwaredictionary.org/tr/yol-haritalari/system-design): Büyük sistemler nasıl şekillenir, nasıl ölçeklenir ve parçaları bozulduğunda nasıl ayakta kalır? (33 sayfa)
- [Programlamanın temelleri](https://softwaredictionary.org/tr/yol-haritalari/programming-fundamentals): Değişkenlerden sınıflara, her programlama dilinin ortak fikirleri. (39 sayfa)
- [Yazılımı test etmek](https://softwaredictionary.org/tr/yol-haritalari/testing-software): Ekipler kodlarının çalıştığını nasıl bilir ve kod değiştikçe onu nasıl çalışır tutar? (36 sayfa)
- [Sıfırdan Git](https://softwaredictionary.org/tr/yol-haritalari/git-from-zero): Commit'ler, branch'ler ve pull request'ler; ardından hataları korkmadan geri almak. (39 sayfa)
- [LLM'lerle ürün geliştirmek](https://softwaredictionary.org/tr/yol-haritalari/building-with-llms): Prompt'lar, retrieval, araçlar ve değerlendirme: bir yapay zekâ özelliğini yayına almanın gerektirdikleri. (24 sayfa)

## İsteğe bağlı

- [Sözlüğün tam metni](https://softwaredictionary.org/tr/llms-full.txt): bütün tanımlar ve karşılaştırmalar tek bir Markdown dosyasında
- [Programlamanın Temelleri özet sayfası](https://softwaredictionary.org/tr/kutuphane/programming/ozet)
- [Web Geliştirme özet sayfası](https://softwaredictionary.org/tr/kutuphane/web/ozet)
- [Backend ve API'ler özet sayfası](https://softwaredictionary.org/tr/kutuphane/backend/ozet)
- [Veritabanları özet sayfası](https://softwaredictionary.org/tr/kutuphane/databases/ozet)
- [DevOps ve Bulut özet sayfası](https://softwaredictionary.org/tr/kutuphane/devops/ozet)
- [Sürüm Kontrolü özet sayfası](https://softwaredictionary.org/tr/kutuphane/version-control/ozet)
- [Güvenlik özet sayfası](https://softwaredictionary.org/tr/kutuphane/security/ozet)
- [Yapay Zekâ ve Makine Öğrenmesi özet sayfası](https://softwaredictionary.org/tr/kutuphane/ai/ozet)
- [Yazılım Mimarisi özet sayfası](https://softwaredictionary.org/tr/kutuphane/architecture/ozet)
- [Test ve Kalite özet sayfası](https://softwaredictionary.org/tr/kutuphane/testing/ozet)
- [Ağlar özet sayfası](https://softwaredictionary.org/tr/kutuphane/networking/ozet)
- [Veri Yapıları özet sayfası](https://softwaredictionary.org/tr/kutuphane/data-structures/ozet)
- [İşletim Sistemleri özet sayfası](https://softwaredictionary.org/tr/kutuphane/operating-systems/ozet)
- [Programlama Dilleri özet sayfası](https://softwaredictionary.org/tr/kutuphane/languages/ozet)
- [Ekipler ve Süreç özet sayfası](https://softwaredictionary.org/tr/kutuphane/software-process/ozet)
- [A'dan Z'ye bütün terimler](https://softwaredictionary.org/tr/terimler)
- [Software Dictionary hakkında](https://softwaredictionary.org/tr/hakkinda)
- [Software Dictionary nasıl hazırlanıyor?](https://softwaredictionary.org/tr/yayin-ilkeleri): sayfaların nasıl araştırıldığı, bir insan tarafından incelenip onaylandığı ve düzeltildiği; yapay zekâ araçlarının nasıl kullanıldığı
- [English edition](https://softwaredictionary.org/llms.txt)
