Yazılım İngilizcesi: 1.000 Temel Terim ve Anlamları
Yazılım İngilizcesi sözlüğündeki 1.000 terim; programlamadan veritabanlarına, web ve mobil geliştirmeden bulut, güvenlik ve veri işlemeye uzanır. Her terimin Türkçe karşılığını, anlamını, işte nerelerde kullanıldığını ve çevirili örnek cümlelerini inceleyerek teknik belgeleri ve ekip konuşmalarını daha rahat takip edebilirsiniz.
- 1.000 terim
- 13 konu
- 429 temel terim
- 2.012 örnek cümle
Programlama Kavramları
Tek bir işi yapan, adı olan kod bloğu. Girdi değerleri alabilir ve çoğu zaman kendisini çağıran koda bir sonuç döndürür.
Programda bir değeri (sayı, metin, liste gibi) saklayan ve kodun bu değeri sonradan kullanmasını ya da değiştirmesini sağlayan ad.
Bir projeyi veya ürünü oluşturan kaynak kodun yapısı, stili ve geçmişiyle birlikte bir bütün olarak tamamı.
Tarih işlemleri veya HTTP istekleri gibi yaygın işleri geliştiricilerin sıfırdan yazmasına gerek bırakmayan, başka programların kullanabildiği hazır kod topluluğu.
Kodun başka bir yerinden bir fonksiyonu, metodu veya API'yi çalıştırmak. İsim olarak 'a call' bu tür tek bir istektir; örneğin 'an API call' (API çağrısı).
Aynı adımları birden çok kez tekrarlayan kod parçası; örneğin listedeki her öğe için bir kez ya da bir koşul yanlış olana kadar çalışır.
Nesne yönelimli programlamada bir nesne türünün (User veya Invoice gibi) verisini ve davranışını tanımlayan şablon.
Bir fonksiyonun ya da metodun tanımında yer alan ve dışarıdan aldığı adlandırılmış girdi. Çağırırken gönderilen gerçek değere ise argüman denir.
Integrated development environment (tümleşik geliştirme ortamı) kısaltması: editör, hata ayıklayıcı, arama ve diğer araçları tek yerde toplayan kod yazma uygulaması.
İnsanların yazdığı kaynak kodu, derleyici adı verilen bir program yardımıyla bilgisayarın çalıştırabileceği koda dönüştürmek.
Programda isim, mesaj veya parola gibi metin verilerini tutan ve genellikle tırnak işaretleri arasında yazılan karakter dizisi.
Yalnızca iki değer alabilen veri tipi: true (doğru) ya da false (yanlış). Kullanıcının giriş yapıp yapmadığı gibi evet-hayır kararlarında kullanılır.
Birbiriyle ilişkili verileri ve bu veriler üzerinde çalışan fonksiyonları bir araya getiren program birimi; örneğin adı, e-postası ve giriş metodu olan bir kullanıcı nesnesi.
Bir sınıfa ya da nesneye ait olan ve genellikle o nesnenin verileriyle çalışan fonksiyon; örneğin user.save() veya list.sort().
Bir fonksiyonu çağırırken ona verdiğiniz gerçek değer. add(2, 3) çağrısında 2 ve 3 argümandır.
Bir fonksiyonun işini bitirip sonucu kendisini çağıran koda geri göndermesi; örneğin parola kontrol eden bir fonksiyonun true ya da false döndürmesi.
Yalnızca bir koşul doğru olduğunda çalışan kod bloğu; çoğunlukla koşul yanlış olduğunda çalışan bir else kısmıyla birlikte kullanılır.
Bir programlama dilinde kodun nasıl yazılması gerektiğini belirleyen kurallar: parantezlerin, virgüllerin ve anahtar kelimelerin nereye geleceği gibi. Bilgisayar kodu ancak bu kurallara uyulursa okuyabilir.
Bilgisayarın dikkate almadığı, diğer geliştiricilere bir şeyin neden yapıldığını açıklamak için kodun içine yazılan not. Kod incelemesinde bırakılan görüşlere de 'comment' denir.
Programcıların bir programlama dilinde yazdığı, bilgisayarın çalıştırabileceği bir programa dönüştürülmeden önceki, insanların okuyabileceği komutlar.
Kaynak kodu herkese açık olan ve lisans koşulları çerçevesinde herkesin okuyabildiği, kullanabildiği, değiştirebildiği ve paylaşabildiği yazılımı niteler.
Bir planı, tasarımı ya da özellik fikrini çalışan koda dönüştürmek. Nesne yönelimli kodda bir interface'in gerektirdiği metotları yazmak anlamına da gelir.
Programlamada, bir sınıfın sağlayacağını taahhüt ettiği ama nasıl çalışacaklarını belirtmeyen metotların listesi. Daha genel anlamda iki sistemin ya da kullanıcıyla sistemin buluştuğu nokta.
Kodu, veriyi ve davranışı bir araya getiren nesneler etrafında düzenleyen; sınıf, kalıtım ve kapsülleme gibi fikirlere dayanan programlama yaklaşımı.
Programın yazıldığı ya da derlendiği zamanın aksine gerçekten çalıştığı zaman. Ayrıca Node.js gibi kodu çalıştıran yazılım ortamı.
Bir projenin bağımlı olduğu kütüphaneleri indiren, kuran, güncelleyen ve kaldıran araç; JavaScript için npm veya Python için pip gibi.
Bir sınıfın başka bir sınıfın davranışını ya da yapısını devralıp belirli kısımları genişletebildiği veya değiştirebildiği ilişki.
Farklı uygulamaların ortak bir arayüz üzerinden kullanılabilmesi ve her uygulamanın kendi davranışını sunabilmesi.
Bir nesnenin iç durumunu kontrollü bir arayüzün arkasında tutarak diğer kodların iç gösterime bağımlı olmasını önleme.
Bir nesne oluşturulurken başlangıç durumunu ve gerekli bağımlılıklarını belirlemek için kullanılan özel işlem.
Bir nesnenin yaşam süresinin sonuyla ilişkili, genellikle nesnenin sahip olduğu kaynakları serbest bırakmak için kullanılan özel işlem.
Başka bir yerden çağrılsa bile tanımlandığı sözcüksel ortamdaki değişkenlere erişimini koruyan fonksiyon ve bu ortamın birlikteliği.
Başka bir kod parçasına iletilen ve alıcı kodun gerektiğinde çağırabildiği fonksiyon.
Programlama dilinin kuralları uyarınca ilk değer atamasından sonra yeniden atanamayan adlandırılmış değer veya bağlama.
Kesirli kısmı olmayan sayıları temsil eden ve desteklediği aralık kullanılan gösterime bağlı olan sayısal veri türü.
Anlamlı kısım ve üs kullanılarak sonlu duyarlıkla saklanan, geniş bir büyüklük aralığını temsil edebilen sayı.
Olası değerlerin sınırlı bir kümesini temsil eden, adlandırılmış seçeneklerden oluşan tür veya bildirim.
Bir bellek konumuna başvuran ve kodun o konumda saklanan nesneye veya veriye erişmesini sağlayan değer.
Kodun mevcut bir değere veya nesneye, mutlaka bağımsız bir kopyasını oluşturmadan erişmesini sağlayan başvuru.
Oluşturulduktan sonra durumu değiştirilemeyen bir değeri veya nesneyi niteleyen ifade.
Oluşturulduktan sonra durumu değiştirilebilen bir değeri veya nesneyi niteleyen ifade.
Bir süreç içinde diğer yürütme dizileriyle birlikte çalışabilen ve süreç kaynaklarının bir kısmını paylaşan yürütme dizisi.
Korunan bir bölüme aynı anda yalnızca bir işbirlikçi yürütme bağlamının girmesini sağlayan eşzamanlama mekanizması.
Bir programın sonucunun eşzamanlı çalışabilen işlemlerin zamanlamasına veya gerçekleşme sırasına bağlı olduğu durum.
Çalışma ortamının artık erişilemez veya gereksiz olduğunu belirlediği nesnelerin kapladığı belleğin otomatik olarak geri kazanılması.
Yapılandırılmış veriyi veya nesne durumunu saklanabilen, iletilebilen ve daha sonra okunabilen bir gösterime dönüştürme.
Saklanmış veya iletilmiş bir gösterimi okuyarak tanımladığı veri yapılarını ya da değerleri yeniden oluşturma.
Veri Yapıları ve Algoritmalar
Bir problemi çözmek ya da bir işi yapmak için izlenen açık, adım adım yöntem; örneğin bir listeyi sıralamak veya iki nokta arasındaki en kısa yolu bulmak.
Veriyi bellekte belirli işlemleri hızlı ve kolay hale getirecek şekilde düzenleme yöntemi; dizi, liste, ağaç veya hash map gibi.
Öğelerin art arda saklandığı ve her öğeye indeks adı verilen sıra numarasıyla ulaşılabildiği sıralı koleksiyon.
Bir koleksiyondaki öğeleri tek tek gezmek; daha genel anlamda ise bir süreci her seferinde sonucu iyileştirerek tekrarlamak.
Anahtar-değer çiftlerini saklayan ve verilen bir anahtarın değerini genellikle sabit zamanda, çok hızlı bulan veri yapısı.
Bir fonksiyonun, problemi aynı problemin daha küçük bir parçası için kendini çağırarak çözdüğü ve basit bir duruma ulaşana kadar bunu sürdürdüğü teknik.
Bir algoritmanın çalışma süresinin veya bellek kullanımının girdi büyüdükçe nasıl arttığını anlatma yöntemi; örneğin O(1), O(n) veya O(n²).
Bir algoritmanın attığı adım sayısının girdi boyutu büyüdükçe nasıl arttığı; genellikle büyük O gösterimiyle yazılır.
Bir dizi ya da listedeki öğenin konum numarası. Çoğu dilde sayma sıfırdan başlar; yani ilk öğenin indeksi 0'dır.
Öğeleri belirli bir düzene koymak; örneğin sayıları küçükten büyüğe ya da isimleri alfabetik olarak dizmek. Bunu verimli şekilde yapan birçok algoritma vardır.
Son eklenen öğenin ilk çıkarıldığı (LIFO) veri yapısı; üst üste dizilmiş tabaklar gibi. Öğeler en üste eklenir (push) ve en üstten alınır (pop).
İlk eklenen öğenin ilk çıkarıldığı (FIFO) veri yapısı; sırada bekleyen insanlar gibi. Ayrıca görevleri ya da mesajları işlenene kadar bekleten sistem.
Her biri bir değer ve bir sonraki düğümü gösteren bir işaretçi tutan düğümlerden oluşan veri yapısı; öğeler bellekte yan yana durmak yerine bir zincir gibi birbirine bağlanır.
En üstte bir kökü (root) ve altında dallanan çocuk düğümleri olan veri yapısı; klasörler, menüler ya da bir sayfanın HTML'i gibi katmanlı veriler için kullanılır.
Sıralı bir listede ortadaki öğeye bakıp aranan değerin bulunamayacağı yarıyı sürekli eleyerek değeri hızla bulma yöntemi.
Cevabı bulana kadar olası her seçeneği deneyen basit yaklaşım. Yazması kolaydır ama büyük girdilerde çoğunlukla fazla yavaştır.
Bir algoritmanın girdi büyüdükçe ne kadar ek belleğe ihtiyaç duyduğu; genellikle O(1) veya O(n) gibi büyük O gösterimiyle ifade edilir.
Tek bir değer gibi ele alınan, genellikle sabit konumlarda farklı türlerden öğeler içerebilen sıralı değer grubu.
Benzersiz değerleri saklayan; üyelik kontrolü, birleşim ve kesişim gibi işlemleri destekleyen koleksiyon.
Üst ve alt düğümler arasında sıralama kuralı bulunan, en küçük veya en büyük öğeyi verimli biçimde almak için kullanılan ağaç tabanlı veri yapısı.
Bir dizideki ilerlemeyi izleyerek değerleri teker teker sağlayan nesne veya protokol.
Sürüm Kontrolü
Bir daldaki kod değişikliklerinin başka bir dala birleştirilmesi için açılan ve önce ekip arkadaşlarının incelemesine sunulan istek.
Depodaki değişikliklerin, neyin neden değiştiğini açıklayan kısa bir mesajla birlikte kaydedilmiş anlık görüntüsü. Fiil olarak da kullanılır: değişiklikleri commit etmek.
Depoda ayrı bir geliştirme hattı; birleştirmeye hazır olana kadar ana kodu etkilemeden değişiklikler üzerinde çalışmanızı sağlar.
Bir daldaki değişiklikleri başka bir dala aktararak iki çalışmanın aynı kodda buluşmasını sağlamak.
Bir projenin kodunu ve değişiklik geçmişinin tamamını tutan, genellikle Git ile yönetilen ve çoğu zaman çevrim içi barındırılan depolama alanı.
Yerel commit'lerinizi paylaşılan uzak depoya göndermek; böylece diğer kişiler ve otomatik sistemler bunları görebilir.
İki dal da aynı satırları değiştirdiği için Git'in onları otomatik olarak birleştiremediği ve doğru sürümü bir kişinin seçmesi gereken durum.
Git'te çalışma dosyalarınızı belirli bir dala veya commit'e geçirmek; böylece kodun o sürümünü görebilir ya da üzerinde çalışabilirsiniz.
Uzak bir deponun geçmişiyle birlikte tam kopyasını, üzerinde çalışabilmek için kendi bilgisayarınıza indirmek.
Git'te dalınızdaki commit'leri daha yeni bir noktadan, genellikle main'in en güncel halinden başlayacak şekilde taşımak; böylece daha temiz, düz bir geçmiş elde edilir.
Dosyalarda zaman içinde yapılan her değişikliği kaydeden sistem. Ekibin aynı kod üzerinde çalışmasını, kimin neyi değiştirdiğini görmesini ve gerektiğinde eski sürümlere dönmesini sağlar.
En yaygın kullanılan sürüm kontrol sistemi; koddaki değişiklikleri takip eden ve birçok geliştiricinin aynı proje üzerinde çalışmasını sağlayan ücretsiz, açık kaynak araç.
Uzak depodaki en son değişiklikleri indirip yerel kopyanıza birleştirmek; böylece kodunuz ekibin koduyla güncel kalır.
Kodun iki sürümü arasında hangi satırların eklendiğini, silindiğini veya değiştiğini, genellikle yeşil ve kırmızı renklerle tam olarak gösteren görünüm ya da dosya.
Bir commit'in neyi ve neden değiştirdiğini anlatan kısa metin. Ekip arkadaşları kodun geçmişini anlamak için daha sonra bu mesajları okur.
Deponun kodun resmi ve güncel sürümünü tutan merkezi dalı. Diğer dallar bundan oluşturulur ve sonunda yeniden buna birleştirilir.
Tek bir özellik ya da düzeltme üzerinde çalışmak için açılan ayrı dal; böylece iş ana dalı etkilemeden geliştirilip incelenebilir.
Bir değişikliği, tam tersini yapan yeni bir commit oluşturarak geri almak; böylece önceki duruma dönülür ama geçmiş korunur.
Başka birine ait bir depoyu GitHub gibi bir platformda kendi hesabınıza kopyalamak; böylece onu özgürce değiştirebilir ve daha sonra değişikliklerinizi asıl projeye önerebilirsiniz.
Git'te yarım kalmış değişikliklerinizi geçici bir yere kaydedip çalışma kopyanızı temizlemek; böylece başka bir işe geçip değişiklikleri sonra geri getirebilirsiniz.
Git'te bir daldaki belirli bir commit'i, dalın tamamını birleştirmeden başka bir dala kopyalamak. Genel İngilizcede yalnızca en iyi ya da en işe yarar parçaları seçip almak.
Kod İnceleme ve Kod Kalitesi
Kod değişikliklerinin birleştirilmeden önce ekip arkadaşları tarafından okunup yorumlanması; hem hataları yakalamaya hem de bilgi paylaşımına yarar.
Mevcut kodun kullanıcıya yaptığı işi değiştirmeden yapısını iyileştirmek; kodu daha temiz ve değiştirilmesi daha kolay hale getirmek.
Bugün kodda yapılan kestirmelerin gelecekteki bedeli: şimdi zaman kazandıran ama sonraki değişiklikleri yavaşlatıp riskli hale getiren hızlı çözümler.
'Looks good to me' (bana uygun görünüyor) kısaltması: incelemeyi yapan kişinin, kod değişikliğinin uygun olduğunu ve birleştirilebileceğini belirtmek için bıraktığı kısa yazılı yorum.
İncelemede isimlendirme, boşluk veya ifade gibi ayrıntılara dair, değişikliği engellememesi gereken çok küçük ve isteğe bağlı yorum. Kısaca 'nit' denir.
Size yapılan yorumları ele almak; istenen değişiklikleri yapmak ya da neden farklı bir yol seçtiğinizi açıklamak.
Kodu çalıştırmadan tarayıp stil sorunları, şüpheli kalıplar ve kullanılmayan değişkenler gibi basit hatalar hakkında uyarı veren araç.
Ayarlardan, veritabanından veya kullanıcı girdisinden gelmek yerine doğrudan kaynak kodun içine yazılmış; bu yüzden kod değiştirilmeden değiştirilemez.
Kod çalışsa bile daha derin bir tasarım sorununa işaret eden belirti; çok uzun bir fonksiyon, tekrarlanan mantık ya da fazla sayıda parametre gibi.
Başka birinin kod değişikliklerini, genellikle bir pull request üzerinden, birleştirilmeden önce okuyup kontrol eden ekip arkadaşı.
Bir değişikliğin, planın ya da talebin uygun olduğunu resmi olarak belirtmek. Kod incelemesinde bir pull request'i onaylamak, onun birleştirilmesine izin verir.
Açık isimlendirme, sade bir yapı ve kısa fonksiyonlar sayesinde başka birinin kolayca okuyup hızlıca anlayabildiği.
Deneyimli kişilerin en iyi sonucu verdiği konusunda büyük ölçüde hemfikir olduğu çalışma biçimi; test yazmak, kod incelemesi yapmak ve parolaları asla düz metin olarak saklamamak gibi.
Yalnızca çalışan değil; sade, açık isimlendirilmiş, iyi düzenlenmiş, başkalarının kolayca okuyup test edebileceği ve değiştirebileceği kod.
Kodu ilk yazan kişi olmasalar bile başka geliştiricilerin de uzun süre boyunca kolayca anlayabildiği, düzeltebildiği ve geliştirebildiği.
Değişkenler, dosyalar ve dallar gibi koddaki öğelerin nasıl adlandırılacağına dair üzerinde anlaşılmış kurallar; böylece isimler proje genelinde tutarlı görünür.
Hiç çalışmayan ya da sonucu hiçbir yerde kullanılmayan kod; örneğin artık kimsenin çağırmadığı eski bir fonksiyon. Kod tabanını yalnızca daha zor okunur hale getirir.
'Don't Repeat Yourself' (Kendini Tekrar Etme) ifadesinin kısaltması; her bilgi ya da mantık parçasının kodda kopyalanarak dağılmaması, tek bir yerde bulunması gerektiğini söyleyen ilke.
Yazılım Testi
Tek bir fonksiyonu veya sınıfı veritabanından, ağdan ve sistemin geri kalanından bağımsız olarak kontrol eden küçük otomatik test.
Belirli girdiler, adımlar ve beklenen sonuçla kontrol edilen tek bir durum; örneğin 'yanlış şifreyle giriş yapılınca hata mesajı gösterilir'.
Programın beklediği sınırların ucundaki olağandışı durum; örneğin boş bir liste, çok uzun bir isim ya da 29 Şubat gibi bir tarih.
Quality assurance (kalite güvencesi) kısaltması: yazılımın gereksinimleri karşıladığını ve düzgün çalıştığını kontrol etme işi. Bu işi yapan kişiler veya ekip için de kullanılır.
Daha önce çalışan bir şeyin bir değişiklikten sonra bozulması; örneğin yeni bir özelliğin eski bir işlevi bozması.
Sistemin birden fazla parçasının birlikte nasıl çalıştığını kontrol eden test; örneğin kodunuzun gerçek bir veritabanı ya da başka bir servisle birlikte çalışması.
Kodun ne kadarının otomatik testler tarafından çalıştırıldığını gösteren, çoğunlukla yüzde olarak ifade edilen ölçüm. Hangi bölümlerin test edildiğini, hangilerinin edilmediğini gösterir.
Testlerde gerçek bir nesnenin ya da servisin yerine kullanılan sahte sürüm; davranışını kontrol etmenizi ve kodunuzun onu nasıl kullandığını doğrulamanızı sağlar. Fiil olarak da kullanılır: bir servisi mock'lamak.
Gerçek sistem üzerinde bir kullanıcının izleyeceği yolu baştan sona çalıştıran test; örneğin siteyi açmak, giriş yapmak ve sipariş vermek. Her şeyin birlikte çalıştığını kontrol eder.
Kodda hiçbir değişiklik olmadan bazen geçip bazen başarısız olan test için kullanılır; genellikle zamanlama, ağ veya paylaşılan veri kaynaklıdır.
Birlikte çalıştırılan testlerin bütünü; örneğin bir projenin tüm birim testleri ya da ödeme modülüne ait bütün testler.
Yazılımın otomatik çalışan test betikleri yerine bir kişi tarafından ekranlar gezilerek ve işlemler denenerek elle kontrol edilmesi.
Testlerin kod ve araçlarla otomatik olarak çalıştırılması ve sonuçların beklenenle karşılaştırılması; böylece testler her değişiklikten sonra hızla tekrarlanabilir.
Bir testte sonucun beklenen değerle eşleşip eşleşmediğini kontrol eden satır. Kontrol yanlış çıkarsa test başarısız olur.
Daha kapsamlı testlere geçmeden önce en önemli işlevlerin en azından çalıştığını, örneğin uygulamanın açıldığını ve kullanıcıların giriş yapabildiğini kontrol eden hızlı ve temel test.
Her şeyin beklendiği gibi gittiği olağan senaryo: kullanıcı geçerli veri girer, hiçbir şey başarısız olmaz ve işlem başarıyla tamamlanır.
Test-driven development (test güdümlü geliştirme) ifadesinin kısaltması: önce başarısız olan bir test yazmak, sonra onu geçirecek kodu yazmak, ardından kodu toparlamak ve bunu kısa döngülerle tekrarlamak.
Gerçek kullanıcıları etkilemeden yazılımın test edildiği; kendi sunucuları, verisi ve ayarları olan sistem kopyası.
User acceptance testing (kullanıcı kabul testi) ifadesinin kısaltması: yazılım canlıya çıkmadan önce gerçek kullanıcıların ya da müşterinin ihtiyaçlarını karşılayıp karşılamadığını kontrol ettiği son test aşaması.
Uygulama çöktüğünde oluşturulan ve geliştiricilerin nedeni bulmasına yardımcı olan kayıt; hatayı, stack trace'i, cihazı, işletim sistemi sürümünü ve diğer ayrıntıları gösterir.
İnsanların uygulamayı nasıl kullandığına dair veriler; hangi ekranları açtıkları, uygulamadan nerede ayrıldıkları gibi. Davranışları anlamak ve özellikleri ölçmek için olaylar (event) şeklinde toplanır.
Belirli bir dönemde çökme yaşamayan kullanıcıların ya da oturumların yüzdesi; bir uygulamanın kararlılığını gösteren temel ölçütlerden biridir.
Bir uygulamanın çalışması gereken cihaz, ekran boyutu, donanım ve işletim sistemi sürümlerinin çok çeşitli olması; özellikle Android'de testi zorlaştırır.
Uygulamayı bir insan gibi kullanan; butonlara dokunan, metin yazan ve ekranda ne göründüğünü kontrol eden otomatik test.
Bir uygulamanın, örneğin sürekli konum takibi, sık ağ çağrıları ya da arka planda çalışmaya devam eden işler nedeniyle pili normalden hızlı tüketmesi.
Bir uygulamanın hem mağazadan indirilirken hem de cihaza kurulduktan sonra kapladığı alan; kod, görseller ve kütüphaneler bunun içindedir.
Application Not Responding: Bir uygulamanın main thread'i çok uzun süre meşgul kaldığında, örneğin bir dokunuşa yaklaşık beş saniye yanıt vermediğinde Android'in gösterdiği hata.
Ekip son çizimlere ve cilaya zaman harcamadan önce, bir fikrin eğlenceli olup olmadığını ya da işe yarayıp yaramadığını görmek için hazırlanan hızlı ve kaba sürüm.
Ekip izleyip eğlence, zorluk ve kafa karıştıran anlar hakkında geri bildirim toplarken insanların oyunun bitmemiş bir sürümünü oynadığı oturum.
Geliştirme sürecinde belirli işlerin teslim edilip değerlendirilmesi gereken, üzerinde anlaşılmış ara nokta; örneğin oynanabilir demo, alfa ya da beta. Yayıncılar stüdyoya çoğu zaman her milestone için ödeme yapar.
Oyunun bütün ana özelliklerinin eklendiği ve baştan sona oynanabildiği, ama henüz çok sayıda hata ve geçici içerik barındıran, cilalanmamış geliştirme aşaması.
Alfadan sonra gelen, oyunun içeriğinin tamamlandığı ve ekibin hata düzeltmeye ve cilaya odaklandığı aşama; ayrıca bu sürümle yapılan açık ya da kapalı test.
Oyunun son kalitesini sanat, ses ve oynanış açısından gösteren, bir bölüm gibi kısa ama tamamen bitmiş parçası; bütün oyunun nasıl olacağını kanıtlamak için hazırlanır.
İnsanların bir ürünü kullanarak bir görevi ne kadar kolay, hızlı ve başarılı biçimde tamamlayabildiği ve bunu yaparken ne kadar memnun kaldığı.
Gerçek kullanıcıların bir ürün ya da prototip üzerinde belirli görevleri yapmaya çalıştığı, araştırmacının da onları izleyerek nerede zorlandıklarını tespit ettiği araştırma yöntemi.
Kullanılabilirlik uzmanlarının, kullanıcılarla test yapmadan sorunları bulmak için bir arayüzü 'heuristic' adı verilen kabul görmüş tasarım ilkeleri listesine göre incelediği değerlendirme.
Katılımcıların bir ürünü kullanırken ne düşündüklerini, neyi aradıklarını ve ne hissettiklerini sesli olarak anlattığı; araştırmacıların onların mantığını takip etmesini sağlayan test tekniği.
Bir kullanılabilirlik testinde verilen görevi doğru şekilde tamamlayan katılımcıların yüzdesi; en basit ve en yaygın kullanılabilirlik metriklerinden biridir.
Bir araştırmacının her oturumu yüz yüze ya da görüntülü görüşmeyle canlı olarak yönettiği; görev verdiği, soru sorduğu ve katılımcıyı gözlemlediği kullanılabilirlik testi.
Hata Ayıklama ve Sorun Giderme
Bir programın kimsenin istemediği şekilde davranmasına yol açan kusur; yanlış sonuç vermesine, donmasına ya da aniden kapanmasına neden olabilir.
Bir sorunun artık yaşanmaması için kodda değişiklik yapmak. İsim olarak 'a fix', sorunu çözen değişikliğin kendisidir.
Bir programdaki sorunun nedenini arayıp gidermek; çoğu zaman kodu adım adım çalıştırıp değerleri kontrol ederek yapılır.
Bir hata yüzünden aniden çalışmayı bırakmak; program kapanır ya da yanıt vermez hale gelir. İsim olarak da kullanılır: 'a crash' (çökme).
Bir hatayı aynı adımları izleyerek bilerek tekrar ortaya çıkarmak; böylece hatayı kendi gözünüzle görüp nedenini bulabilirsiniz.
Programın çalışırken yazdığı olay, mesaj ve hata kayıtları; sonradan ne olduğunu anlamak için kullanılır. Fiil olarak da kullanılır: bir hatayı loglamak.
Bir hata oluştuğunda yazdırılan ve hataya yol açan fonksiyon çağrıları zincirini dosya adları ve satır numaralarıyla listeleyen döküm.
Bir sorunun ilk fark edilen belirtilerinin ötesindeki en temel, asıl nedeni.
Bir sorunu gerçekten çözmeden etrafından dolaşan geçici yol; asıl çözüm hazır olana kadar işin devam etmesini sağlar.
Programın normal akışını kesen hata olayı. Kod bunu yakalayıp ele alabilir; aksi halde program çökebilir.
Kodda bir satıra koyduğunuz ve program çalışırken o satırda durmasını sağlayan işaret; değişkenleri incelemenize ve kodu adım adım ilerletmenize olanak verir.
Bir şeyler ters gittiğinde programın gösterdiği, neyin başarısız olduğunu ve bazen nedenini belirten metin; örneğin 'File not found' veya 'Connection refused'.
Özellikle çalışan bir sistemde, bir kurulumda ya da kullanıcının ortamında bir sorunun nedenini adım adım arayıp çözmek.
Yazılımdaki bir sorunu anlatan yazılı açıklama; genellikle ne olduğunu, ne olması gerektiğini ve sorunun nasıl tekrar oluşturulacağını içerir.
Eksik bir parantez veya yanlış yazılmış bir anahtar kelime gibi kodun yazılışındaki hata; programın derlenmesini ya da çalışmasını engeller.
Çalışan bir programı duraklatmanızı, satır satır ilerletmenizi ve değişkenlerin değerlerine bakarak neden hatalı davrandığını bulmanızı sağlayan araç.
Kodu debugger'da her seferinde bir satır ya da bir komut çalıştırarak ilerletmek ve her adımdan sonra ne olduğunu kontrol etmek.
Başarısız bir istek ya da hatalı bir girdi gibi ters giden durumlarla ilgilenen kod; program böylece çökmek yerine toparlanabilir, yeniden deneyebilir veya anlaşılır bir mesaj gösterebilir.
Programın artık ihtiyaç duymadığı belleği serbest bırakmadığı hata türü; bellek kullanımı zamanla artar ve program sonunda yavaşlar ya da çöker.
Çıkış koşulu hiçbir zaman sağlanmadığı için hiç bitmeyen döngü; programı dondurabilir veya işlemciyi yüzde yüz kullanabilir.
Bir döngünün ya da hesaplamanın bir adım fazla gitmesi veya bir adım erken durmasıyla oluşan yaygın hata; çoğunlukla saymanın sıfırdan başlamasından kaynaklanır.
Bir hatanın tekrar ortaya çıkması için yapılması gereken işlemlerin tam listesi; geliştiricinin sorunu kendi gözüyle görebilmesi için hata raporuna yazılır.
İşlemci kullanımı, hata oranları ve yanıt süreleri gibi sistemlere ait verileri sürekli toplayıp kontrol ederek sorunların hızla fark edilmesini sağlama işi.
İzlenen bir değer belirlenen sınırı aştığında ya da bir şeyler ters gittiğinde, örneğin hata oranı çok yükseldiğinde mühendislere otomatik olarak gönderilen bildirim.
Bir hizmeti aksatan ya da kullanıcılar için kötüleştiren, hızlı müdahale gerektiren plansız durum; örneğin kesinti, ciddi yavaşlama ya da veri sorunu.
Bir hizmetin, sistemin ya da bir bölümünün çalışmadığı veya kullanıcıların erişemediği süre.
Bir sistemin ya da hizmetin, arıza veya planlı bakım nedeniyle kullanıcılara açık olmadığı süre.
Bir sistemin çalıştığı ve erişilebilir olduğu süre ya da bu sürenin yüzdesi; genellikle bir ay veya bir yıl için yüzde 99,9 gibi bir oranla ifade edilir.
Service level agreement ifadesinin kısaltması: müşterilere yüzde 99,9 erişilebilirlik gibi belirli bir hizmet düzeyini taahhüt eden ve bu düzey sağlanamazsa ne olacağını belirleyen sözleşme.
Bir alarm ya da olay gerçekleşirse mesai saatleri dışında da hızla müdahale etmeye hazır olma durumu. Mühendisler kendi servisleri için sırayla nöbet tutar.
Bir sistemin nasıl davrandığını göstermek için zaman içinde düzenli olarak ölçülen sayı; örneğin işlemci kullanımı, bellek, istek sayısı ya da hata oranı.
Bir sisteme ait en önemli metrikleri ve grafikleri tek yerde gösteren ekran; mühendisler sistemin durumunu bir bakışta görebilir.
Bir sistemin ürettiği verilerden, özellikle log, metrik ve izlerden, içinde neler olup bittiğini, kimsenin önceden tahmin etmediği sorunlar dahil ne kadar iyi anlayabildiğinizi anlatır.
Tek bir isteği birçok servisten geçerken takip edip her adımın ne kadar sürdüğünü kaydetme; böylece zamanın nerede kaybedildiği ya da hatanın nerede oluştuğu görülür.
Bir sunucunun ya da servisin çalışıp çalışmadığını ve trafik alabilecek durumda olup olmadığını denetleyen, çoğu zaman /health gibi özel bir adrese istek gönderen düzenli otomatik test.
Bir olaydan sonra yazılan ve ne olduğunu, etkisini, zaman çizelgesini, kök nedenini ve tekrarlanmaması için yapılacakları açıklayan değerlendirme belgesi.
Sunucuların, ağ bağlantılarının, disklerin ya da verilerin fazladan kopyalarını bulundurmak; böylece biri arızalansa bile sistem çalışmaya devam eder.
Bütün bir veri merkezinin ya da bölgenin kaybedilmesi gibi büyük bir olaydan sonra sistemleri ve verileri geri getirmeye yönelik planlar, araçlar ve süreçler.
Service level objective ifadesinin kısaltması: bir servis için belirlenen iç güvenilirlik hedefi; örneğin 30 gün boyunca isteklerin yüzde 99,9'unun başarılı olması.
Site reliability engineering ifadesinin kısaltması: canlı sistemleri güvenilir biçimde işletmek için yazılım mühendisliği yöntemlerini kullanma disiplini. Bu işi yapan mühendise de SRE denir.
Bir servisi yeniden başlatmak ya da dolan bir diski boşaltmak gibi belirli bir iş veya alarm için adım adım hazırlanmış yazılı kılavuz; nöbetteki herkes bunu izleyebilir.
Mimari, Tasarım Kalıpları ve Grafikler
Uygulama geliştirmek için kurallar, araçlar ve ortak parçalar sunan hazır yapı; böylece yalnızca ürününüze özgü kodu yazarsınız.
Kodunuzun çalışması için ihtiyaç duyduğu kütüphane, servis veya başka bir yazılım parçası; onda yaşanan bir değişiklik ya da arıza projenizi de etkileyebilir.
Bir ekibin bir ürünü geliştirmek ve çalıştırmak için kullandığı programlama dilleri, framework'ler, veritabanları ve araçların bütünü.
Bir yazılım sisteminin üst düzey yapısı: ana parçaları, bu parçaların birbiriyle nasıl iletişim kurduğu ve arkasındaki temel teknik kararlar.
Kodda sık karşılaşılan bir tasarım problemine yönelik, Singleton, Factory veya Observer gibi kanıtlanmış ve yeniden kullanılabilir çözüm; hazır kod olarak değil, genel bir yaklaşım olarak tanımlanır.
Bir avantajdan daha fazla yararlanmak için başka bir şeyden ödün vermeyi gerektiren durum; hız ile doğruluk ya da sadelik ile esneklik arasındaki tercih gibi.
Baştan tasarlanmaya gerek kalmadan ve belirgin şekilde yavaşlamadan, kaynak ekleyerek daha fazla kullanıcıyı, veriyi veya trafiği kaldırabilen.
Uygulamanın, her biri tek bir işten sorumlu ve ağ üzerinden birbiriyle iletişim kuran çok sayıda küçük, bağımsız servisten oluştuğu mimari.
Tüm özelliklerin aynı kod tabanını ve çoğunlukla aynı veritabanını paylaştığı, tek bir birim olarak geliştirilen ve dağıtılan uygulama.
Sınırları belirgin, ayrı ve bağımsız parçalardan oluşan; böylece her parça diğerlerine dokunmadan anlaşılabilir, test edilebilir, değiştirilebilir ya da yenisiyle değiştirilebilir.
Karmaşık ayrıntıları daha basit bir arayüzün arkasına saklamak; böylece bir şeyi içeride nasıl çalıştığını bilmeden kullanabilirsiniz, tıpkı veritabanı sorgusunu bilmeden save() çağırmak gibi.
Bir programın her parçasının veriyi göstermek, iş kurallarını uygulamak ya da veriyi saklamak gibi tek ve belirgin bir işle ilgilenmesi, bu işlerin birbirine karıştırılmaması gerektiğini söyleyen tasarım ilkesi.
Bir sistemin parçalarının birbirine olabildiğince az bağımlı olduğu tasarım; böylece bir parçadaki değişiklik nadiren diğerlerinde de değişiklik gerektirir.
Bir nesnenin ihtiyaç duyduğu veritabanı istemcisi gibi bileşenleri kendisi oluşturmak yerine dışarıdan almasını sağlayan teknik; kodun test edilmesini kolaylaştırır.
Büyük bir şeyi geliştirmeye başlamadan önce yazılan ve problemi, önerilen çözümü, değerlendirilen diğer seçenekleri ve bunların artı-eksilerini açıklayan, başkalarının incelemesine sunulan belge.
Bir çözümü problemin gerektirdiğinden daha karmaşık hale getirmek; örneğin belki hiç gelmeyecek gelecekteki ihtiyaçlar için katmanlar, seçenekler ya da esneklik eklemek.
Ekip bir fikri düzgün şekilde geliştirmeye zaman ayırmadan önce, teknik olarak işe yarayabileceğini göstermek amacıyla hızlıca yapılan küçük deneme sürümü.
Grafik, fizik, ses, girdi ve script gibi hazır sistemler sunan ve geliştiricilerin her şeyi sıfırdan yazmadan oyun yapmasını sağlayan yazılım altyapısı.
Oyunda kullanılan her türlü içerik parçası; örneğin 3D model, doku, ses efekti, animasyon ya da müzik. Genellikle bir dosya olarak saklanır ve motora aktarılır.
Oyunun ekrana bir saniyede çizdiği görüntü sayısı; saniyedeki kare sayısı (fps) ile ölçülür. Daha yüksek ve kararlı bir kare hızı oyunun daha akıcı görünmesini ve hissettirmesini sağlar.
Planlanan oyunu konsepti, mekanikleri, hikayesi, bölümleri, karakterleri ve kontrolleriyle ayrıntılı olarak anlatan doküman; böylece bütün ekip aynı oyunu geliştirir.
Non-player character (oyuncu olmayan karakter) kısaltması: dükkan sahibi, görev veren ya da düşman nöbetçi gibi bir oyuncu tarafından değil bilgisayar tarafından kontrol edilen her karakter.
Heads-up display kısaltması: oyun sırasında oyun görüntüsünün üzerinde gösterilen bilgiler; örneğin can, cephane, mini harita ve skor.
Oyunda karakter, düşman, altın ya da patlama gibi bir nesne olarak kullanılan 2D görsel. Art arda gösterilen birden fazla sprite bir animasyon oluşturur.
İki nesnenin birbirine değip değmediğini ya da iç içe geçip geçmediğini kontrol eden oyun sistemi; örneğin merminin düşmana çarpması ya da oyuncunun bir platforma inmesi.
Ekran kartında çalışan ve yüzeylerin nasıl görüneceğine karar veren küçük program; örneğin rengini, aydınlatmasını, parlaklığını ve saydamlığını ya da su ve ateş gibi efektleri belirler.
Oyundaki bir şeyin nasıl davranacağını kontrol eden kod parçası; örneğin açılan bir kapı, devriye gezen bir düşman ya da başlayan bir görev. Genellikle motordaki nesnelere eklenir.
Her oyunun merkezinde bulunan ve saniyede defalarca çalışan kod döngüsü: oyuncunun girdisini oku, oyun dünyasını güncelle, ardından yeni kareyi çiz.
Oyun projesinin motor içindeki bir parçası; örneğin bir menü, bir bölüm ya da test alanı. İçine yerleştirilen nesneleri, ışıkları ve kameraları barındırır.
Bir düşman ya da kapı gibi, bütün parçaları ve ayarlarıyla kaydedilmiş ve defalarca yerleştirilebilen yeniden kullanılabilir oyun nesnesi; prefab düzenlendiğinde bütün kopyaları güncellenir.
Oyunda yerçekimi, çarpışma, sürtünme ve kuvvetler gibi gerçek dünya fiziğini simüle eden sistem; böylece nesneler inandırıcı bir şekilde düşer, seker ve birbirini iter.
Bir karakterin ya da bir parçasının çevresindeki, oyunun bir saldırının ya da merminin isabet edip etmediğine karar verirken kullandığı görünmez şekil. Çoğu zaman görünen modelden daha basittir.
Bir 3D modelin üzerine sarılarak ona renk ve yüzey ayrıntısı veren 2D görsel; örneğin ahşap damarı, cilt ya da pas. Ek dokular parlaklığı, yüzey kabartılarını ve pürüzlülüğü kontrol edebilir.
Bir 3D modeli ya da bütün bir sahneyi oluşturan poligonların, genellikle üçgenlerin, sayısı. Daha az poligon daha hızlı çizilir ama daha az ayrıntı gösterir.
Bir oyunun daha hızlı çalışması ve daha az bellek, pil ya da bant genişliği kullanması için yapılan çalışma; örneğin modelleri sadeleştirmek, draw call sayısını azaltmak ya da yavaş kodu yeniden yazmak.
Bir karakterin, düşmanın ya da eşyanın oyun dünyasında belirmesini sağlamak ya da oyun dünyasında belirmek. Bunun gerçekleştiği yere spawn point (doğma noktası) denir.
Oyunun oyuncunun ilerlemesini kaydettiği bölüm içi nokta; oyuncu başarısız olduğunda ya da öldüğünde baştan değil, oradan devam eder.
Oyuncuların sabit bir bölüm sırasını izlemek yerine neredeyse istedikleri sırayla özgürce keşfedebildiği büyük oyun dünyası.
Sanatçılar zaman harcamadan önce yerleşimi, ölçeği, rotaları ve zamanlamayı test etmek için son çizimler olmadan basit gri şekillerle kurulan erken bölüm sürümü.
Oyuncunun bir bölümü ya da oyunu bitirmek için izlemesi gereken en kısa yol; isteğe bağlı yan alanların, gizli bölgelerin ve yan görevlerin karşıtıdır.
Haritalar, zindanlar, arazi ya da ganimet gibi oyun içeriklerinin, her parçayı elle yapmak yerine algoritmalar ve kurallar kullanılarak otomatik olarak oluşturulması.
Navigation mesh kısaltması: bir bölümdeki yürünebilir yüzeylerin basitleştirilmiş haritası; oyun yapay zekası bunu yol bulmak ve karakterleri engellerin çevresinden dolaştırmak için kullanır.
Fizik motorunda şeklini koruyan ve yerçekimi ya da çarpışmalar gibi kuvvetlerle hareket eden nesne; örneğin düşen bir sandık ya da fırlatılan bir el bombası.
Oyunun bir noktadan belirli bir yöne görünmez düz bir çizgi göndererek ilk neye çarptığını bulduğu kontrol. Atış, görüş hattı ve zemin algılama için kullanılır.
Bir karakterin bedeninin, genellikle karakter öldüğünde ya da yere yıkıldığında, gerçekçi şekilde düşen ve kuvvetlere tepki veren birbirine bağlı parçalara dönüştüğü fizik düzeni.
Animatörün önemli bir pozu ya da değeri belirlediği animasyon karesi; yazılım anahtar kareler arasındaki hareketi otomatik olarak doldurur.
Bir 3D modelin içinde bulunan, animatörlerin modeli pozlandırmak ve hareket ettirmek için kullandığı görünmez kemik ve kontrol düzeni; bir kuklanın ipleri gibi.
İşlemcinin ekran kartına, bir grup poligonu tek bir materyalle çizmesi için gönderdiği komut. Kare başına çok fazla draw call oyunu yavaşlatabilir.
Graphics processing unit (grafik işlem birimi) kısaltması: shader'ları çalıştırarak ve her karede milyonlarca piksel çizerek oyunun görüntülerini oluşturan çip. Oyun mantığının çoğunu ise CPU yürütür.
Sahne render edildikten sonra bütün görüntüye uygulanan görsel efektler; örneğin bloom, hareket bulanıklığı, renk düzenleme (color grading) ve alan derinliği.
Parçacık adı verilen çok sayıda küçük görsel ya da şekli oluşturup hareket ettirerek ateş, duman, kıvılcım, yağmur ve büyü gibi efektler yaratan araç.
Bir model kameradan uzaklaştıkça onu daha basit sürümleriyle değiştiren teknik; böylece uzaktaki nesneler daha az poligon kullanır ve oyun daha hızlı çalışır.
Işıklandırma, gölgeler ya da navigasyon verisi gibi hesaplaması ağır olan bir şeyi oyun çalışmadan önce hesaplayıp sonucu kaydetmek; böylece gerçek zamanlı hesaplanması gerekmez.
Bir oyunun zamanını ve belleğini kare kare nereye harcadığını ölçen araç; geliştiriciler oyunu neyin yavaşlattığını tahmin etmek yerine bu sayede bulur.
Çevik Yöntemler ve Ekip Çalışması
Kullanıcıların görebildiği ya da kullanabildiği bir işlev; örneğin arama çubuğu, karanlık mod veya rapor dışa aktarma seçeneği.
Jira gibi bir takip aracında bir işi (hata, görev ya da özellik) tanımlayan, kimin üzerinde olduğunu ve durumunu gösteren kayıt.
Ekibin seçilen işleri bitirmeyi taahhüt ettiği, genellikle bir veya iki haftalık sabit süreli çalışma dönemi.
Herkesin ne yaptığını, sırada ne yapacağını ve önünde bir engel olup olmadığını anlattığı, genellikle 15 dakikalık kısa günlük ekip toplantısı.
Kullanıcılar, müşteriler veya ürün ekibiyle üzerinde anlaşılan, yazılımın yapması gereken bir iş ya da karşılaması gereken bir koşul.
Ekibin henüz başlamadığı özellik, hata ve iyileştirme gibi işlerin, en önemlileri en üstte olacak şekilde sıralandığı liste.
Bir işin ne kadar süre ya da emek gerektireceğini başlamadan önce kabaca hesaplamak. İsim olarak 'an estimate' bu kaba tahminin kendisidir.
Çözülene kadar birinin işine devam etmesini engelleyen sorun; örneğin eksik erişim izni, yanıtlanmamış bir soru ya da bozuk bir ortam.
Bir özelliği kullanıcının bakış açısından anlatan kısa tanım; çoğu zaman 'Bir [kullanıcı türü] olarak [amaç] istiyorum, böylece [neden]' kalıbıyla yazılır.
Uzun ve sabit bir planı izlemek yerine kısa döngülerle çalışan, sık sık küçük parçalar teslim eden ve geri bildirime göre planı değiştiren çalışma biçimini anlatır.
Herkesin aynı bilgiye ve plana sahip olduğundan emin olmak için kısa bir toplantı ya da sohbetle güncel durumu paylaşmak. İsim olarak da kullanılır: 'a quick sync'.
Bir proje, sprint ya da ticket için üzerinde anlaşılan işin parçası olmayan; iyi bir fikir olsa bile şimdi yapılmayacak olan.
Küçük bir ekibin sprint adı verilen kısa ve sabit sürelerle çalıştığı; belirli rolleri ve işi planlamak ve değerlendirmek için düzenli toplantıları olan popüler çevik çerçeve.
Bir sprintin ya da projenin sonunda ekibin neyin iyi gittiğini, neyin kötü gittiğini ve bir dahaki sefere neyi değiştireceğini konuştuğu toplantı.
Özellikle her şeye yetecek zaman olmadığında, hangi işlerin en önemli ya da acil olduğuna ve önce yapılması gerektiğine karar vermek.
Bir özelliğin ya da kullanıcı hikayesinin, ekip ve product owner tarafından tamamlanmış sayılabilmesi için karşılaması gereken somut koşulların listesi.
Çevik ekiplerin bir işin ne kadar efor gerektirdiğini saat yerine büyüklüğüne, karmaşıklığına ve belirsizliğine göre tahmin etmek için kullandığı birim.
Bir soru sormak, hatırlatmak ya da dikkatini çekmek için birine genellikle ekip sohbetinden kısa bir mesaj göndermek. Teknik anlamda bir sunucuya erişilip erişilemediğini test etmek.
'Estimated time of arrival' (tahmini varış zamanı) ifadesinin kısaltması. İş ortamında genellikle bir görevin, düzeltmenin ya da teslimatın ne zaman biteceğine dair tahmin anlamına gelir.
İki geliştiricinin tek bir bilgisayarda ya da paylaşılan ekranda birlikte kod yazdığı çalışma biçimi: biri yazar, diğeri inceler ve sonraki adımları düşünür.
İş başladıktan sonra, teslim tarihi ya da bütçe değişmeden küçük ek taleplerin sürekli eklenmesiyle projenin gereksinimlerinin yavaş ve kontrolsüz biçimde büyümesi.
Bir projeden etkilenen ya da projede söz sahibi olan her kişi veya grup; müşteriler, yöneticiler, diğer ekipler, hukuk ya da destek ekibi gibi.
Kullanıcıları ve işin ihtiyaçlarını anlayarak ürünün ne yapması gerektiğine ve nedenine karar veren, ürünü geliştiren ekibe yön veren kişi.
Bir ürün ekibinin önümüzdeki aylarda ya da çeyreklerde neler üzerinde çalışmayı planladığını ve nedenini, her görevi tek tek ayrıntılandırmadan gösteren üst düzey plan.
Minimum viable product (minimum uygulanabilir ürün) ifadesinin kısaltması; bir fikrin daha fazla geliştirilmeye değip değmediğini öğrenmek için gerçek kullanıcılara sunulabilecek en basit ürün versiyonu.
Product requirements document (ürün gereksinimleri dokümanı) ifadesinin kısaltması; bir özelliğin ya da ürünün ne yapması gerektiğini, kimin için ve neden yapıldığını anlatarak tüm ekibin aynı plan üzerinden çalışmasını sağlayan doküman.
Yeni bir ürünün ya da özelliğin kullanıcılara sunulduğu an ve bu anın etrafında planlanan pazarlama, satış ve destek çalışmalarının bütünü.
Scrum'da ürün backlog'undan sorumlu kişi: İşlerin sırasına karar verir, maddeleri netleştirir ve ekibin en değerli işler üzerinde çalışmasını sağlar.
Birinin bir ürünü belirli bir amaca ulaşmak için kullandığı somut durum; adım adım ya da kısa bir senaryo olarak anlatılır.
Objectives and key results (amaçlar ve anahtar sonuçlar) ifadesinin kısaltması; bir ekibin ilham verici bir amaç ve bu amaca ne kadar yaklaştığını gösteren iki ile beş arası ölçülebilir sonuç belirlediği hedef koyma yöntemi.
Tek bir sprint'e sığmayacak kadar büyük olan ve birkaç küçük kullanıcı hikayesine bölünen iş; örneğin “Çoklu para birimi desteği”.
Her fikre Reach (erişim), Impact (etki), Confidence (güven) ve Effort (efor) üzerinden bir puan veren ve böylece birbirinden çok farklı fikirlerin karşılaştırılmasını sağlayan önceliklendirme yöntemi.
Gereksinimleri dört gruba ayıran önceliklendirme yöntemi: Must have (olmazsa olmaz), Should have (olması gereken), Could have (olsa iyi olur) ve Won't have (bu sefer olmayacak).
Bir işin başlangıcından lansmanına kadar ana adımlarının planlanan sırası ve tarihleri.
Bir fikrin, varsayımın ya da çözümün gerçekten doğru olduğunu, ona daha fazla yatırım yapmadan önce kullanıcı testleri, veriler ya da deneyler gibi kanıtlarla kontrol etmek.
Specification (şartname, tanım dokümanı) kelimesinin kısaltması; bir özelliğin nasıl görünmesi ve nasıl davranması gerektiğini ayrıntılı biçimde anlatan ve tasarımcılarla yazılımcıların onu doğru geliştirmesini sağlayan doküman.
Bir müşterinin, kullanıcının ya da iş arkadaşının yeni bir özellik veya mevcut bir özellikte değişiklik isteyen önerisi.
Bir işin bitti sayılabilmesi için karşılaması gereken ve ekipçe paylaşılan kalite koşulları listesi; örneğin test edilmiş, kodu incelenmiş ve belgelenmiş olması.
Ürün sahibinin ve ekibin sıradaki backlog maddelerini düzenli olarak gözden geçirdiği, netleştirdiği, büyük olanları böldüğü ve sprint'e hazır hale gelmeleri için tahminlediği çalışma.
Bir talebe, karara ya da teslim tarihine, genellikle kibarca ve gerekçe göstererek itiraz etmek veya direnmek; ayrıca bir tarihi ileriye ertelemek.
Ürün, tasarım, yazılım ve veri gibi farklı uzmanlıklardan kişilerin aynı ürün hedefi için birlikte çalıştığı ekip.
Bir dokümanın, tasarımın ya da işin kabul edilebilir olduğunu ve bir sonraki adıma geçilebileceğini resmi olarak onaylamak.
Paydaşlara nelerin yapıldığını, sırada ne olduğunu ve hangi risklerin ya da engellerin bulunduğunu anlatan kısa ve düzenli rapor.
Genellikle lansmandan kısa süre önce yapılan bir toplantıda verilen, ürünün ya da sürümün yayına çıkmaya hazır olup olmadığına veya ertelenmesi gerekip gerekmediğine ilişkin resmi karar.
Bir ürünü ya da özelliği, genellikle kullanıcıları önceden uyarıp bir alternatife geçmelerine yardım ederek, kademeli olarak kullanımdan kaldırmak ve desteğini sonlandırmak.
Erken değişen ve gelecekteki bir sonucu öngörmeye yardımcı olan metrik; örneğin haftalık girişlerin abonelik yenilemelerini önceden göstermesi. Ekibin iş işten geçmeden harekete geçmesini sağlar.
Bir değişikliğin hız, gelir ya da şikayet sayısı gibi önemli bir şeye zarar vermediğinden emin olmak için ekibin bir deney ya da lansman sırasında izlediği metrik.
Gelen hataları, talepleri ya da sorunları hızlıca gözden geçirip aciliyet ve önem derecesine göre sınıflandırmak; hangisinin hemen, hangisinin sonra ele alınacağına ya da hiç ele alınmayacağına karar vermek.
Bir şirketin kendi ürününü, çoğu zaman yayına çıkmadan önce, sorunları bulmak ve kullanıcı deneyimini birinci elden anlamak için şirket içinde kullanması.
API, Ağ ve Güvenlik
Application programming interface (uygulama programlama arayüzü) kısaltması: bir programın başka bir programdan belirli ve belgelenmiş bir şekilde veri ya da işlem istemesini sağlayan kurallar bütünü.
Bir API'nin belirli bir işlem için istek kabul eden adresi; örneğin kullanıcıları listelemek için GET /users ya da sipariş oluşturmak için POST /orders.
Representational state transfer (temsili durum aktarımı) kısaltması: kaynakların URL'lerle temsil edildiği ve GET, POST, PUT, DELETE gibi HTTP metotlarıyla işlendiği yaygın web API tasarım tarzı.
JavaScript Object Notation kısaltması: anahtar-değer çiftleri ve listelerden oluşan, web API'lerinin çoğunun kullandığı basit metin tabanlı veri biçimi.
HTTP yanıtında istemciye ne olduğunu bildiren üç haneli sayı; örneğin başarı için 200, bulunamadı için 404, sunucu hatası için 500.
Bir istek, yanıt veya mesajın taşıdığı asıl veri; başlıklar ve çevresindeki diğer bilgilerden ayrı olarak.
Erişim vermeden önce bir kullanıcının ya da sistemin kim olduğunu şifre, token veya parmak izi gibi yollarla doğrulama süreci.
Kendi ekibiniz tarafından değil, dışarıdaki bir şirket veya geliştirici tarafından yapılan ya da sağlanan; ödeme servisi, kütüphane veya analiz aracı gibi.
Software development kit (yazılım geliştirme kiti) kısaltması: geliştiricilerin bir platform üzerinde uygulama yazmasına ya da bir servisi kullanmasına yardım eden kütüphane, araç ve doküman paketi.
Bir API'de, kütüphanede veya dosya formatında yapılan ve onu kullanan mevcut kodun güncellenmedikçe çalışmamasına yol açan değişiklik.
İstemcinin bir sunucuya ya da API'ye gönderdiği ve veri döndürmek veya yeni bir kayıt oluşturmak gibi bir işlem yapmasını istediği mesaj.
Bir sunucunun ya da API'nin bir isteği aldıktan sonra geri gönderdiği mesaj; genellikle durum kodu, header'lar ve JSON gibi veriler içerir.
Bir programın isteklerle birlikte gönderdiği benzersiz gizli kod; API bu kod sayesinde kimin çağrı yaptığını tanır ve neye izin verileceğine karar verir.
Bir kullanıcının ya da uygulamanın daha önce giriş yaptığını veya yetkisi olduğunu kanıtlayan karakter dizisi. Parola yerine her istekle birlikte gönderilir.
Kimliği belirlenmiş bir kullanıcının ya da uygulamanın neleri yapmaya izinli olduğunu, örneğin bir dosyayı okuyup okuyamayacağını veya bir hesabı silip silemeyeceğini kontrol etme süreci.
Bir sistemin, örneğin bir ödeme başarılı olduğunda olduğu gibi bir olay gerçekleştiğinde, sorgulanmayı beklemeden başka bir sistemin URL'sine otomatik olarak HTTP isteği göndermesini sağlayan yöntem.
Bir istemcinin belirli bir sürede bir API'ye gönderebileceği istek sayısına konan üst sınır; örneğin dakikada 100 istek. Servisi aşırı yükten ve kötüye kullanımdan korur.
Bir değişiklikten sonra da eski sürümlerle, verilerle ya da istemcilerle çalışmaya devam eden; böylece mevcut kullanıcıların kodlarını veya ayarlarını güncellemesi gerekmez.
Hypertext Transfer Protocol (Hiper Metin Aktarım Protokolü): tarayıcıların ve sunucuların web üzerinden istek gönderip yanıt alırken uyduğu kurallar bütünü.
Tarayıcı ile sunucu arasındaki bağlantıyı TLS ile şifreleyen ve verilerin başkaları tarafından okunmasını ya da değiştirilmesini engelleyen güvenli HTTP sürümü.
Örneğin son mesajlar ya da ürün listesi gibi verileri, çoğu zaman sayfa açıkken, bir sunucudan veya API'den istemek ve almak.
Bir HTTP isteğinin başındaki ve istemcinin ne yapmak istediğini belirten kelime; örneğin okumak için GET, oluşturmak için POST, silmek için DELETE.
Bir HTTP isteği ya da yanıtıyla birlikte gönderilen ve Content-Type, Authorization veya Cache-Control gibi ek bilgiler taşıyan ad-değer çifti.
Birinin, örneğin bir yorum aracılığıyla, diğer kullanıcıların açtığı bir sayfaya zararlı JavaScript yerleştirdiği ve bu betiğin onların tarayıcılarında çalıştığı saldırı.
Birinin bir forma ya da URL'ye SQL kodu yazarak bu kodun veritabanında çalışmasını sağladığı ve verilerin açığa çıkmasına ya da silinmesine yol açabilen saldırı.
Cross-Origin Resource Sharing (Kökenler Arası Kaynak Paylaşımı): bir sunucunun, yanıtlarını JavaScript aracılığıyla hangi başka sitelerin (origin) okuyabileceğini belirtmesini sağlayan tarayıcı kuralları.
Cross-Site Request Forgery (Siteler Arası İstek Sahteciliği): oturum açmış bir kullanıcının tarayıcısını kandırarak, kullanıcının güvendiği bir siteye e-posta adresini değiştirmek gibi istenmeyen bir istek göndermesini sağlayan saldırı.
Parola gibi bir veriyi tek yönlü bir fonksiyonla sabit uzunlukta bir dizeye dönüştürmek; böylece orijinal değer bu dizeden geri okunamaz.
Identity and access management ifadesinin kısaltması: bir bulut hesabına kimin ya da neyin giriş yapabileceğini ve orada neler yapmaya yetkili olduğunu denetleyen sistem.
Her kullanıcının, servisin ya da programın yalnızca işi için gerçekten ihtiyaç duyduğu yetkileri alması, fazlasını almaması gerektiğini söyleyen güvenlik ilkesi.
Bir sistemin çalışması için gereken parola, API anahtarı, token ya da özel anahtar gibi hassas değer; güvenli biçimde saklanmalı ve asla kodda veya loglarda görünmemelidir.
Bir sunucuya ya da başka bir kaynağa hangi ağ trafiğinin, hangi port ve kaynaktan ulaşabileceğini veya oradan çıkabileceğini kurallarla belirleyen bulut içindeki sanal güvenlik duvarı.
Veriyi yalnızca doğru anahtarla geri çözülebilecek okunamaz bir biçime dönüştürerek anahtarı olmayanların okumasını engelleme işlemi.
Bulutta güvenliğin paylaşıldığını anlatan yaklaşım: veri merkezlerini, donanımı ve temel hizmetleri sağlayıcı korur; müşteri ise kendi verisini, ayarlarını ve erişim yetkilerini korur.
Sunucudan kullanıcının cihazına gönderilen ve uygulama açık olmasa bile ekranda görünen kısa mesaj; örneğin yeni bir mesaj ya da teslimat hakkında.
Bir uygulamanın kamera, konum, rehber veya bildirimler gibi hassas özellik ve verileri kullanabilmesi için kullanıcıdan alması gereken onay.
Uygulamayı yalnızca ana ekranında başlatmak yerine, bir ürün sayfası veya sipariş gibi uygulama içindeki belirli bir ekranı doğrudan açan bağlantı.
Uygulamanın bir sunucuya ihtiyaç duymadan doğrudan cihaz üzerinde zamanladığı bildirim; örneğin sabah 9'da çıkan bir hatırlatıcı.
Apple Push Notification service: Push bildirimlerini sunucudan iPhone, iPad ve diğer Apple cihazlarına ileten Apple sistemi.
Firebase Cloud Messaging: Android, iOS ve web uygulamalarına push bildirimi ve veri mesajı göndermeye yarayan ücretsiz Google hizmeti.
Belirli bir cihazdaki belirli bir uygulama kurulumunu tanımlayan benzersiz karakter dizisi; sunucunun o cihaza push bildirimi gönderebilmesi için gereklidir.
Uygulama simgesi veya bir sekme üzerinde genellikle kırmızı olarak gösterilen küçük sayı ya da nokta; kaç okunmamış öğe veya yeni bildirim olduğunu gösterir.
Bildirim almak ya da veri paylaşmak gibi bir şeye katılmayı bilinçli olarak seçmek; tersi 'opt out', yani katılmamayı ya da ayrılmayı seçmektir.
Apple'ın parolalar, token'lar ve anahtarlar gibi küçük gizli bilgiler için sunduğu şifreli depolama alanı; sistem tarafından korunur ve normal uygulama verilerinden ayrı tutulur.
Kullanıcının kimliğini parola veya PIN yerine ya da bunlara ek olarak parmak izi veya yüz taraması gibi fiziksel bir özellikle doğrulamak.
Bir sisteme veya veriye zarar verme potansiyeli taşıyan her şey: bir saldırgan, zararlı bir yazılım, dikkatsiz bir çalışan, hatta sunucu odasını basan su.
Bir saldırganın zarar vermek ya da sahip olmaması gereken bir erişimi elde etmek için kullanabileceği; yazılımda, donanımda, yapılandırmada veya bir süreçte bulunan zayıflık.
'Malicious software' (kötü niyetli yazılım) ifadesinin kısaltması; sistemlere zarar vermek, veri çalmak, kullanıcıları izlemek ya da bir cihazı izinsiz ele geçirmek için yazılmış her türlü program.
Saldırganların güvenilir görünen sahte e-postalar, mesajlar veya web siteleri hazırlayarak insanları bir bağlantıya tıklamaya, dosya açmaya ya da parolalarını paylaşmaya yönelttiği aldatma yöntemi.
Kurbanın dosyalarını veya sistemlerini şifreleyip bunların kilidini açacak anahtar karşılığında, genellikle kripto para cinsinden ödeme talep eden zararlı yazılım.
Bir kişinin kimliğini kanıtlamak ve bir hesaba, cihaza veya sisteme giriş yapmak için yazdığı, gizli tutulan karakter dizisi.
Erişim izni vermeden önce, örneğin parolaya ek olarak telefona gelen bir kod gibi, iki veya daha fazla farklı türde kanıt isteyen oturum açma yöntemi.
Ağ trafiğini inceleyen ve belirli güvenlik kurallarına göre bu trafiğe izin veren ya da onu engelleyen donanım veya yazılım.
Kişisel veya gizli verilere yetkisiz olarak erişildiği, bu verilerin çalındığı, ifşa edildiği ya da kaybolduğu güvenlik olayı.
Bir tehdidin bir zayıflığı kullanarak zarar verme olasılığı ile bu zararın kurum açısından ne kadar ciddi olacağının birlikte değerlendirilmesi.
Bir sistemi, tasarlanmadığı bir şeyi yapmaya zorlamak için bir zafiyetten faydalanan kod parçası veya teknik.
Bir sisteme, hesaba veya ağa yetkisiz erişim ya da kontrol elde ederek onu artık güvenilemez hale getirmek.
Virtual private network (sanal özel ağ): Uzaktaki kullanıcıların veya ofislerin özel bir ağa güvenle erişebilmesi için internet üzerinden şifreli bir bağlantı kuran teknoloji.
Gerçek saldırganlardan önce zayıflıkları bulmak amacıyla güvenlik uzmanlarının bir sisteme, uygulamaya veya ağa karşı izinli olarak gerçekleştirdiği benzetim saldırı.
Bir kurumun kendisi için geçerli yasalara, düzenlemelere, standartlara ve iç politikalara uyması ve bunu kanıtlayabilmesi durumu.
Bir sistemi kimin ya da neyin kullanabileceğini, verileri kimin görebileceğini veya bir yere kimin girebileceğini ve orada neler yapmasına izin verildiğini belirleyen kurallar ve teknik önlemler.
Teknolojiyi aşmak yerine insanları manipüle ederek bilgi vermelerini, erişim sağlamalarını ya da saldırgana yarayacak bir işlem yapmalarını sağlama yöntemi.
Distributed denial of service (dağıtık hizmet engelleme): Bir web sitesine veya ağa aynı anda çok sayıda makineden yoğun trafik göndererek gerçek kullanıcıların erişmesini engelleyen saldırı.
Ücretsiz bir araç ya da bir belge gibi faydalı veya zararsız bir program kılığına giren ve çalıştırıldığında gizlice zararlı işlemler yapan zararlı yazılım.
Kullanıcının herhangi bir işlem yapmasına gerek kalmadan kendini kopyalayan ve ağ üzerinden bir bilgisayardan diğerine yayılan zararlı yazılım.
Kullanıcının yaptıklarını gizlice izleyen ve gezinme alışkanlıkları, mesajlar, parolalar veya konum gibi bilgileri toplayan zararlı yazılım.
Şifrelenmiş veriyi, genellikle doğru anahtarı kullanarak, eski okunabilir haline geri döndürmek.
Bir şifreleme algoritmasının veriyi kilitlemek ve açmak için kullandığı, genellikle uzun bir bit dizisinden oluşan gizli değer. Bu anahtar olmadan şifreli veri okunamaz.
Bir açık anahtarı bir web sitesi ya da kişi gibi bir kimlikle ilişkilendiren ve güvenilir bir sertifika otoritesi tarafından imzalanan elektronik belge.
Transport Layer Security (Aktarım Katmanı Güvenliği): Tarayıcı ile web sitesi gibi iki sistem arasında taşınan veriyi şifreleyen ve sunucunun kimliğini doğrulayan standart protokol.
Ağ trafiğini veya sistem etkinliğini saldırı ya da politika ihlali belirtileri açısından izleyen ve bunları bulduğunda alarm üreten araç.
Üreticinin henüz haberdar olmadığı ya da henüz yaması bulunmayan zafiyet; ilk kez istismar edildiğinde savunan tarafın onu düzeltmek için 'sıfır günü' olmuş olur.
Common Vulnerabilities and Exposures: Herkesçe bilinen her zafiyete, örneğin CVE-2021-44228 gibi, benzersiz bir kimlik numarası veren açık katalog.
Sistemleri, ağları veya uygulamaları bilinen zayıflıklar, eksik yamalar ve güvensiz ayarlar açısından otomatik olarak kontrol eden ve bunları bir raporda listeleyen tarama.
Security information and event management (güvenlik bilgi ve olay yönetimi): Pek çok sistemden log toplayan, bunları ilişkilendiren ve olası saldırılar hakkında alarm üreten platform.
Ortada gerçekte zararlı bir şey yokken bir tehdit ya da zafiyet varmış gibi yanlış sonuç veren alarm veya test sonucu.
Olay müdahalesinde ekibin bir saldırının yayılmasını veya daha fazla zarar vermesini durdurduğu aşama; örneğin enfekte makinelerin ağdan izole edilmesi.
Bir güvenlik sorununu kaynağında gidermeye yönelik çalışma; örneğin bir yamayı uygulamak, bir yapılandırmayı değiştirmek veya zafiyetli kodu yeniden yazmak.
Tamamen ortadan kaldırılamayan bir riskin veya saldırının gerçekleşme olasılığını ya da etkisini azaltmak; örneğin geçici bir çözüm yoluyla veya ek bir kontrolle.
Bir kurumun bilgilerini, sistemlerini ve çalışanlarını korumak için uyduğu kuralları belirleyen, yönetim tarafından onaylanmış resmi belge.
Bir saldırganın bir sisteme veya kuruma girmeye ya da oradan veri çıkarmaya çalışabileceği tüm noktaların bütünü; örneğin açık portlar, web uygulamaları, kullanıcı hesapları ve tedarikçiler.
Doğrusu bulunana kadar, genellikle otomatik olarak, çok sayıda parolanın veya anahtarın art arda denendiği saldırı.
Bir kullanıcının kim olduğunu kanıtlayan ve oturum açmasını sağlayan bilgiler; çoğunlukla kullanıcı adı ve parola, ama aynı zamanda anahtarlar, token'lar ve sertifikalar.
Kullanıcının tek bir kimlik bilgisi setiyle bir kez oturum açıp ardından yeniden giriş yapmadan pek çok farklı uygulamayı kullanabilmesini sağlayan oturum açma sistemi.
İzinlerin 'muhasebeci' veya 'yönetici' gibi rollere tanımlandığı ve kullanıcıların bir role atanarak erişim elde ettiği yetki yönetimi yöntemi.
Biri herkesle paylaşılabilen açık anahtar, diğeri sahibinin gizli tuttuğu özel anahtar olmak üzere birbiriyle bağlantılı bir anahtar çifti kullanan kriptografi türü.
Mesajları yalnızca gönderenin ve asıl alıcının okuyabildiği, aradaki hizmet sağlayıcının bile içeriği göremediği şifreleme.
Bir ağı, aralarındaki trafiğin kontrol altında tutulduğu ayrı bölgelere bölerek bir bölümdeki sorunun diğerlerine kolayca yayılmasını engelleme yaklaşımı.
Şirket ağının içinde bile hiçbir kullanıcıya veya cihaza varsayılan olarak güvenmeyen; her istekte kimliği ve bağlamı yeniden kontrol eden güvenlik modeli.
Endpoint detection and response (uç nokta tespit ve müdahale): Dizüstü bilgisayarlarda ve sunucularda etkinlikleri kaydeden, şüpheli davranışları tespit eden ve analistlerin uzaktan inceleme ve müdahale yapmasını sağlayan güvenlik yazılımı.
Saldırganlar, yöntemleri ve kullandıkları araçlar hakkında toplanıp analiz edilen; bir kurumun saldırılara hazırlanmasına ve onları tespit etmesine yardımcı olan bilgiler.
Bir sisteme saldırı yapılmış olabileceğine işaret eden teknik iz; örneğin zararlı bir IP adresi, dosya hash'i veya alan adı.
Bir olay sırasında ne yaşandığını, mahkemede de geçerli olabilecek şekilde ortaya çıkarmak için disk imajları, bellek ve loglar gibi dijital delillerin toplanması ve incelenmesi.
Bir güvenlik ekibine oltalama veya fidye yazılımı gibi belirli bir alarm ya da olay türünü nasıl ele alacağını adım adım anlatan yazılı kılavuz.
Ciddi olduğu ya da kendi yetkinizi veya uzmanlığınızı aştığı için bir alarmı, olayı veya sorunu daha kıdemli bir kişiye ya da ekibe iletmek.
Tüm sistemlerdeki yazılım güncellemelerinin bulunması, test edilmesi, onaylanması ve yüklenmesi ile hangilerinin hala eksik olduğunun takip edilmesinden oluşan sürekli süreç.
Common Vulnerability Scoring System (Ortak Zafiyet Puanlama Sistemi): Bir zafiyetin ne kadar ciddi olduğunu 0,0 ile 10,0 arasında bir puanla derecelendiren standart yöntem.
Yazılımın kendisindeki bir hatadan değil; yanlış, güvensiz ya da varsayılan halinde bırakılmış ayarlardan kaynaklanan güvenlik zayıflığı.
Bir kurumun güvenlik kontrollerinin ve süreçlerinin bir standarda, bir yasaya veya kendi politikalarına uygun olup olmadığını inceleyen resmi ve bağımsız değerlendirme.
Riskleri belirlemek, gerçekleşme olasılıklarını ve ciddiyetlerini tahmin etmek ve hangilerinin öncelikle ele alınması gerektiğine karar vermek için yürütülen yapılandırılmış süreç.
Bir güvenlik testinin üzerinde anlaşılmış koşulları: neyin, ne zaman ve hangi yöntemlerle test edilebileceği ve bir sorun çıkarsa kiminle iletişime geçileceği.
Bir denetim, değerlendirme veya sızma testi sırasında tespit edilip belgelenen, genellikle bir önem derecesiyle birlikte verilen güvenlik sorunu ya da zayıflık.
Bir saldırının veya güvenlik testinin, hedef hakkında alan adları, çalışanlar, kullanılan teknolojiler ve dışarıya açık servisler gibi bilgilerin toplandığı ilk aşaması.
Sahip olunan erişim haklarından daha yüksek haklar elde etmek; örneğin bir hatayı veya yanlış yapılandırmayı kötüye kullanarak normal kullanıcı hesabından yönetici seviyesine geçmek.
Saldırganların ilk ele geçirdikleri makineden aynı ağ içindeki diğer sistemlere geçerek değerli veri veya daha yüksek yetkiler araması.
Birinin, iletişim kuran iki tarafın arasına gizlice girerek aralarında geçen trafiği okuyabildiği veya değiştirebildiği saldırı.
Kullanıcının bastığı her tuşu gizlice kaydeden, genellikle parolaları ve özel mesajları ele geçirmek için kullanılan yazılım veya küçük donanım parçası.
Bir saldırganın uzaktan kontrol ettiği ve örneğin spam göndermek ya da DDoS saldırıları yapmak için birlikte kullandığı, bot adı verilen çok sayıda enfekte bilgisayar veya cihazdan oluşan ağ.
Normal kimlik doğrulamayı atlatan gizli bir giriş yolu; geliştiriciler tarafından bırakılmış ya da saldırganlar tarafından daha sonra geri dönebilmek için yerleştirilmiş olabilir.
Şüpheli dosyaların veya programların gerçek sistemlere risk oluşturmadan güvenle çalıştırılıp ne yaptıklarının gözlemlendiği, yalıtılmış ve kontrollü ortam.
Web uygulamalarının önünde konumlanan ve SQL enjeksiyonu ile siteler arası betik çalıştırma gibi yaygın web saldırılarını engellemek için HTTP trafiğini süzen güvenlik duvarı.
Bir cihaz üzerinde bağlantı kabul eden, yani arkasında dinlemede olan bir servis bulunduğu için başkaları tarafından erişilebilen ağ portu.
Bir mesaja, belgeye veya dosyaya eklenen; onu kimin oluşturduğunu kanıtlayan ve imzalandıktan sonra değiştirilmediğini gösteren kriptografik değer.
Şifrelendikten sonra rastgele karakterler gibi görünen ve doğru anahtar olmadan anlaşılamayan veri. Okunabilir asıl haline düz metin (plaintext) denir.
Otomatik alarmlarla henüz tespit edilmemiş saldırganların izlerini, çoğunlukla bir hipotezden yola çıkarak, sistemlerde ve loglarda proaktif olarak arama.
Bir güvenlik riskini azaltan her türlü teknik, idari veya fiziksel önlem; örneğin bir güvenlik duvarı, bir politika, bir eğitim ya da kilitli bir kapı.
General Data Protection Regulation (Genel Veri Koruma Tüzüğü): Kurumların kişisel verileri nasıl topladığına, kullandığına ve koruduğuna dair kurallar koyan ve Mayıs 2018'den beri uygulanan Avrupa Birliği düzenlemesi.
Gereksiz yazılımları ve servisleri kaldırarak, varsayılan ayarları değiştirerek ve güvenli yapılandırmalar uygulayarak bir sistemi daha güvenli hale getirme süreci.
Bir zafiyeti önce üreticiye veya sistem sahibine gizlice bildirmek ve ayrıntılar kamuoyuyla paylaşılmadan önce düzeltmeleri için makul bir süre tanımak.
Bir kurumun dışarıdaki araştırmacıları kendi sistemlerindeki zafiyetleri bulup bildirmeye davet ettiği ve geçerli bildirimler için ödül ödediği program.
Bir siber saldırının veya tehdidin arkasındaki kişi ya da grup; örneğin bir suç örgütü, devlet destekli bir grup, bir hacktivist veya kötü niyetli bir içeriden kişi.
Bir mesajın veya bağlantının güvenilir birinden geliyormuş gibi görünmesi için e-posta göndereni, telefon numarası, web sitesi ya da IP adresi gibi bir kimliği veya kaynağı sahte göstermek.
Veri alışverişi yapabilmeleri ve kaynakları paylaşabilmeleri için kablolarla ya da radyo sinyalleriyle birbirine bağlanmış bilgisayar, telefon ve diğer cihazlardan oluşan yapı.
Farklı ağları birbirine bağlayan ve verinin hedefe ulaşması için en uygun yolu, genellikle IP adreslerine bakarak paket paket belirleyen cihaz.
Aynı yerel ağdaki bilgisayar, telefon, yazıcı gibi cihazları birbirine bağlayan ve her çerçeveyi yalnızca hedef cihazın bulunduğu porta ileten çok portlu cihaz.
IP ağındaki her cihaza verilen ve verinin o cihaza ulaştırılmasını sağlayan benzersiz sayısal etiket; IPv4'te örneğin 192.168.1.20 gibi.
Bir bağlantının belirli bir sürede taşıyabileceği en yüksek veri miktarı; genellikle saniyede megabit ya da gigabit (Mbps, Gbps) cinsinden ölçülür.
Cihazların veriyi nasıl biçimlendireceğini, göndereceğini, alacağını ve kontrol edeceğini belirleyen ortak kurallar bütünü; farklı üreticilerin cihazlarının birbiriyle anlaşabilmesini sağlar.
Local area network'ün kısaltması: ev, ofis katı ya da tek bir bina gibi sınırlı bir alandaki cihazları birbirine bağlayan ağ.
Wide area network'ün kısaltması: şehirler ya da ülkeler arasındaki lokasyonları, genellikle bir telekom operatöründen kiralanan hatlar veya internet üzerinden birbirine bağlayan ağ.
IEEE 802.11 standartlarına dayanan kablosuz yerel ağların yaygın adı; cihazları başta 2,4, 5 ve 6 GHz bantları olmak üzere radyo dalgalarıyla ağa bağlar.
Dynamic Host Configuration Protocol'ün kısaltması: ağa katılan cihazlara IP adresi, alt ağ maskesi, varsayılan ağ geçidi ve DNS sunucularını otomatik olarak veren protokol.
Bir cihazın, hedef kendi alt ağının dışındayken trafiği gönderdiği router adresi; bu adres yoksa cihaz yalnızca kendi yerel ağıyla konuşabilir.
Ağ üzerinden gönderilen küçük veri birimi; adresleme ve kontrol bilgilerini içeren bir başlık (header) ile asıl içeriğin bir parçasını taşıyan yükten (payload) oluşur.
İki anlamı vardır: bir cihazda ağ kablosunun takıldığı fiziksel giriş ya da bir cihazdaki belirli bir servisi tanımlayan 0 ile 65535 arasındaki numara (örneğin HTTPS için 443).
İnternetin ve neredeyse tüm modern ağların üzerine kurulu olduğu protokol ailesi; adını en bilinen iki üyesi olan TCP ve IP'den alır.
Kablolu yerel ağlar için standart teknoloji (IEEE 802.3); cihazların bakır ya da fiber kablolar üzerinden 10 Mbps'ten saniyede yüzlerce gigabite kadar hızlarda nasıl çerçeve göndereceğini tanımlar.
Bir cihazı ya da servisi; adresler, parolalar, VLAN'lar ve yönlendirme gibi ihtiyaç duyduğu ayarları girerek ağın gerektirdiği şekilde çalışır hale getirmek.
Genellikle fabrikada ağ kartına işlenen ve cihazı yerel ağda tanımlayan donanım adresi; 48 bitten oluşur ve altı çift onaltılık (hexadecimal) rakamla yazılır.
Trafiğin bir ağdan diğerine giderken izleyeceği yolun seçilmesi; router'lar bu işi elle girilen ya da diğer router'lardan öğrenilen rotalara göre yapar.
Bir router'da ya da cihazda tutulan ve bilinen ağları, her biri için paketlerin nereye (bir sonraki router'a veya hangi arayüze) gönderileceğini gösteren liste.
Virtual LAN'ın kısaltması: aynı donanıma bağlı cihazların (örneğin çalışan bilgisayarları, misafirler ve kameralar) birbirinden ayrılabilmesi için switch üzerinde oluşturulan ayrı mantıksal ağ.
Genellikle tavana ya da duvara monte edilen, Wi-Fi sinyali gönderip alan ve kablosuz cihazları kablolu ağa bağlayan cihaz.
Ağ üzerinden gönderilen paketlerin bir kısmının hedefe hiç ulaşmaması; genellikle yüzde olarak gösterilir ve yavaş indirmelere, kesik kesik görüşmelere ve donan görüntüye yol açar.
Ağ iletişimini fiziksel kablodan (1. katman) uygulamaya (7. katman) kadar yedi katmana ayıran ve sorunların ve teknolojilerin net biçimde anlatılmasını sağlayan referans modeli.
Transmission Control Protocol'ün kısaltması: bir bağlantı kurarak verinin eksiksiz ve doğru sırayla ulaşmasını sağlayan, kaybolan her şeyi yeniden gönderen protokol.
User Datagram Protocol'ün kısaltması: bağlantı kurmadan ve verinin ulaşıp ulaşmadığını kontrol etmeden gönderen basit ve hızlı protokol; ses, görüntü, DNS ve oyunlarda kullanılır.
İnternet Protokolü'nün 4. sürümü; 192.168.10.5 gibi noktalarla ayrılmış ve her biri 0 ile 255 arasında olan dört sayıyla yazılan 32 bitlik adresler kullanır ve yaklaşık 4,3 milyar adrese imkan tanır.
İnternet Protokolü'nün 6. sürümü; 2001:db8::1 gibi iki nokta üst üste ile ayrılmış onaltılık rakam gruplarıyla yazılan 128 bitlik adresler kullanır ve neredeyse sınırsız sayıda adres sağlar.
255.255.255.0 gibi, bir IPv4 adresinin hangi kısmının ağı, hangi kısmının cihazı gösterdiğini belirten sayı; /24 gibi bir önek olarak da yazılabilir.
Network address translation'ın kısaltması: router'ın ya da güvenlik duvarının paketlerdeki adresleri değiştirmesi; tipik olarak özel adresli çok sayıda cihazın tek bir genel IP adresini paylaşmasını sağlar.
Elle girilen ya da tek bir cihaza kalıcı olarak ayrılan ve DHCP'nin dağıttığı dinamik adreslerin aksine değişmeyen IP adresi.
Bir ağın yerleşim düzeni; cihazlarının ve bağlantılarının yıldız, halka ya da örgü (mesh) gibi hangi biçimde düzenlendiği ve birbirine bağlandığı.
Ağda IP adresi olan ve veri gönderip alan her türlü cihaz; bilgisayar, sunucu, telefon ya da yazıcı gibi.
Service set identifier'ın kısaltması: cihazların bulunan ağlar listesinde gördüğü, en fazla 32 karakter uzunluğundaki Wi-Fi ağ adı.
Bir paketin hedefe giderken geçtiği her router'ı ve her birine olan gecikmeyi listeleyen tanı aracı; trafiğin nerede yavaşladığını ya da nerede durduğunu görmenizi sağlar.
Ağ üzerinden gelen paketlerin gecikmesindeki değişkenlik; paketler düzensiz aralıklarla ulaştığında sesli ve görüntülü görüşmeler kesik kesik ya da robotik bir sese dönüşür.
Quality of service'in kısaltması: bir hat yoğunken ses ve görüntü gibi önemli trafiğe, daha az acil trafiğe göre öncelik tanıyan teknikler bütünü.
Border Gateway Protocol'ün kısaltması: internetteki ağların birbirleriyle rota paylaşmak için kullandığı yönlendirme protokolü; trafiğin farklı operatörler ve şirketler arasında yolunu bulmasını sağlar.
Open Shortest Path First'ün kısaltması: tek bir kurumun ağı içinde kullanılan, router'ların bağlantılarına dair bilgileri paylaştığı ve her birinin en iyi yolu kendisinin hesapladığı yönlendirme protokolü.
Bir mühendisin router'a elle girdiği ve belirli bir ağa giden trafiğin tam olarak nereye gönderileceğini söyleyen rota; yönlendirme protokolünün öğrenmesine bırakılmaz, doğrudan tanımlanır.
Tek bir bağlantı üzerinden birden fazla VLAN'ın trafiğini taşıyan ve karşı taraftaki cihaz her çerçevenin hangi VLAN'a ait olduğunu anlasın diye çerçevelere etiket ekleyen switch portu.
Switch'ler arasındaki fazladan yolları bloke ederek döngü (loop) oluşmasını engelleyen ve aktif bir bağlantı koparsa bloke edilen yolu yeniden açan protokol.
Mühendislerin, yazılım güncellemesi ve donanım değişimi gibi hizmeti kesintiye uğratabilecek işleri yapmasına izin verilen, genellikle gece ya da hafta sonuna denk gelen, önceden kararlaştırılmış zaman aralığı.
Genellikle yurt dışında, kendi operatörünüz dışındaki bir mobil şebekeyi kullanmak; Wi-Fi'da ise bağlantı kopmadan bir erişim noktasından diğerine geçmek.
Bir ağ arayüzünden geçen gerçek paketlerin, mühendislerin tam olarak neyin gönderilip alındığını inceleyebilmesi için kaydedilip bir dosyaya saklanması.
Simple Network Management Protocol'ün kısaltması: izleme sistemlerinin ağ cihazlarından trafik, hata ve sıcaklık gibi bilgileri toplamasını ve cihazların uyarı göndermesini sağlayan protokol.
Ağ cihazlarının ve bağlantılarının erişilebilirlik, trafik, hata ve gecikme gibi sağlık ve performans göstergelerini sürekli kontrol etmek ve bir sorun çıktığında mühendisleri uyarmak.
Bir hattan ya da cihazdan, kaldırabileceğinden daha fazla trafiğin geçmeye çalışması; bu durumda paketler kuyruğa alınır ya da düşürülür ve her şey yavaşlar.
Bir paketin kaynaktan hedefe gitmesi ve cevabın geri dönmesi için geçen süre; genellikle milisaniye cinsinden gösterilir ve ping komutu bu değeri raporlar.
Access control list'in kısaltması: bir router, switch ya da güvenlik duvarı üzerinde, trafiğe kaynak, hedef, protokol ve port gibi ölçütlere göre izin veren veya trafiği reddeden sıralı kurallar listesi.
Genel bir IP adresi ve porta gelen trafiği özel ağ içindeki belirli bir cihaza ve porta yönlendiren NAT kuralı; böylece içerideki bir servise dışarıdan erişilebilir.
Demilitarised zone'un kısaltması: internet ile iç ağ arasında yer alan ve web ya da e-posta sunucuları gibi dışarıya hizmet veren sunucuların konduğu ayrı ağ bölümü.
Multiprotocol Label Switching'in kısaltması: operatör ağlarında trafiği tam IP sorgusu yerine kısa etiketlere göre ileten teknik; şirketlere özel WAN hizmeti olarak yaygın biçimde satılır.
Software-defined wide area network'ün kısaltması: bir şirketin WAN hatlarını yazılım aracılığıyla merkezden yöneten ve her uygulamayı internet, 4G ya da MPLS gibi mevcut en uygun hat üzerinden gönderen yaklaşım.
Bir paketin yolundaki tek bir adım, yani bir router'dan bir sonrakine geçiş; hop sayısı, paketin hedefe ulaşana kadar kaç router'dan geçtiğini gösterir.
Address Resolution Protocol'ün kısaltması: bir cihazın yerel ağda, bilinen bir IPv4 adresine ait MAC adresini bulmak için kullandığı protokol.
Internet Control Message Protocol'ün kısaltması: ağ cihazlarının 'hedefe ulaşılamıyor' gibi hata ve durum mesajları göndermek için kullandığı protokol; ping ve traceroute bu protokole dayanır.
Tek bir adrese değil, yerel ağ bölümündeki tüm cihazlara aynı anda gönderilen mesaj; router'lar yayınları başka ağlara iletmez.
Classless Inter-Domain Routing'in kısaltması: bir IP ağını adres ve önek uzunluğuyla, örneğin 192.168.0.0/22 şeklinde yazma sistemi; eski sabit adres sınıflarının yerini almıştır.
İç ağlar için ayrılmış aralıklardan, örneğin 10.0.0.0/8, 172.16.0.0/12 ve 192.168.0.0/16 bloklarından alınan ve genel internette yönlendirilemeyen IP adresi.
Network operations centre'ın kısaltması: bir ağı izleyen, alarmlara müdahale eden, arızaların ve kesintilerin giderilmesini koordine eden ve çoğu zaman 7/24 çalışan ekip ve merkez.
Birden fazla kişinin çevrim içi ya da aynı cihaz üzerinde birlikte veya birbirine karşı oynadığı oyunu ya da modu tanımlar. İsim olarak kullanıldığında oyunun çok oyunculu bölümünü anlatır.
Bir oyuncunun maçı kendi cihazında barındırması yerine, genellikle bir veri merkezinde bulunan, yalnızca oyun sunucusunu ve ortak oyun dünyasını çalıştıran ve oyuncuların bağlandığı bilgisayar.
Çevrim içi bir oyunda oyuncular ile sunucular arasında oyun verisini gönderen ve gecikmelere rağmen herkesin maçı aynı şekilde görmesini sağlayan ağ kodu.
Çevrim içi oyuncuları beceri seviyesi, bölge ve bağlantı kalitesi gibi ölçütlere göre birlikte ya da birbirine karşı maçlara yerleştiren sistem.
Oyuncunun eylemi ile oyunun tepkisi arasındaki fark edilir gecikme; genellikle yavaş ya da kararsız bir ağ bağlantısından kaynaklanır ve oyunu kesik kesik hissettirir.
Bir oyun sunucusunun saniyede kaç kez oyun durumunu güncelleyip oyunculara gönderdiği; hertz cinsinden ölçülür. Daha yüksek tick rate çevrim içi oyunu daha hassas hale getirir.
Çevrim içi bir maç başlamadan önce oyuncuların toplandığı, takım kurduğu, karakter ya da ayar seçtiği ve diğerlerinin katılmasını beklediği sanal bekleme alanı.
Oyuncunun cihazının, girdisinin sonucunu sunucu onaylamadan önce hemen gösterdiği ve sunucu farklı bir sonuç bildirirse bunu sonradan düzelttiği netcode tekniği.
Çevrim içi bir oyunda olanlar hakkında son sözü söyleyen sunucu: oyuncular girdilerini gönderir, gerçek sonuçlara sunucu karar verir; bu da hile yapmayı zorlaştırır.
Sürüm Yayını ve Bakım
Yazılımın yeni bir sürümünü sunuculara veya cihazlara yükleyip orada çalışır hale getirmek; örneğin test ortamına ya da gerçek kullanıcılara açmak.
Ürünün kullanıcılara sunulan bir sürümü ya da onu kullanıma açma işi. Fiil olarak da kullanılır: yeni bir sürüm yayınlamak.
Yazılımın gerçek kullanıcılar tarafından kullanıldığı canlı ortam; geliştirme ve test ortamlarının karşıtıdır.
Kaynak kodu çalıştırılabilir bir programa veya pakete dönüştürme işlemi ya da bu işlemin sonucu. Fiil olarak da kullanılır: projeyi build etmek.
Bir ürünü veya özelliği gerçek kullanıcıların kullanabileceği şekilde yayınlamak. Kelime, ürünlerin müşterilere gönderilmesi fikrinden gelir.
Yazılımın nasıl çalıştığını, nasıl kullanılacağını, kurulacağını ya da değiştirileceğini anlatan yazılı içerik; kılavuzlar, API referansları ve README dosyaları gibi.
Continuous integration ve continuous delivery/deployment kısaltması: her değişikliği otomatik olarak derleyip test etmek, ardından hızlı ve güvenli şekilde yayına almak.
Canlı ortamdaki ciddi bir sorun için normal sürüm takviminin dışında hızla yayınlanan acil düzeltme.
Bir sürüm veya değişiklik sorun çıkardığında sistemi daha önceki, çalışan bir sürüme döndürmek.
Canlı ortama olabildiğince benzer şekilde kurulan ve sürümün gerçek kullanıcılara ulaşmadan önce son kez kontrol edildiği ortam.
Kullanılmaya devam eden, çoğu zaman ekipten ayrılmış kişilerce yazılmış, dokümantasyonu ve testi az olduğu için değiştirmesi riskli gelen eski kod.
Bir özelliği, fonksiyonu veya API'yi resmi olarak eskimiş ve önerilmeyen olarak işaretlemek; genellikle ileriki bir sürümde kaldırılacağına dair bir uyarıdır.
Yazılımın yeni bir sürümüyle birlikte yayımlanan ve yeni özellikleri, hata düzeltmelerini, bilinen sorunları ve kullanıcıların bilmesi gereken diğer değişiklikleri listeleyen kısa belge.
Büyük yeni özellikler eklemeden yazılımdaki hataları ya da güvenlik açıklarını gideren küçük güncelleme. Fiil olarak da kullanılır: bir sistemi yamamak.
Bir yazılımın, kütüphanenin ya da aracın daha yeni ve genellikle daha iyi bir sürümüne geçmek; örneğin Python 3.10'dan Python 3.12'ye.
Yeni bir sistem, özellik ya da web sitesi gibi bir şeyin canlı ortamda ilk kez gerçek kullanıcıların kullanımına açılması.
Bir projenin her sürümündeki önemli değişiklikleri, genellikle en yeni sürüm en üstte olacak şekilde listeleyen dosya ya da sayfa. Çoğunlukla CHANGELOG.md adını taşır.
Üç parçalı bir sürüm numaralandırma kuralı, MAJOR.MINOR.PATCH: ilk sayı geriye dönük uyumsuz değişikliklerde, ikincisi yeni özelliklerde, üçüncüsü hata düzeltmelerinde artar.
Bir sürümden önce ya da tatil dönemleri gibi yoğun zamanlarda, kritik düzeltmeler dışında yeni kod değişikliklerinin birleştirilmesine izin verilmeyen dönem.
Bir sürüm numarasını artırmak ya da bir bağımlılığı daha yeni bir sürüme güncellemek; genellikle küçük bir değişikliktir. Gayriresmi olarak bir işin önceliğini yükseltmek ya da bir mesajı insanlara yeniden hatırlatmak anlamına da gelir.
İnsanların sayısal bir IP adresi yerine yazdığı, example.com gibi okunabilir web sitesi adresi.
Bir web sitesinin dosyalarını ve kodunu internete bağlı sunucularda tutarak sitenin her an ziyaret edilebilmesini sağlayan hizmet.
Bir sunucuya yüklenen, sitenin kimliğini kanıtlayan ve tarayıcının şifreli bir HTTPS bağlantısı kurmasını sağlayan dijital dosya.
Domain Name System (Alan Adı Sistemi): example.com gibi alan adlarını sunucuların IP adreslerine çeviren internet rehberi.
HTTP isteklerini kabul edip web sayfalarını ve dosyaları sunan Nginx veya Apache gibi yazılım; bu yazılımı çalıştıran makine için de kullanılır.
Kendi donanımınızı satın alıp işletmek yerine sunucu, depolama, veritabanı gibi bilişim kaynaklarını bir sağlayıcıdan internet üzerinden kiralayarak kullanma modeli.
Yazılımı geliştirme, yayına alma ve çalıştırma sorumluluğunu geliştiricilerle operasyon ekibinin paylaştığı, değişiklikleri otomasyon sayesinde hızlı ve güvenli biçimde teslim etmeyi amaçlayan çalışma yaklaşımı.
Kod her değiştiğinde çalışan, derleme, test ve dağıtım gibi adımlardan oluşan ve bir adım başarısız olursa duran otomatik süreç.
Bir uygulamayı çalışması için gereken her şeyle birlikte paketleyen hafif ve yalıtılmış birim; böylece uygulama dizüstü bilgisayarda, test sunucusunda ya da bulutta aynı şekilde davranır.
Konteyner imajı oluşturmak ve konteyner çalıştırmak için yaygın olarak kullanılan platform. 2013'te çıkışından sonra konteynerlerin yaygınlaşmasını sağlamıştır.
Konteynerleri birçok makine üzerinde çalıştıran ve yöneten açık kaynak sistem: konteynerleri başlatır, çökenleri yeniden ayağa kaldırır, trafiği dağıtır ve sayılarını artırıp azaltır.
Fiziksel bir makine üzerinde yazılım olarak çalışan ve kendi işletim sistemi olan eksiksiz bir bilgisayar. Tek bir fiziksel sunucu aynı anda birçok sanal makineyi barındırabilir.
Bulutta çalışan sanal bir sunucunun ya da hizmetin tek bir kopyası. İşlemci sayısı ve bellek miktarı gibi boyutunu siz seçersiniz ve çalıştığı süre boyunca ücret ödersiniz.
Büyük veri merkezlerine sahip olan ve bilişim, depolama, ağ gibi hizmetleri internet üzerinden müşterilere kiralayan şirket.
Bir bulut sağlayıcının bir grup veri merkezine sahip olduğu coğrafi alan; örneğin Frankfurt ya da İrlanda. Kaynaklarınızın hangi bölgede çalışacağını siz seçersiniz.
Geliştirme, test ya da gerçek kullanıcılara hizmet gibi tek bir amaç için kullanılan, kendi sunucuları, ayarları ve verisi olan sistemin ayrı bir kopyası.
Sunucuları, ağları ve diğer bulut kaynaklarını bir konsolda elle tıklayarak değil, araçların okuyup uyguladığı yapılandırma dosyaları yazarak yönetme yaklaşımı.
Infrastructure as a service ifadesinin kısaltması: sanal makine, disk ve ağ gibi temel yapı taşlarını kiralayıp işletim sistemini ve onun üzerindeki her şeyi kendiniz yönettiğiniz model.
Platform as a service ifadesinin kısaltması: yalnızca kodunuzu yüklediğiniz, sunucuları, işletim sistemini ve çalışma ortamını sağlayıcının sizin için işlettiği hazır platform.
Software as a service ifadesinin kısaltması: müşterilerin tarayıcı ya da uygulama üzerinden kullandığı ve abonelikle ödediği, arkasındaki her şeyi sağlayıcının işlettiği eksiksiz yazılım.
Sağlayıcının her istek için sunucuları otomatik olarak başlatıp ölçeklendirdiği ve yalnızca kodunuzun gerçekten çalıştığı süre için ödeme yaptığınız kod çalıştırma biçimini anlatır.
Bir şirketin bulut sağlayıcıdan kiralamak yerine kendi binasında ya da veri merkezinde çalıştırdığı sunucuları ve yazılımları anlatır.
Bir şirketin kendi şirket içi sistemlerini ya da özel bulutunu bir genel bulut sağlayıcıyla birleştiren, ikisinin birbirine bağlı biçimde birlikte çalıştığı yapı.
Bir bulut bölgesi içindeki, her birinin kendi elektrik ve ağ altyapısı olan birkaç ayrı veri merkezi konumundan biri; böylece birindeki arıza diğerlerini etkilemez.
Bir uygulamayı, kütüphanelerini ve ayarlarını içeren, konteynerlerin başlatıldığı şablon olarak kullanılan salt okunur paket.
Tek bir sistem gibi birlikte çalışan, birbirine bağlı makineler grubu; örneğin Kubernetes'te konteyner çalıştırmak ya da bir veritabanında veri saklamak için kullanılır.
Bir cluster'ın parçası olan fiziksel ya da sanal tek bir makine. Kubernetes'te worker node'lar, pod'ların fiilen çalıştığı makinelerdir.
Kubernetes'in çalıştırdığı en küçük birim: her zaman aynı node'a birlikte yerleştirilen, ağ adresini ve depolamayı paylaşan bir ya da daha fazla konteyner.
Çok sayıda konteynerin ya da servisin otomatik olarak yönetilmesi: nerede çalışacaklarına karar verme, onları başlatma ve yeniden başlatma, birbirine bağlama ve ölçekleme.
Küçük kod değişikliklerini sık sık ortak ana dala birleştirme ve her değişikliğin otomatik olarak derlenip test edilmesiyle sorunları erkenden yakalama pratiği.
Kodun her zaman yayına hazır tutulması, böylece test edilmiş herhangi bir sürümün tek bir tuşla canlı ortama çıkabilmesi pratiği.
Bir derleme sonucunda üretilen ve saklanıp daha sonra dağıtılan dosya ya da paket; örneğin JAR dosyası, ikili dosya ya da konteyner imajı.
Gelen trafiği karşılayıp birden çok sunucuya dağıtan ve istekleri yalnızca sağlıklı çalışan sunuculara yönlendiren hizmet.
Talep arttığında sunucu ya da konteyner eklenmesi, azaldığında kaldırılması işinin işlemci kullanımı veya istek sayısı gibi kurallara göre otomatik yapılması.
Bir isteğin ya da verinin sistem içinden geçip yanıt alması için geçen süre; genellikle milisaniye cinsinden ölçülür.
Sunucu, veritabanı ya da ağ gibi bilişim kaynaklarını oluşturup kullanıma hazır hale getirmek.
HashiCorp'un geliştirdiği, yaygın olarak kullanılan bir kod olarak altyapı aracı. Kaynakları yapılandırma dosyalarında tanımlarsınız; Terraform da onları bu tanıma uyacak şekilde oluşturur, değiştirir ya da siler.
Birçok sunucudaki yazılımı, ayarları ve dosyaları her sunucuyu elle değiştirmek yerine araçlar kullanarak bilinen ve tutarlı bir durumda tutma işi.
Yeni bir sunucuyu, konteyneri ya da ortamı genellikle tek bir komutla veya birkaç tıklamayla hızla oluşturup çalıştırmak.
Sanal makineleri oluşturup çalıştıran, tek bir fiziksel bilgisayarın işlemcisini, belleğini ve depolamasını bu makineler arasında paylaştırıp onları birbirinden ayrı tutan yazılım.
Bulut kaynakları üzerinde çalışan ve bilişim gücü tüketen uygulama, servis ya da iş; örneğin bir web sitesi, toplu işlem ya da veritabanı.
Kurulum, yama, yedekleme ve ölçekleme işlerini sağlayıcının üstlendiği, sizin yalnızca kullandığınız ve altındaki sunucuları yönetmediğiniz bulut hizmeti.
Dosyaları her birinin benzersiz bir anahtarı ve üst verisi olan nesneler olarak saklayan ve bunlara HTTP API üzerinden okuma ve yazma imkanı veren bulut depolama türü.
Amazon S3 ya da Google Cloud Storage gibi nesne depolama hizmetlerinde dosyaları tutan, kendi erişim ve depolama ayarları olan adlandırılmış alan.
Virtual private cloud ifadesinin kısaltması: genel bulut içinde IP aralıklarını, alt ağları, yönlendirmeyi ve erişimi sizin kontrol ettiğiniz, size ait yalıtılmış özel ağ.
VPC gibi daha büyük bir ağın içindeki daha küçük IP adresi aralığı; kaynakları gruplamak ve hangilerinin internete erişebileceğini kontrol etmek için kullanılır.
Uzun vadeli sözleşme olmadan yalnızca gerçekten kullandığınız kaynaklar için, örneğin saniye, saat ya da gigabayt başına ödeme yaptığınız fiyatlandırma modelini anlatır.
Performansı ya da güvenilirliği bozmadan bulut harcamalarını azaltma çalışması; örneğin kullanılmayan kaynakları kaldırmak, doğru boyutları seçmek ve indirimlerden yararlanmak.
Bir diskin, birimin ya da veritabanının belirli bir andaki halinin aynısı olan kopya; geri yükleme yapmak ya da yeni bir kopya oluşturmak için kullanılabilir.
Tek bir makineyi büyütmek yerine işi paylaşan daha fazla sunucu, konteyner ya da instance ekleyerek daha fazla yükü karşılamak.
Daha fazla makine eklemek yerine tek bir makineye daha fazla işlemci ya da bellek gibi ek güç vererek daha fazla yükü karşılamak.
Bir sistemin belirli bir sürede tamamladığı iş miktarı; örneğin saniyedeki istek sayısı, dakikadaki mesaj sayısı ya da saniyedeki megabayt.
Veritabanı ya da ağ gibi, sistemin geri kalanının performansını da aşağı çeken en yavaş ya da en sınırlı bileşen.
Birbirinin aynısı iki canlı ortamla yapılan yayın yöntemi: yeni sürüm boşta bekleyen ortama kurulur, ardından tüm trafik tek seferde oraya yönlendirilir.
Yeni bir sürümü önce kullanıcıların ya da sunucuların küçük bir bölümüne açmak, metriklerini izlemek ve ancak ondan sonra herkese yaymak.
Yeni kod deploy etmeden bir özelliği açıp kapatmaya yarayan ayar; böylece özellik bazı kullanıcılara gösterilebilir, canlıda test edilebilir ya da hızla kapatılabilir.
Yeni bir sürümü, özelliği ya da değişikliği kullanıcılara veya sunuculara, çoğu zaman tek seferde değil belirli bir süreye yayarak adım adım sunmak.
Docker'ın bir konteyner imajı oluşturmak için izlediği, FROM, COPY ve RUN gibi adım adım talimatlar içeren metin dosyası.
Pipeline'ların yeni imajları gönderdiği, sunucuların ya da cluster'ların da çalıştırmak gerektiğinde imajları çektiği konteyner imajı depolama hizmeti.
Girintileri ve basit 'anahtar: değer' satırlarını kullanan, insanlar tarafından kolayca okunabilen yapılandırma dosyası biçimi. DevOps araçlarının çoğu bununla yapılandırılır.
Normal kullandıkça öde fiyatlarına göre büyük bir indirim karşılığında bir ya da üç yıl kullanmayı taahhüt ettiğiniz bulut kapasitesi.
Çok daha düşük fiyatla satılan, ancak sağlayıcı kapasiteye yeniden ihtiyaç duyduğunda kısa bir uyarıyla geri alabildiği atıl bulut kapasitesi.
Bir ağdan dışarı çıkan veri; örneğin bir bulut sağlayıcıdan internete ya da başka bir bölgeye giden trafik. Bulut sağlayıcılar genellikle gelen veri için değil, çıkış trafiği için ücret alır.
Artık ihtiyaç duyulmayan bir sunucuyu, ortamı ya da kaynak grubunu genellikle bir komut veya script ile tamamen silmek.
Bir uygulamanın neredeyse tamamlanmış sürümünü herkese açık yayından önce bir grup gerçek kullanıcıyla test ederek hata bulma ve geri bildirim toplama süreci.
Uygulamayı ana ekranda, mağazada ve ayarlarda temsil eden küçük görsel; kullanıcıların genellikle ilk fark ettiği şeydir.
Bir uygulamayı veya güncellemeyi, mağaza kurallarından birine aykırı olduğu ya da inceleme sırasında düzgün çalışmadığı için mağazaya kabul etmemek.
Apple'ın iOS uygulamalarının beta build'lerini test kullanıcılarına ulaştırdığı hizmet; test kullanıcıları sürümü App Store'da yayınlanmadan önce TestFlight uygulamasıyla yükler.
Uygulamanın mağazadaki sayfası; adı, simgesi, açıklaması, ekran görüntüleri, puanları ve kullanıcıların indirme kararı vermesine yardımcı olan diğer bilgileri içerir.
Uygulamanın bir sürümünü kullanıcılar açısından tanımlayan, mağazada ve genellikle uygulamanın ayarlarında gösterilen numara; örneğin 3.2.1.
Uygulamaya bir sertifikayla dijital imza eklemek; bu imza uygulamayı kimin geliştirdiğini kanıtlar ve derlendikten sonra değiştirilmediğini gösterir.
Bir uygulama kimliğini (app ID), imzalama sertifikalarını ve test için belirli cihazları birbirine bağlayan Apple dosyası; imzalı bir iOS uygulamasının çalışmasına ya da dağıtılmasına izin verir.
Bir uygulamanın sistem ve mağaza tarafından tanınmasını sağlayan benzersiz kimliği; genellikle com.sirket.uygulamaadi gibi ters alan adı biçiminde yazılır.
Bir güncellemeyi önce kullanıcıların küçük bir yüzdesine sunup bu oranı adım adım artırarak yayınlamak; böylece sorunlar herkes yeni sürümü almadan önce fark edilebilir.
Uygulamanın eski bir sürümünü engelleyen ve kullanıcının uygulamayı kullanmaya devam edebilmesi için önce son sürümü yüklemesini şart koşan ekran ya da kural.
App Store Optimization, yani uygulama mağazası optimizasyonu: uygulamanın başlık, anahtar kelime, ekran görüntüsü ve puan gibi mağaza sayfası öğelerini iyileştirerek aramalarda daha üst sıralarda çıkmasını ve daha çok indirilmesini sağlama çalışması.
Downloadable content (indirilebilir içerik) kısaltması: bir oyun çıktıktan sonra yayımlanan ve çoğu zaman ayrıca satılan yeni bölüm, karakter, hikaye bölümü ya da kostüm gibi ek içerik.
Oyunun üzerinde çalıştığı ve satıldığı donanım ya da mağaza; örneğin PC, PlayStation, Xbox, Nintendo Switch, iOS, Android ya da Steam gibi bir mağaza.
Bir oyunu başka bir dil ve kültürdeki oyunculara uyarlamak: metinleri ve seslendirmeleri çevirmek; yazı tiplerini, tarih biçimlerini, şakaları ve görselleri uyarlamak.
Oyunun çıkıştan sonra yıllarca yeni içerik, etkinlik ve sezonlarla sürekli güncellendiği; oyuncuların oynamaya ve harcamaya devam etmesini amaçlayan model.
Daily active users (günlük aktif kullanıcı) kısaltması: belirli bir günde oyunu oynayan farklı kişi sayısı. MAU aynı rakamın aylık karşılığıdır.
Veritabanları ve Kalıcı Saklama
Structured Query Language, yani yapılandırılmış sorgu dili: ilişkisel veritabanlarında tablo oluşturmak ve veri okumak, eklemek, değiştirmek ya da silmek için kullanılan standart dil.
İlişkisel veritabanında tek bir tür nesneye ait veriyi satır ve sütunlar halinde tutan yapı; örneğin tüm müşteriler ya da tüm siparişler.
Bir tablonun adı ve veri tipi olan dikey bölümü; her satır için aynı türden bir bilgiyi, örneğin e-posta ya da oluşturulma tarihini tutar.
Veri okumak ya da değiştirmek için veritabanına gönderilen, çoğunlukla SQL ile yazılmış istek. Fiil olarak 'query' veritabanından veri istemek, sorgulamak anlamına gelir.
Veriyi satır ve sütunlardan oluşan tablolarda tutan, tabloları anahtarlar aracılığıyla birbirine bağlayan veritabanı türü. Veri genellikle SQL ile yönetilir.
Database management system, yani veritabanı yönetim sistemi: veriyi saklayan, sorguları çalıştıran, erişimi denetleyen ve verinin güvenliğini sağlayan yazılım; PostgreSQL ya da Oracle gibi.
Bir tablodaki her satırı benzersiz biçimde tanımlayan sütun ya da sütun grubu. Boş bırakılamaz ve iki satır aynı değere sahip olamaz.
Bir tablodaki, başka bir tablonun birincil anahtarına işaret eden sütun. İki tabloyu birbirine bağlar ve var olmayan satırlara referans kaydedilmesini engeller.
Bir ya da daha fazla tablodan veri okuyup koşula uyan satırları döndüren, veritabanında hiçbir şeyi değiştirmeyen SQL komutu.
Bir SQL komutunda koşul belirleyen bölüm; yalnızca bu koşulu sağlayan satırlar okunur, güncellenir ya da silinir.
İki ya da daha fazla tablodaki satırları, müşteri ID'si gibi ortak bir sütun üzerinden bir araya getiren SQL işlemi. Fiil olarak tabloları bu şekilde birleştirmek anlamına gelir.
Bir veritabanının yapısı: tabloları, sütunları, veri tipleri, anahtarları ve ilişkileri. Bazı ürünlerde veritabanı içindeki tabloları gruplayan adlandırılmış bir alan anlamına da gelir.
Tek bir bütün olarak ele alınan veritabanı işlemleri grubu: ya hepsi birlikte başarılı olur ya da hiçbiri uygulanmaz.
Bir sütunun tutabileceği değerin türü; tam sayı, metin, tarih ya da doğru/yanlış değeri gibi. Neyin saklanabileceğini ve ne kadar yer kaplayacağını belirler.
Bir değerin eksik ya da bilinmediğini gösteren özel işaret. Sıfırla ya da boş metinle aynı şey değildir.
Bir tabloya bir ya da daha fazla yeni satır ekleyen SQL komutu; INSERT INTO ifadesinden sonra sütun adları ve değerleri yazılır.
Var olan satırlardaki değerleri değiştiren SQL komutu; yalnızca doğru satırların değişmesi için genellikle bir WHERE koşuluyla sınırlandırılır.
Bir tablodan satır silen SQL komutu. WHERE koşuluyla yalnızca koşula uyan satırları siler; koşul yoksa bütün satırları siler.
Bir arıza, hata ya da saldırıdan sonra veriyi geri getirebilmek için veritabanının belirli bir andaki kopyası.
Klasik tablo ve SQL modelini kullanmayan, veriyi bunun yerine doküman, anahtar-değer çifti, geniş sütun ya da graf olarak saklayan geniş veritabanı ailesi.
Bir tablo ya da sütun üzerinde tanımlanan, veritabanının otomatik olarak uyguladığı ve kuralı bozacak her veriyi reddettiği kural.
Her bilginin yalnızca tek bir yerde saklanması için tabloları düzenleme süreci; tekrar eden veriyi azaltır ve güncelleme hatalarını önler.
Sorgu sonucundaki satırları bir ya da daha fazla sütuna göre artan (ASC) ya da azalan (DESC) sırada dizen SQL ifadesi.
Aynı değerlere sahip satırları gruplara ayıran ve her grup için toplam, sayı ya da ortalama hesaplanmasını sağlayan SQL ifadesi.
Birçok satırı alıp bunlardan tek bir değer üreten SQL fonksiyonu; COUNT, SUM, AVG, MIN ya da MAX gibi.
Yalnızca iki tabloda da eşleşmesi olan satırları döndüren join; diğer tarafta karşılığı olmayan satırlar sonuca girmez.
Birinci (sol) tablodaki bütün satırları ve ikinci tablodaki eşleşen satırları döndüren join; eşleşme yoksa ikinci tablonun sütunları NULL gelir.
Yeni bir tablo oluşturan SQL komutu; tablonun adını, sütunlarını ve veri tiplerini, birincil anahtar gibi kısıtlarını tanımlar.
Var olan bir tablonun yapısını değiştiren SQL komutu; örneğin sütun eklemek, yeniden adlandırmak ya da silmek veya kısıt eklemek için kullanılır.
Tablo gibi kullanılabilen, kaydedilmiş bir SELECT sorgusu. Genellikle kendi verisini saklamaz ve her seferinde sorgunun güncel sonucunu gösterir.
Veritabanının içinde saklanan, parametre alabilen ve tek bir çağrıyla tekrar tekrar çalıştırılabilen adlandırılmış SQL kod bloğu.
Atomicity (bölünmezlik), Consistency (tutarlılık), Isolation (yalıtım), Durability (kalıcılık): hatalara, çökmelere ve aynı anda çok sayıda kullanıcıya rağmen transaction'ları güvenilir kılan dört güvence.
Veritabanının bir sorguyu çalıştırmak için seçtiği adım adım strateji; hangi indeksleri kullandığını, tabloları nasıl birleştirdiğini ve kaç satır beklediğini gösterir.
Bir sorguya ve tablo istatistiklerine bakarak onu çalıştırmanın en ucuz yolunu seçen ve yürütme planını üreten veritabanı motoru bileşeni.
Bir sunucudaki her değişikliği diğerlerine göndererek aynı veritabanının kopyalarını birden fazla sunucuda tutmak; güvenlik ve yük paylaşımı için yapılır.
Bir veritabanını yedekten geri getirmek; ya veri kaybını gidermek ya da başka bir sunucuda kopyasını oluşturmak için yapılır.
Database administrator, yani veritabanı yöneticisi: bir şirketin veritabanlarını kurmak, güvenliğini sağlamak, yedeklemek, performansını ayarlamak ve ayakta tutmaktan sorumlu kişi.
Bir veritabanı tasarımını gösteren çizim; varlıkları (genellikle tabloları), özelliklerini ve aralarındaki bire-çok gibi ilişkileri gösterir.
Birinci tablodaki bir satırın ikinci tablodaki birçok satırla bağlantılı olabildiği, ama bu satırların her birinin yalnızca tek bir satıra ait olduğu ilişki; müşteri ve siparişleri gibi.
Bir tablodaki birçok satırın diğer tablodaki birçok satırla ilişkili olabildiği bağlantı; öğrenciler ve dersler gibi. Eşleşmeleri saklamak için arada üçüncü bir tablo gerekir.
Bir sütunda ya da sütun grubunda iki satırın aynı değere sahip olmasını engelleyen kural; örneğin aynı e-posta adresine sahip iki kullanıcı olmasını önler.
Yeni bir satır eklendiğinde değeri veritabanı tarafından sıradaki sayıyla otomatik olarak doldurulan sayısal sütunu tanımlar.
Her öğeyi genellikle JSON benzeri biçimde, kendi içinde bütün bir doküman olarak saklayan NoSQL veritabanı; ilişkili veriler sabit tablolar olmadan bir arada tutulabilir.
Her değeri benzersiz bir anahtar altında saklayan ve o anahtarla çok hızlı biçimde geri bulan, en basit NoSQL veritabanı türü.
Başka bir sorgunun içine parantez içinde yazılan ve sonucu dıştaki sorgu tarafından, örneğin filtrelenecek değerlerin listesi olarak kullanılan sorgu.
GROUP BY çalıştıktan sonra grupları filtreleyen SQL bölümü; genellikle COUNT ya da SUM gibi bir toplama fonksiyonunun sonucunu kullanır.
Sonuçtaki tekrar eden satırları çıkaran SELECT biçimi; böylece döndürülen değerlerin her birleşimi yalnızca bir kez görünür.
Sorgu içinde bir tabloya ya da sütuna genellikle AS anahtar kelimesiyle verilen geçici kısa ad; sorguyu kısaltmak ya da çıktıyı daha anlaşılır hale getirmek için kullanılır.
Bir satırı ancak birlikte kullanıldığında tanımlayan iki ya da daha fazla sütundan oluşan anahtar; sipariş kalemleri tablosundaki sipariş ID'si ile ürün ID'sinin birlikte kullanılması gibi.
Yalnızca her satırı tanımlamak için oluşturulan, iş açısından hiçbir anlam taşımayan yapay anahtar; otomatik artan bir sayı ya da UUID gibi.
Tablolar arasındaki her referansın gerçekten var olan bir satırı göstermesi gerektiği kuralı; böylece var olmayan müşterilere ait siparişler oluşmaz.
Bir silme ya da güncelleme işleminin üst satırdan, yabancı anahtarla ona bağlı bütün alt satırlara otomatik olarak yansıması.
Yeni bir satır o sütun için değer verilmeden eklendiğinde sütuna otomatik olarak atanan değer; 0, 'pending' ya da o anki zaman gibi.
Okumayı hızlandırmak için bazı verileri bilerek birden fazla yerde saklamak ya da tabloları birleştirmek; kopyaları doğru tutmak için daha fazla çaba gerektirmeyi göze almak.
Tablo tasarımı için tanımlanmış bir dizi kuraldan biri (1NF, 2NF, 3NF ve daha üstü); her düzey belirli bir tür tekrar eden ya da yanlış yerde duran veriyi ortadan kaldırır.
Ya tablolar arasındaki ilişkinin türü (bire-bir, bire-çok, çoka-çok) ya da bir sütundaki farklı değerlerin sayısı.
Bir tablonun satırlarının fiziksel olarak hangi sırayla saklanacağını belirleyen indeks; bu yüzden bir tabloda yalnızca bir tane olabilir, diğer indeksler kümelenmemiş (non-clustered) indekslerdir.
Bir sorgunun ihtiyaç duyduğu satırları indeks aracılığıyla doğrudan bulmak yerine tablodaki bütün satırları okumak.
Tamamlanması belirlenen bir süre sınırından uzun süren, uygulamayı yavaşlatan ve veritabanı kaynaklarını tüketen sorgu.
Bir transaction'ın diğer transaction'ların değişikliklerinden ne kadarını görebileceğini belirleyen ayar; veri güvenliği ile hız ve eşzamanlılık arasında bir denge kurar.
Veritabanının bir satıra, sayfaya ya da tabloya koyduğu, mevcut transaction bitene kadar diğer transaction'ların orayı değiştirmesini, bazen de okumasını engelleyen işaret.
İki ya da daha fazla transaction'ın her birinin diğerinin tuttuğu kilidi beklediği, veritabanı birini iptal edene kadar hiçbirinin ilerleyemediği durum.
Bir tabloda ekleme, güncelleme ya da silme gibi belirli bir olay gerçekleştiğinde otomatik olarak çalışan, veritabanında saklanan kod parçası.
Veritabanı şemasını kontrollü biçimde değiştiren sürümlü betik ya da daha geniş anlamda verileri bir veritabanından veya sistemden diğerine taşıma projesi.
Bir yedeğin üzerine kaydedilmiş değişiklik loglarını yeniden uygulayarak veritabanını seçilen bir andaki, örneğin hatalı bir DELETE'ten bir dakika önceki haline döndürmek.
Ana sunucudan değişiklikleri alan ve yalnızca okuma sorguları için kullanılan veritabanı kopyası; birincil sunucunun yükünü hafifletir.
Arızalanan birincil veritabanı sunucusunun işini, uygulamanın çalışmaya devam edebilmesi için bekleme sunucusuna ya da replikaya aktarmak.
Bir veritabanı kullanıcısının ya da rolünün bir tabloyu okumak, satır eklemek veya yeni nesne oluşturmak gibi belirli bir işlemi yapmasına izin veren izin.
SQL'deki GRANT komutuyla bir veritabanı kullanıcısına ya da rolüne bir işlemi yapma izni vermek; REVOKE ise bu izni geri alır.
Uygulamanın her istek için yeni ve yavaş bir bağlantı açmak yerine hazır tuttuğu ve yeniden kullandığı açık veritabanı bağlantıları kümesi.
Object-relational mapping, yani nesne-ilişkisel eşleme: geliştiricilerin veritabanı satırlarıyla kendi programlama dillerindeki nesneler gibi çalışmasını sağlayan ve SQL'i onlar yerine üreten kütüphane.
Create, Read, Update, Delete: saklanan veri üzerindeki dört temel işlem; SQL'deki INSERT, SELECT, UPDATE ve DELETE komutlarına karşılık gelir.
Büyük bir veri kümesini, her biri satırların farklı bir bölümünü tutan birden fazla veritabanı sunucusuna dağıtmak; böylece sistem tek bir makinenin sınırlarını aşabilir.
Büyük bir tabloyu tarih aralığı ya da bölge gibi bir kurala göre partition denen daha küçük parçalara bölmek; sorgular açısından tablo yine tek bir tablo gibi görünür.
Bir veritabanı sisteminin bir sunucu, disk ya da veri merkezi arızalansa bile çok az kesintiyle çalışmaya devam edecek şekilde tasarlanması.
Bir veritabanının yapısını ve verisini SQL komutları ya da özel bir dışa aktarım biçimi olarak içeren ve başka bir veritabanına yüklenebilen dosya.
Yeni bir değişiklik yapılmazsa verinin bütün kopyalarının kısa bir süre sonra aynı hale geleceği güvencesi; ancak okumalar kısa bir süre eski değerleri döndürebilir.
Bir ağ arızası dağıtık bir veritabanını ikiye böldüğünde sistemin tutarlılık (her yerde aynı veri) ile erişilebilirlik (her zaman yanıt verme) arasında seçim yapmak zorunda olduğu fikri.
Veriyi ilişkilerle birbirine bağlanan düğümler olarak saklayan NoSQL veritabanı; 'arkadaşlarımın arkadaşları' gibi bağlantıları hızla izlemeyi sağlar.
MongoDB gibi doküman veritabanlarında birlikte saklanan doküman grubu; ilişkisel veritabanındaki tabloya benzer.
Verisini disk yerine ağırlıklı olarak RAM'de tutan ve bu sayede okuma ve yazma işlemlerini son derece hızlı yapan veritabanı.
Birçok sistemden geçmiş verileri toplayan, küçük güncellemelerden çok büyük okuma sorguları için tasarlanmış, raporlama ve analize yönelik merkezi veritabanı.
Online transaction processing, yani çevrimiçi işlem işleme: sipariş vermek ya da profil güncellemek gibi kullanıcılardan gelen çok sayıda küçük ve hızlı okuma-yazma işleminden oluşan veritabanı iş yükü.
Bir satır henüz yoksa eklemek, zaten varsa güncellemek işlemini tek adımda yapmak. Kelime 'update' ve 'insert' sözcüklerinin birleşimidir.
Common table expression, yani ortak tablo ifadesi: bir sorgunun başında WITH ile tanımlanan, ana sorgunun ardından tablo gibi kullanabildiği adlandırılmış geçici sonuç.
Birbiriyle ilişkili bir satır kümesi üzerinden yürüyen toplam ya da sıralama gibi bir değer hesaplayan ama her satırı yine ayrı ayrı döndüren SQL fonksiyonu.
İki ya da daha fazla SELECT sorgusunun sonuçlarını alt alta ekleyerek tek bir sonuçta birleştiren ve tekrar eden satırları çıkaran SQL operatörü.
TRUNCATE TABLE komutuyla bir tablodaki bütün satırları tek seferde silmek; tablo ve yapısı korunur ve satırları tek tek silmekten çok daha hızlıdır.
Data definition language, yani veri tanımlama dili: CREATE, ALTER ve DROP gibi veritabanı nesnelerini oluşturan, değiştiren ve kaldıran SQL komutları.
Data manipulation language, yani veri işleme dili: tabloların içindeki veriyle çalışan SQL komutları; başlıcaları INSERT, UPDATE, DELETE ve çoğu zaman SELECT'tir.
Yavaş sorguların yürütme planlarını inceleyip ardından indeks ekleyerek, SQL'i yeniden yazarak ya da veritabanı ayarlarını değiştirerek onları hızlandırma çalışması.
Birçok kullanıcıya aynı anda verilebilen, read_only ya da app_writer gibi adlandırılmış veritabanı yetkileri kümesi; yetki yönetimini kolaylaştırır.
Web, Mobil ve Arayüz Geliştirme
Bir web sitesinin ya da web uygulamasının kullanıcının tarayıcıda gördüğü ve etkileşime girdiği kısmı; temel olarak HTML, CSS ve JavaScript ile geliştirilir.
Bir web sitesinin ya da uygulamanın kullanıcının görmediği sunucu tarafı; verileri saklar, iş kurallarını çalıştırır ve ön yüze ihtiyaç duyduğu bilgileri gönderir.
Bir web uygulamasının hem ön yüzünü hem de arka ucunu, yani kullanıcı arayüzünden sunucuya ve veritabanına kadar her katmanı kapsayan.
Web sayfalarını indirip kodlarını insanların okuyup kullandığı ekranlara dönüştüren Chrome, Firefox, Safari veya Edge gibi bir program.
HyperText Markup Language (Hipermetin İşaretleme Dili): başlık, paragraf, bağlantı ve görsel gibi öğelerle bir web sayfasının yapısını ve içeriğini tanımlayan standart dil.
Cascading Style Sheets (Basamaklı Stil Sayfaları): HTML'in nasıl görüneceğini belirleyen dil; renkler, yazı tipleri, boşluklar, sayfa düzeni ve animasyonlar bununla tanımlanır.
Her web tarayıcısında çalışan ve sayfalara etkileşim kazandıran programlama dili; Node.js sayesinde sunucularda da çalışır.
Uniform Resource Locator (Tekdüzen Kaynak Konumlayıcı): web'deki bir sayfanın ya da dosyanın https://example.com/blog?page=2 gibi tam adresi.
Tarayıcılardan ve diğer istemcilerden gelen istekleri bekleyen; onlara sayfa, dosya ya da veri gönderen bilgisayar veya program.
Bir bağlantıda veri isteyen taraf; genellikle tarayıcı ya da mobil uygulamadır ve yanıt veren sunucunun karşısında yer alır.
Bir HTML sayfasının paragraf, görsel ya da buton gibi tek bir yapı taşı; genellikle açılış etiketi, içerik ve kapanış etiketinden oluşur.
Bir öğenin nerede başlayıp nerede bittiğini gösteren, <h1> veya </p> gibi köşeli parantez içine yazılmış HTML kodu.
Açılış HTML etiketinin içine ad ve değer olarak yazılan ek bilgi; örneğin bir bağlantıdaki href ya da bir görseldeki alt.
Bir CSS kuralında stillerin hangi öğelere uygulanacağını belirten kısım; örneğin p, .button ya da #header.
Document Object Model (Belge Nesne Modeli): tarayıcının bir sayfanın HTML'inden oluşturduğu ve sayfa açıkken JavaScript'in okuyup değiştirebildiği nesne ağacı.
Aynı sayfa düzeninin telefondan tablete, büyük monitörlere kadar her ekran boyutuna uyum sağlayacak şekilde geliştirilmesi yaklaşımı.
Web sitelerini görme, işitme ya da hareket kısıtlılığı olanlar ve yardımcı teknolojiler kullananlar dahil herkesin kullanabileceği hale getirme pratiği.
Cihaza kurulmadan web tarayıcısında çalışan uygulama; örneğin çevrim içi e-posta, harita ya da proje yönetim araçları.
Tarayıcılara yerleşik olarak gelen ve geliştiricilerin HTML ile CSS'i incelemesine, JavaScript hatalarını ayıklamasına, ağ isteklerini izlemesine ve performansı ölçmesine olanak tanıyan araçlar.
CSS'te ayarlanan stil özelliğinin adı; örneğin color, margin ya da display. Her zaman bir değerle birlikte yazılır.
Bir sayfanın nasıl görüneceğini tanımlayan CSS kurallarından oluşan dosya ya da blok; çoğu site bir veya daha fazla harici .css dosyasına bağlantı verir.
Öğelerin sayfadaki dizilişi; sütunların, menülerin, görsellerin ve metinlerin nerede durduğu ve ekran boyutu değişince nasıl yer değiştirdiği.
Öğeleri tek bir satır ya da sütun halinde dizip nasıl büyüyüp küçüleceklerini, nasıl hizalanacaklarını ve boşluğu nasıl paylaşacaklarını kontrol eden CSS yerleşim yöntemi.
Öğeleri aynı anda hem satırlara hem sütunlara yerleştirmeye yarayan CSS yerleşim sistemi; tam sayfa düzenleri ve kart galerileri için kullanışlıdır.
Stilleri yalnızca belirli bir koşul doğru olduğunda uygulayan CSS kuralı; örneğin en az belirli bir ekran genişliği, karanlık mod ya da yazdırma.
Kendi işaretlemesi, stili ve mantığı olan, tekrar kullanılabilir ve bağımsız arayüz parçası; örneğin bir buton, açılır pencere (modal) ya da ürün kartı.
Tarayıcıda gerçekleşen ve kodun tepki verebildiği durum; örneğin bir tıklama, tuşa basma, form gönderme ya da sayfanın yüklenmesinin bitmesi.
Kullanıcılar, siparişler ya da gönderiler gibi verilerin düzenli biçimde saklandığı ve arka ucun bunları hızla kaydedip arayabildiği ve güncelleyebildiği depo.
Bir web sitesinin tarayıcıda sakladığı ve sonraki isteklerle sunucuya geri gönderilen küçük veri parçası; oturum açma, ayarlar ve izleme için kullanılır.
Bir sayfanın indirilip ekranda kullanılabilir hale gelmesi için geçen süre; genellikle saniye ya da milisaniye cinsinden ölçülür.
Dosyaların ya da verilerin kopyalarının, tekrar daha hızlı sunulabilmeleri için bir süreliğine tutulduğu yer; örneğin tarayıcı, CDN ya da sunucu.
Search Engine Optimization (Arama Motoru Optimizasyonu): bir sitenin sayfalarının Google gibi arama motorlarında bulunmasına, anlaşılmasına ve daha üst sıralarda gösterilmesine yardımcı olan çalışmalar.
alt özniteliğiyle eklenen, ekran okuyucuların sesli okuduğu ve görsel yüklenemezse tarayıcının gösterdiği kısa görsel açıklaması.
Bir sayfanın ya da bölümün başlığı; h1'den h6'ya kadar olan öğelerle işaretlenir, h1 ana başlıktır, diğerleri alt seviyeleri gösterir.
Kullanıcıyı başka bir sayfaya veya konuma götüren tıklanabilir metin ya da görsel; HTML'de a öğesi ve href özniteliğiyle oluşturulur.
Kullanıcıların bilgi girdiği ve bu bilgilerin sunucuya gönderildiği sayfa bölümü; örneğin giriş, arama ya da iletişim formu.
Bir formda kullanıcının ad, e-posta adresi, parola ya da tarih gibi bir değer yazdığı veya seçtiği kutu ya da kontrol.
Her şey için genel amaçlı div ve span yerine nav, main, article ve button gibi öğeleri anlamlarına uygun şekilde kullanan HTML.
Her öğenin içerik, iç boşluk (padding), kenarlık (border) ve dış boşluktan (margin) oluşan dikdörtgen bir kutu olduğunu ve bunların birlikte öğenin boyutunu ve aralıklarını belirlediğini anlatan CSS kavramı.
Bir öğenin kenarlığının dışında kalan ve diğer öğeleri ondan uzaklaştıran boşluk.
Bir öğenin içinde, içeriği ile kenarlığı arasında kalan ve içeriği kenarlardan uzak tutan boşluk.
Web sayfasının tarayıcı penceresinde ya da telefon ekranında görünen alanı; pencere yeniden boyutlandırıldığında ya da telefon döndürüldüğünde boyutu değişir.
Bir öğede tıklama ya da tuşa basma gibi belirli bir olayı bekleyen ve o olay gerçekleştiğinde çalışan fonksiyon.
Veri yükleme gibi bir işi başlatıp o işin bitmesini beklemeden diğer kodları çalıştırmaya devam eden kodu niteler.
Sunucudan gelecek veri gibi henüz hazır olmayan bir sonucu temsil eden ve daha sonra başarıyla tamamlanan ya da başarısız olan JavaScript nesnesi.
Bir uygulamanın ya da bileşenin belirli bir anda tuttuğu ve ekranda neyin gösterileceğini belirleyen veriler; örneğin bir menünün açık olup olmadığı ya da kullanıcının ne yazdığı.
Tek bir HTML sayfası yükleyen ve kullanıcı gezindikçe her seferinde yeni sayfa yüklemek yerine içeriği JavaScript ile güncelleyen web uygulaması.
Sunucunun oturum açmış bir kullanıcıyı, genellikle bir çerezde saklanan kimlik numarası aracılığıyla, kullanıcı çıkış yapana ya da süre dolana kadar hatırladığı zaman dilimi.
Kullanıcının tarayıcısında değil, sunucuda gerçekleşen; örneğin sunucu tarafı kod, doğrulama ya da render.
Veritabanı adresi ya da API anahtarı gibi, uygulamaya kodun dışından verilen ve ortamdan ortama farklı olabilen adlandırılmış ayar.
Content Delivery Network (İçerik Dağıtım Ağı): bir sitenin dosyalarının kopyalarını saklayan ve bunları her kullanıcıya en yakın konumdan sunan, dünyaya yayılmış sunucu ağı.
Chrome, Firefox, Safari ve Edge gibi farklı tarayıcılarda, bunların farklı sürümlerinde ve farklı cihazlarda aynı şekilde çalışan.
Birden fazla kural aynı öğeyi hedeflediğinde hangi stilin geçerli olacağına karar vermek için CSS'in kullandığı kural: ID seçicileri class seçicilerinden, class seçicileri de öğe seçicilerinden güçlüdür.
JavaScript'in standart paket yöneticisi ve paketlerin indirildiği çevrim içi kayıt deposu; npm install gibi komutlarla kullanılır.
JavaScript'in üzerine kurulu, türler (type) ekleyerek birçok hatanın kod çalışırken değil yazılırken bulunmasını sağlayan programlama dili.
Çok sayıda JavaScript, CSS ve diğer dosyayı bağımlılıklarıyla birlikte tarayıcıların hızlıca yükleyebileceği birkaç optimize edilmiş dosyada birleştiren araç.
Görselleri, videoları ya da kodu gerçekten ihtiyaç duyulana, örneğin kullanıcı onlara yaklaşacak kadar kaydırana kadar yüklememe tekniği.
Kodun çalışma biçimini değiştirmeden boşlukları, yorumları ve satır sonlarını kaldırıp adları kısaltarak kod dosyalarını küçültmek.
Görselleri iyi görünmeye devam edecek şekilde dosya boyutu olarak olabildiğince küçültmek; örneğin sıkıştırarak, yeniden boyutlandırarak ve modern biçimler kullanarak.
Google'ın bir sayfadaki gerçek kullanıcı deneyimini ölçen üç metriği: yükleme (LCP), etkileşime yanıt verme hızı (INP) ve görsel kararlılık (CLS).
Accessible Rich Internet Applications (Erişilebilir Zengin İnternet Uygulamaları): role ve aria-label gibi, yardımcı teknolojilere öğeler hakkında ek bilgi veren HTML öznitelikleri bütünü.
Bir siteyi yalnızca klavyeyle kullanmak; bağlantılar, butonlar ve alanlar arasında Tab tuşuyla dolaşıp Enter veya boşluk tuşuyla bunları etkinleştirmek.
Metnin parlaklığını arka planın parlaklığıyla karşılaştıran sayı; 7:1 gibi yüksek oranlar 2:1 gibi düşük oranlardan daha kolay okunur.
Sayfanın head bölümünde yer alan ve tarayıcılara ve arama motorlarına sayfanın açıklaması ya da viewport ayarları gibi bilgiler veren HTML etiketi.
Arama motorlarının sayfaları daha kolay bulup taraması için bir web sitesinin sayfalarını listeleyen dosya; genellikle sitemap.xml adını taşır.
Bir arama motoru botunun sayfaları otomatik olarak ziyaret etmesi, bağlantılarını takip etmesi ve dizine eklenebilmeleri için içeriklerini indirmesi.
Akıllı telefon veya tablette çalışmak üzere tasarlanan, genellikle App Store ya da Google Play gibi bir uygulama mağazasından indirilen program.
Apple'ın iPhone için geliştirdiği işletim sistemi. Bu sistemin uygulamaları ağırlıklı olarak Xcode ve Swift programlama dili gibi Apple'ın kendi araçlarıyla geliştirilir.
Google'ın geliştirdiği mobil işletim sistemi; Samsung, Xiaomi ve Google'ın kendisi gibi pek çok telefon üreticisi tarafından kullanılır. Uygulamaları ağırlıklı olarak Kotlin veya Java ile yazılır.
Belirli bir platform için, o platformun kendi dilleri ve araçlarıyla geliştirilen uygulama; örneğin iOS için Swift, Android için Kotlin ile yazılan bir uygulama.
Tek ve ortak bir kod tabanından birden fazla platformda, genellikle hem iOS hem Android'de çalışan uygulama veya framework'ü tanımlar.
Bir mobil cihazın donanımını ve yazılımını bilgisayarda taklit eden program; uygulamayı gerçek bir telefon olmadan çalıştırıp test etmeyi sağlar.
Xcode ile gelen ve iOS uygulamalarını Mac'te iPhone ya da iPad görünümlü bir pencerede çalıştıran Apple aracı; gerçek cihazın donanımını birebir taklit etmez.
Uygulamada kullanıcının bir anda gördüğü tam görünümlerden her biri; örneğin giriş ekranı ya da ayarlar ekranı. Uygulamalar bir ekranlar dizisi olarak planlanır.
Bir şeyi seçmek için ekrana tek parmakla kısa ve hızlı biçimde dokunmak; örneğin bir butona, bağlantıya ya da listedeki bir öğeye.
Daha fazlasını görmek için ekrandaki içeriği yukarı, aşağı ya da yana hareket ettirmek; genellikle parmağı bir liste veya sayfa üzerinde kaydırarak yapılır.
Bir uygulamanın açılıştan kapanışa kadar geçtiği durumlar dizisi (aktif, arka planda, askıya alınmış gibi) ve her geçişte sistemin uygulamaya gönderdiği olaylar.
Uygulamanın çalışmaya devam ettiği ya da bellekte tutulduğu ama ekranda görünmediği durum; örneğin kullanıcı başka bir uygulamaya geçtiğinde.
Uygulamanın açık ve ekranda görünür olduğu, kullanıcının onunla doğrudan etkileşime girebildiği durum.
Uygulamanın internet bağlantısı olmadan da kullanılabildiği çalışma biçimi; kayıtlı verileri gösterir ve bağlantı geri geldiğinde değişiklikleri sonradan gönderir.
Uygulamanın ayarlar, dosyalar veya veritabanı gibi verileri sunucuya bağlanmadan kullanabilmek için doğrudan cihazın üzerinde sakladığı alan.
Kullanıcının uygulamanın içinden satın aldığı şey; ek özellikler, oyun parası ya da abonelik gibi. Ödeme App Store veya Google Play üzerinden yapılır.
Apple'ın iPhone, iPad, Mac ve diğer Apple platformları için uygulama yazmaya, derlemeye, test etmeye ve yayınlamaya yarayan geliştirme ortamı. Yalnızca macOS'ta çalışır.
Google'ın Android uygulamaları için resmi geliştirme ortamı; IntelliJ IDEA tabanlıdır ve kod editörü, Android Emulator, profil araçları ve derleme araçları içerir.
Apple'ın 2014'te tanıttığı, iOS ve diğer Apple platformlarında uygulama geliştirmek için kullanılan programlama dili; eski Objective-C dilinin yerini büyük ölçüde almıştır.
JetBrains'in geliştirdiği ve Google'ın Android geliştirme için ana dil olarak önerdiği modern programlama dili; Java koduyla birlikte çalışabilir.
Meta'nın geliştirdiği, JavaScript veya TypeScript ve React ile iOS ve Android uygulamaları geliştirmeyi sağlayan ve gerçek native arayüz bileşenlerini kullanan cross-platform framework.
Google'ın tek kod tabanından mobil, web ve masaüstü uygulamaları geliştirmeye yarayan açık kaynaklı framework'ü; Dart dilini kullanır ve arayüzü ekrana kendisi çizer.
iOS'ta ekranın üstünde başlığı, geri butonunu ve işlem butonlarını gösteren çubuk; Android'de ise geri ve ana ekran kontrollerinin bulunduğu sistem çubuğu için de bu ad kullanılır.
Genellikle ekranın altında yer alan ve kullanıcıların Ana Sayfa, Arama ve Profil gibi ana bölümler arasında geçiş yapmasını sağlayan simgeli çubuk.
Parmağı ekran üzerinde tek bir yönde hızlıca kaydırmak; örneğin sonraki fotoğrafa geçmek, listedeki bir öğeyi silmek ya da geri dönmek için.
Uygulama başlarken kullanıcının gördüğü ilk ekran; genellikle ana içerik hazır olana kadar düz bir arka plan üzerinde logoyu gösterir.
Uygulamayı yeni yükleyen kullanıcının geçtiği ilk ekranlar; ana özellikleri tanıtır, izin ister veya hesap oluşturmaya yardımcı olur.
Sistem genelinde ve bunu destekleyen uygulamalarda koyu arka plan üzerinde açık renkli metin gösteren görüntü ayarı; çoğu zaman gece kullanımı için tercih edilir.
Yerel değişiklikleri göndererek ve yenilerini indirerek cihazdaki veriyle sunucudaki veriyi aynı duruma getirmek; 'synchronize' kelimesinin kısaltmasıdır.
HTML, CSS ve JavaScript gibi web teknolojileriyle geliştirilen ve native bir kabuğun içine yerleştirilen uygulama; böylece mağazalardan yüklenebilir ve bazı cihaz özelliklerini kullanabilir.
Ayrı bir tarayıcı açmadan web sayfalarını uygulamanın içinde gösteren bileşen; geliştiricilerin web içeriğini native bir ekranın içinde göstermesini sağlar.
Kod değişikliklerini, çoğu zaman mevcut ekranı ve durumunu kaybetmeden, çalışan uygulamada bir iki saniye içinde gösteren geliştirme özelliği.
Uygulamanın arayüzünü çizdiği ve kullanıcı girdilerini işlediği iş parçacığı; burada yavaş işler çalıştırılırsa uygulama donar ve yanıt vermez olur.
Uygulama bellekte bulunmadığı için sistemin her şeyi baştan oluşturmak zorunda kaldığı başlatma; en yavaş başlatma türüdür.
Android'de kullanıcı arayüzüne sahip tek bir ekranı temsil eden ve oluşturulmasından yok edilmesine kadar kendi yaşam döngüsü olan temel uygulama bileşeni.
iOS'un UIKit çatısında bir ekranı ya da ekranın bir bölümünü yöneten nesne: görünümleri yükler, kullanıcı eylemlerine yanıt verir ve ekranın görünmesi gibi olayları ele alır.
Apple'ın 2019'da tanıttığı ve her durumda ekranın ne göstermesi gerektiğini tarif ederek Swift ile kullanıcı arayüzü oluşturmayı sağlayan bildirimsel (declarative) framework.
Google'ın Android kullanıcı arayüzlerini XML yerleşim dosyaları yerine composable fonksiyonlarla Kotlin'de oluşturmaya yarayan modern ve bildirimsel araç takımı.
Uygulamayı açmadan ana ekranda ya da kilit ekranında hava durumu veya sıradaki toplantı gibi güncel bilgileri gösteren küçük uygulama görünümü.
Ek seçenekleri ya da içeriği göstermek için ekranın altından yukarı doğru kayan panel; arkasındaki ekranın bir kısmı çoğu zaman görünür kalır.
Mevcut ekranın üstünde açılan ve kullanıcının önceki işine dönebilmesi için bir görevi tamamlaması ya da kapatması gereken ekran veya pencere.
Kullanıcının listenin en üstünü aşağı çekip bırakarak en güncel içeriği yüklediği hareket; yükleme sırasında küçük, dönen bir gösterge görünür.
Ekranın çentik, kamera kesiği, durum çubuğu veya ana ekran göstergesi tarafından kapatılmayan; önemli içerik ve butonların güvenle yerleştirilebildiği kısmı.
Cihazın tutuluş biçimi ve ekranın gösterilme yönü: dikey (portrait) ya da yatay (landscape). Bir uygulama bunlardan birini veya ikisini birden destekleyebilir.
Bir ekranın belirli bir fiziksel alanda kaç piksel barındırdığı; inç başına nokta (dpi) ile ölçülür. Yüksek yoğunluklu ekranlarda görsellerin keskin görünmesi için daha büyük görsel dosyaları gerekir.
Tek bir dosyada saklanan küçük ve hızlı bir veritabanı motoru; hem iOS'ta hem Android'de yerleşik olarak bulunur ve cihazda yapılandırılmış veri saklamak için yaygın olarak kullanılır.
Uygulamanın internet üzerinden bir sunucuya gönderdiği mesaj ve beklediği yanıt; örneğin bir listeyi yüklemek ya da bir formu kaydetmek için.
Verileri, uygulama kapatıldıktan ya da telefon yeniden başlatıldıktan sonra da cihazda kalacak şekilde kaydetmek; örneğin bir veritabanında, bir dosyada ya da ayarlarda.
Kullanıcıya ücretli içerik veya özellikleri açmadan önce, uygulamada yapılan satın almanın gerçek olduğunu ve geçerliliğini koruduğunu Apple ya da Google üzerinden kontrol etmek.
İnsanların bir ürünü, hizmeti ya da web sitesini kullanırken amaçlarına ne kadar kolay ulaştığı ve süreç boyunca ne hissettiği; ilk ziyaretten destek almaya kadar tüm temasları kapsar.
Bir ekranda içeriğin, butonların ve navigasyonun nereye yerleşeceğini gösteren; nihai renk, görsel ve stil içermeyen, genellikle siyah-beyaz basit çizim.
Bir ekranın ya da ürünün nihai renklerini, fontlarını, görsellerini ve boşluklarını gösteren ama tıklanamayan, statik ve gerçekçi görüntüsü.
Bir ürünü kullanan ya da kullanabilecek kişilerin ihtiyaçlarını, davranışlarını ve sorunlarını anlamak için görüşme, gözlem, anket ve testlerle yapılan çalışma.
Araştırma verilerine dayanarak oluşturulan; adı, hedefleri, ihtiyaçları ve sıkıntıları olan, kurgusal ama gerçekçi tipik kullanıcı profili. Ekibin gerçek insanları düşünerek tasarım yapmasına yardımcı olur.
Bir web sitesi ya da uygulamadaki içerik ve özelliklerin, insanlar aradıklarını bulabilsin ve nerede olduklarını anlayabilsin diye düzenlenmesi, gruplanması ve adlandırılması.
Kullanıcının bir üründe tek bir görevi, örneğin şifresini sıfırlamayı tamamlamak için geçtiği ekranları, adımları ve karar noktalarını gösteren diyagram ya da adım dizisi.
Bir şirketin ürünlerini tutarlı tutan ve ekiplerin daha hızlı üretmesini sağlayan; yeniden kullanılabilir component'ler, tasarım kuralları, token'lar ve dokümantasyondan oluşan ortak yapı.
Bir ekranda boyut, renk, kontrast, boşluk ve konumun, insanlar önce en önemli öğeleri fark edecek ve geri kalanı net bir sırayla okuyacak şekilde kullanılması.
Metni okunabilir kılmak ve tasarımın tonunu belirlemek için yazı karakterlerinin, font boyutlarının, kalınlıkların, satır aralığının ve harf aralığının seçilip düzenlenmesi.
Bir ürünün kullanılırken nasıl davranacağına karar veren tasarım alanı: kullanıcı dokunduğunda, yazdığında, kaydırdığında ya da beklediğinde ne olacağını ve sistemin nasıl tepki vereceğini belirler.
Kullanıcıların ihtiyaçlarını, hedeflerini ve sınırlarını tasarımın her aşamasının merkezine koyan; kararları gerçek insanlarla yapılan araştırma ve testlere dayandıran yaklaşım.
Kullanıcıların yaşadığı belirli bir sorun, can sıkıcı durum ya da engel; kafa karıştıran bir adım, uzun bir bekleme veya eksik bir özellik gibi.
Kullanıcıların form göndermek, değişiklikleri kaydetmek ya da bir menü açmak gibi bir işlem yapmasını sağlayan, tıklanabilir veya dokunulabilir arayüz öğesi.
Kullanıcıdan bir sonraki adımı atmasını isteyen buton, bağlantı ya da kısa mesaj; 'Kaydol', 'Sepete ekle' veya 'Ücretsiz denemeyi başlat' gibi.
İnsanların bir web sitesi ya da uygulama içinde dolaşmasını ve nerede olduklarını anlamasını sağlayan menüler, bağlantılar, sekmeler ve diğer öğeler.
Tasarımcıların tamamlanan tasarımları, teknik detayları ve görsel dosyaları geliştirilmeleri için geliştiricilere aktardığı aşama; ideal olarak bir tanıtım toplantısı ve net notlarla yapılır.
Bir kullanıcı ya da potansiyel kullanıcıyla hedeflerini, alışkanlıklarını, sorunlarını ve görüşlerini öğrenmek için yapılan, genellikle 30-60 dakika süren birebir görüşme.
İnsanların neden o şekilde düşündüğünü ve davrandığını anlamak için az sayıda kişiden sözler, gözlemler ve hikayeler toplayan araştırma türü.
Kullanıcı davranışını ölçmek ve örüntüleri yakalamak için çok sayıda kullanıcıdan anket puanları, tıklama oranları ya da görev süreleri gibi sayısal veriler toplayan araştırma türü.
Katılımcıların kartlara yazılmış konuları kendilerine mantıklı gelen kategorilere ayırdığı; kullanıcıların içeriğin nasıl düzenlenmesini beklediğini ortaya koyan araştırma yöntemi.
Gerçek renk, görsel ya da ayrıntılı içerik barındırmayan; kaba ve basit olduğu için hızlıca hazırlanıp değiştirilebilen erken aşama tasarım, wireframe ya da prototipleri niteler.
Gerçek içerik, renkler, görseller ve etkileşimlerle hazırlanmış; neredeyse nihai ürün gibi görünen ve davranan tasarım ya da prototipleri niteler.
Ekranların birbirine bağlandığı; butonlara ve bağlantılara tıklandığında ya da dokunulduğunda, gerçek bir üründe olduğu gibi bir sonraki ekrana geçilen prototip.
Bir sistemin kullanıcının eylemine verdiği yanıt; renk değiştiren bir buton, yükleme göstergesi ya da başarı mesajı gibi işaretlerle insanların ne olduğunu anlamasını sağlar.
Tasarımcıların üzerinde çalıştıkları işi gösterdiği, meslektaşlarının da tasarımın hedeflerine ulaşıp ulaşmadığı konusunda yapılandırılmış ve dürüst geri bildirim verdiği toplantı.
Bir nesnenin ya da arayüz öğesinin nasıl kullanılabileceğini düşündüren özelliği; örneğin basılabilir görünen kabarık bir buton ya da çekilmeye davet eden bir kulp.
Kapalı duran, kullanıcı tıkladığında ya da dokunduğunda seçenek listesini açan ve yer kaplamadan bir seçenek seçmeyi sağlayan menü.
Bir markanın ya da ürünün renkler, tipografi, logo kullanımı, ikon tarzı ve iletişim dili gibi görsel ve yazım kurallarını belirleyen doküman.
Bir metin ya da ikon ile arka planı arasındaki parlaklık farkı; özellikle az gören kişiler için öğenin ne kadar kolay görüleceğini belirler.
Web Content Accessibility Guidelines (Web İçeriği Erişilebilirlik Yönergeleri) ifadesinin kısaltması; W3C tarafından yayımlanan ve web siteleri ile uygulamaların nasıl erişilebilir hale getirileceğini anlatan uluslararası standart.
Bir sayfadaki öğelerin arasında ve çevresinde bırakılan boş alan; içeriğe nefes aldırır, ilişkili öğeleri gruplar ve tasarımı daha kolay okunur hale getirir.
Tasarımcıların bir sayfa ya da ekranda öğeleri tutarlı biçimde yerleştirmek ve hizalamak için kullandığı görünmez sütunlar, satırlar ve aralıklardan oluşan yapı.
Bir ürün ya da marka için belirlenmiş sabit renk grubu; genellikle birincil, ikincil ve nötr renklerin yanında hata için kırmızı, başarı için yeşil gibi durum renklerini içerir.
Bir eylemi, nesneyi ya da fikri temsil eden küçük resim veya sembol; arama için büyüteç, silme için çöp kutusu gibi.
Bir kişinin geçmiş deneyimlerine dayanarak bir şeyin nasıl çalıştığına dair kafasında kurduğu fikir; bir üründen ne beklediğini belirler.
Bir kişinin bir şeyi anlamak ve kullanmak için harcaması gereken zihinsel çaba; fazla olduğunda insanlar yavaşlar, kafası karışır ya da vazgeçer.
Bir deneyimde kullanıcıyı yavaşlatan ya da bir görevi zorlaştıran her şey; fazladan adımlar, uzun formlar, belirsiz etiketler veya yavaş yükleme gibi.
Henüz içerik olmadığında bir ekranın gösterdiği görünüm; boş bir gelen kutusu, sonuç bulunamayan bir arama ya da hiç projesi olmayan yeni bir hesap gibi.
Kullanıcı bir öğenin üzerine geldiğinde, ona odaklandığında ya da dokunduğunda beliren; kısa bir açıklama veya bir ikonun adını gösteren küçük metin kutusu.
Kullanıcıların bir seçeneği işaretlemek ya da işareti kaldırmak için tıkladığı veya dokunduğu küçük kare; bir gruptaki birden fazla onay kutusu aynı anda seçilebilir.
Bir ayarı tek dokunuşla açıp kapatan ve genellikle hemen etkili olan anahtar; karanlık modu ya da bildirimleri açmak gibi.
Genellikle sayfanın üst kısmında yer alan ve mevcut sayfanın site yapısındaki yerini gösteren bağlantı dizisi; Ana Sayfa > Ayakkabı > Koşu gibi.
Üç yatay çizgiden oluşan ve gizli bir navigasyon menüsünü açan ikon; yer kazanmak için özellikle mobil ekranlarda kullanılır.
Renk, font boyutu ya da boşluk miktarı gibi bir tasarım kararını saklayan isimlendirilmiş değer; tasarımcıların ve geliştiricilerin her yerde aynı değeri kullanmasını sağlar.
Tasarımcıların ekranları hızla oluşturmak için dosyalarına sürükleyip bıraktığı buton, form, ikon ve navigasyon çubuğu gibi hazır arayüz öğeleri koleksiyonu.
Öğelerin arasındaki ve içindeki boşluk miktarı; kartlar arasındaki mesafe ya da bir butonun iç boşluğu gibi. Görsel ritim ve gruplama oluşturmak için belirlenir.
Boyut, boşluk ve renk açısından tasarıma piksel piksel birebir uyan; özellikle geliştirilmiş ürün orijinal tasarım dosyasıyla karşılaştırılırken kullanılır.
Kendi geri bildirimi olan küçük ve tek amaçlı etkileşim anı; bir gönderiyi beğenmek, bir toggle'ı açmak ya da yanlış şifreden sonra alanın titremesi gibi.
Fare imleci bir öğenin üzerindeyken öğenin aldığı görünüm; örneğin butonun koyulaşması. Öğenin tıklanabilir olduğunu gösterir.
Dokunmatik ekranda cihaza bir şey yaptırmak için parmaklarla yapılan hareket; dokunma, kaydırma, iki parmakla yakınlaştırma ya da basılı tutma gibi.
Bir arayüzdeki buton etiketleri, ipuçları, hata mesajları ve onay mesajları gibi, kullanıcıları bir görev boyunca yönlendiren kısa metinler.
Tek bir öğeye ait ürün görseli, başlık ve fiyat gibi ilişkili içerikleri bir arada tutan ve çoğu zaman daha fazla ayrıntıya bağlanan dikdörtgen kutu.
Bir kişi sayfada klavyeyle gezinirken o anda hangi öğenin seçili olduğunu gösteren, genellikle dış çizgi ya da halka biçimindeki görünür stil.
Yetenek, yaş, dil, kültür ve içinde bulunulan koşullar dahil insan çeşitliliğinin tamamını gözeterek tasarım yapan ve ürünü daha fazla kişinin kullanabilmesini sağlayan yaklaşım.
Herhangi bir görsel tasarım göstermeden, yalnızca metin halindeki menü ağacını sunarak insanların sitenin yapısı içinde aradıklarını bulup bulamadığını ölçen araştırma yöntemi.
Bir hedefe ulaşmak için gereken sürenin hedefin uzaklığına ve büyüklüğüne bağlı olduğunu söyleyen ilke: daha büyük ve daha yakın hedeflere daha hızlı ve kolay ulaşılır.
Makine Öğrenmesi ve Veri İşleme
Dili anlamak, görüntüleri tanımak ya da karar vermek gibi normalde insan zekası gerektiren görevleri yerine getirebilen sistemler geliştiren bilgisayar bilimi alanı.
Bilgisayarların elle yazılmış kurallara uymak yerine veriden örüntüler öğrenip bunları tahmin yapmak ya da karar vermek için kullandığı yapay zeka dalı.
Eğitim sürecinin sonunda ortaya çıkan, öğrenilmiş parametrelere sahip program; görüntü ya da cümle gibi bir girdi alır, etiket, sayı veya metin gibi bir çıktı üretir.
Bir modeli eğitmek, test etmek ya da analiz etmek için toplanıp düzenlenmiş örnekler bütünü; görüntülerden, metinlerden veya tablo satırlarından oluşabilir.
Modelin eğitim sırasında öğrendiği örnekler. Bu verinin kalitesi, miktarı ve çeşitliliği, modelin yeni veriler üzerinde ne kadar iyi çalışacağını büyük ölçüde belirler.
Bir eğitim örneğine eklenen doğru cevap; örneğin bir e-posta için 'spam', bir fotoğraf için 'kedi'. Denetimli öğrenen model bu cevabı tahmin etmeyi öğrenir.
Bir modele çok sayıda örnek gösterip parametrelerini tekrar tekrar güncelleyerek çıktılarının doğru cevaplara yaklaşmasını sağlamak.
Modelin doğru cevaplarıyla (etiketleriyle) birlikte verilen örneklerden öğrendiği ve böylece yeni örneklerin cevabını tahmin edebildiği makine öğrenmesi türü.
Beyinden gevşek biçimde esinlenmiş, katmanlar halinde dizilmiş çok sayıda bağlantılı birimden oluşan model. Her bağlantının eğitim sırasında güncellenen bir ağırlığı vardır.
Çok katmanlı sinir ağlarını kullanan makine öğrenmesi alanı. Günümüzdeki konuşma tanıma, görüntü tanıma ve büyük dil modelleri bu yönteme dayanır.
Modelin tahminlerinin doğru cevaplardan ne kadar uzak olduğunu ölçen formül. Eğitimin amacı, kayıp (loss) denen bu değeri olabildiğince küçültmektir.
Modelin eğitim verisini gürültüsü ve tesadüfi ayrıntılarıyla birlikte fazla yakından öğrenmesi; bu yüzden eğitim verisinde iyi, yeni veride ise kötü sonuç vermesi.
Ayrı tutulan ve yalnızca en sonda, tamamlanmış modelin daha önce hiç görmediği örneklerde ne kadar iyi çalıştığını ölçmek için kullanılan veri bölümü.
Modelin yaptığı tüm tahminler içinde doğru olanların oranı. Doğruluğu %90 olan bir model her on örnekten dokuzunda doğru tahmin yapar.
Eğitilmiş bir modelin yeni girdiler için çıktı ürettiği aşama; örneğin bir kullanıcının sorusunu cevaplamak ya da yeni bir fotoğrafı sınıflandırmak.
Large language model (büyük dil modeli) ifadesinin kısaltması: devasa miktarda metin üzerinde bir sonraki token'ı tahmin etmek üzere eğitilmiş, bu sayede soru cevaplayabilen, metin yazabilen, özetleyebilen ve kod üretebilen çok büyük sinir ağı.
Üretken bir modele ne yapması gerektiğini anlatmak için verilen metin veya başka bir girdi; bir soru, bir talimat ya da ardından görev gelen birkaç örnek olabilir.
Önceden eğitilmiş bir modelin, belirli bir görevde daha başarılı olması ya da belirli bir üslubu izlemesi için daha küçük ve göreve özel bir veri kümesiyle ek olarak eğitilmesi.
Bir modelin çıktılarındaki sistematik adaletsizlik; örneğin bazı insan gruplarında daha kötü çalışması. Genellikle dengesiz veriden ya da tasarım tercihlerinden kaynaklanır.
Modelin her girdiyi önceden belirlenmiş kategorilerden birine yerleştirdiği görev; örneğin bir e-postanın spam olup olmadığına ya da bir fotoğrafın hangi ürün kategorisine ait olduğuna karar vermek.
İnsan diliyle ilgilenen; metni ve konuşmayı okuyan, anlayan, çeviren, özetleyen ya da üreten sistemler geliştiren yapay zeka alanı.
Bilgisayarlara görüntüleri ve videoları anlamayı öğreten yapay zeka alanı; nesneleri tanımak, fotoğraflardaki yazıları okumak ya da hareketi takip etmek gibi.
Doğru cevaplar (etiketler) olmadan verideki yapıyı bulan makine öğrenmesi türü; örneğin benzer müşterileri gruplamak ya da olağan dışı olayları fark etmek.
Eğitime katılmayan ve geliştirme sürecinde modelleri karşılaştırmak, ayarları belirlemek ve eğitimin ne zaman durdurulacağına karar vermek için kullanılan veri bölümü.
Eğitim sürecinin tüm eğitim veri kümesinin üzerinden bir kez baştan sona geçmesi. Modeller genellikle birkaç epoch boyunca eğitilir.
Modelin parametrelerini her güncellediğinde ne büyüklükte adım atacağını belirleyen hiperparametre. Çok yüksek olursa eğitim kararsızlaşır, çok düşük olursa çok yavaş ilerler.
Veriden öğrenilmek yerine eğitimden önce mühendisler tarafından seçilen ayar; örneğin öğrenme oranı, batch boyutu ya da katman sayısı.
Modelin parametrelerini bir kez güncellemeden önce birlikte işlediği eğitim örneklerinin sayısı.
Eğitimin temelindeki optimizasyon yöntemi: her parametreyi, kaybı en çok azaltan yönde tekrar tekrar küçük adımlarla değiştirir.
Modelin çok basit olması ya da yeterince eğitilmemesi nedeniyle verideki örüntüleri yakalayamaması; bu yüzden eğitim verisinde bile kötü sonuç vermesi.
Modelin pozitif olarak işaretlediği tüm örnekler içinde gerçekten pozitif olanların oranı. Yüksek precision, az sayıda yanlış alarm demektir.
Gerçekten pozitif olan tüm örnekler içinde modelin yakalayabildiklerinin oranı. Yüksek recall, gözden kaçan vakanın az olduğu anlamına gelir.
Precision ve recall değerlerinin harmonik ortalamasını alarak ikisini tek bir sayıda birleştiren ölçü. Ancak ikisi de yüksek olduğunda yüksek çıkar.
Farklı ekiplerin sonuçlarını adil biçimde karşılaştırabilmek için modelleri aynı şekilde ölçmeye yarayan standart görev ve veri kümesi.
2017'de ortaya konan ve bir dizinin tüm parçalarını dikkat (attention) mekanizmasıyla paralel olarak işleyen sinir ağı mimarisi. Günümüzdeki LLM'lerin temelidir.
Bir sinir ağının basamaklarından biri: önceki basamağın çıktısını alan, dönüştüren ve sonucu bir sonrakine aktaran birimler grubu.
Üretken bir modelin kendinden emin biçimde verdiği ama yanlış ya da uydurma olan çıktı; örneğin hayali bir bilgi, alıntı, kaynak ya da kod parçası.
Bir dil modelinin aynı anda dikkate alabileceği en fazla metin miktarı; token cinsinden ölçülür ve istemi, eklenen belgeleri ve modelin kendi cevabını kapsar.
Yalnızca girdileri sınıflandırmak ya da değer tahmin etmekle kalmayıp metin, görüntü, ses, video veya kod gibi yeni içerikler üreten yapay zeka sistemleri.
Bir kelimeyi, cümleyi, görüntüyü ya da başka bir öğeyi, anlamca benzer öğeler birbirine yakın düşecek şekilde temsil eden sayı listesi (vektör).
Sohbet başlamadan önce bir sohbet modeline verilen ve sonraki tüm mesajlar için modelin rolünü, kurallarını, üslubunu ve sınırlarını belirleyen talimatlar.
Retrieval-augmented generation ifadesinin kısaltması: sistemin önce bir belge koleksiyonunda ilgili bölümleri arayıp bulduğu, ardından bunları bir LLM'e vererek cevabı yazdırdığı yöntem.
Ham veriye etiket ya da not ekleme işi; örneğin görüntülerdeki nesnelerin etrafına kutu çizmek ya da her cümlenin konusunu işaretlemek. Böylece veri eğitimde veya değerlendirmede kullanılabilir hale gelir.
Ham veriyi model kullanmadan önce temizleyen ve hazırlayan adımlar; örneğin tekrar eden kayıtları silmek, eksik değerleri doldurmak, görüntüleri yeniden boyutlandırmak ya da metni normalleştirmek.
Bir ajanın bir ortamda eylemler gerçekleştirip sonuçlarına göre ödül ya da ceza alarak deneme yanılma yoluyla öğrendiği makine öğrenmesi türü.
Önceden tanımlanmış etiketler olmadan benzer öğeleri bir araya getiren denetimsiz öğrenme görevi; örneğin müşterileri alışveriş davranışlarına göre segmentlere ayırmak.
Bir sinir ağındaki bağlantıların öğrenilmiş sayısal değerleri; her girdinin bir sonraki katmanı ne kadar güçlü etkileyeceğini belirler. Hepsi birlikte modelin öğrendiklerini taşır.
Bir sinir ağındaki her birimin çıktısına uygulanan basit matematiksel fonksiyon. Ağa doğrusal olmayan bir davranış kazandırarak karmaşık örüntüleri öğrenebilmesini sağlar.
Hatayı çıktı katmanından girdiye doğru geriye aktararak, bir sinir ağındaki her ağırlığın hataya ne kadar katkıda bulunduğunu hesaplayan yöntem.
Bir modelin, girdisinin her parçası için diğer parçalardan hangilerinin daha ilgili olduğuna karar vermesini ve çıktıyı oluştururken onlara daha fazla ağırlık vermesini sağlayan mekanizma.
Modelin çıktılarının karşılaştırıldığı, doğruluğu teyit edilmiş cevaplar; genellikle titiz insan etiketlemesiyle ya da gerçek ölçümlerle oluşturulur.
Mevcut örneklerde küçük değişiklikler yaparak, örneğin görüntüleri çevirip kırparak ya da cümleleri farklı biçimde yeniden yazarak ek eğitim örnekleri üretmek; böylece model daha fazla çeşitlilik görür.
Her gerçek sınıf için modelin örneklerden kaçını hangi sınıfa atadığını gösteren tablo; modelin hangi sınıfları birbirine karıştırdığını bir bakışta görmeyi sağlar.
Veriyi birkaç parçaya bölen, her seferinde biri hariç tümüyle eğitip kalan parçayla test eden ve bu işlemi her parça bir kez test için kullanılana kadar tekrarlayan değerlendirme yöntemi.
Eğitim sırasında modelin gereğinden fazla karmaşıklaşmasını engelleyerek aşırı öğrenmeyi azaltan ve modelin yeni verilerde daha iyi çalışmasına yardımcı olan her türlü teknik.
Modelin belirli görevlere uyarlanmadan önce, büyük kısmı etiketsiz olan devasa miktarda veriden genel örüntüleri öğrendiği ilk ve en büyük eğitim aşaması.
Üretken bir modelin çıktısının ne kadar rastgele olacağını belirleyen ayar. Düşük değerler daha öngörülebilir ve odaklı, yüksek değerler ise daha çeşitli ve yaratıcı cevaplar verir.
Bir modelin belirli bir görevde doğru, işe yarar ve tutarlı çıktılar vermesi için istemleri tasarlama, test etme ve iyileştirme pratiği.
Bir modele, ek bir eğitim yapmadan yeni bir girdide aynı kalıbı izleyebilmesi için istemin içinde görevin birkaç çözülmüş örneğini vermek.
Bir modelin bir görevde ya da veri kümesinde öğrendiklerini, sıfırdan yeni bir model eğitmek yerine farklı ama ilişkili bir görev için başlangıç noktası olarak kullanmak.
Yalnızca ön eğitimden geçmiş, henüz ince ayar ya da talimat eğitimi yapılmamış model. Metni iyi sürdürür ama talimatlara güvenilir biçimde uymaz ve sohbete hazır değildir.
Convolutional neural network (evrişimli sinir ağı) ifadesinin kısaltması: bir görüntünün üzerinde öğrenilmiş küçük filtreleri kaydırarak kenar, doku ve şekil gibi örüntüleri yakalayan sinir ağı.
Bir görüntüdeki ya da videodaki nesneleri bulan ve hem sınıflarını ('araba', 'insan' gibi) hem de konumlarını, genellikle bir kutu ile, veren bilgisayarlı görü görevi.
Metni token'lara bölen ve bunları modelin okuyabileceği sayılara dönüştüren, modelin çıktısındaki sayıları da tekrar metne çeviren bileşen.
Bir metindeki görüşü ya da duyguyu tespit eden NLP görevi; örneğin bir ürün yorumunun olumlu, olumsuz ya da nötr olup olmadığını belirlemek.
Bir modelin farklı insan gruplarına hakkaniyetli davranması hedefi; örneğin cinsiyetler, yaş grupları ya da bölgeler arasında benzer hata oranları veya onay oranları sağlaması.
Eğitim sırasında, kaybın anlamlı biçimde düşmeyi bıraktığı ve daha fazla eğitimin pek fayda getirmediği kararlı bir duruma ulaşmak.
Bir veri kümesinde bazı sınıfların diğerlerinden çok daha fazla örneğe sahip olması; örneğin her 10 dolandırıcılık işlemine karşılık 990 normal işlem bulunması.
Tahmin anında elde olmayacak bir bilginin, örneğin test örneklerinin ya da gelecekteki verilerin, eğitime karışması ve sonuçları olduğundan daha iyi göstermesi hatası.
Belirli bir anda bilinen en iyi sonucu ya da yöntemi niteler; bu genellikle bilinen bir benchmark üzerinde ölçülür.
Metin, görüntü, ses ve video gibi birden fazla veri türüyle çalışabilen; örneğin bir fotoğraf hakkındaki soruları cevaplayabilen bir model gibi.
Bir LLM etrafında kurulan ve bir görevi az insan desteğiyle tamamlamak için adımlarını planlayıp arama, kod çalıştırma ya da şirket yazılımları gibi araçları kullanabilen sistem.
Bir modelin nihai cevabını vermeden önce adım adım yazdığı akıl yürütme; matematik, mantık ve çok adımlı problemlerde sonuçları çoğu zaman iyileştirir.
Embedding'leri saklamak ve bir sorguya en çok benzeyenleri hızla bulmak için tasarlanmış veritabanı; bu yüzden anlamsal arama ve RAG sistemlerinin yaygın bir parçasıdır.
Low-rank adaptation (düşük ranklı uyarlama) ifadesinin kısaltması: modelin orijinal ağırlıklarını dondurup yalnızca eklenen küçük matrisleri eğiten, böylece bellek ve depolamadan büyük tasarruf sağlayan ince ayar yöntemi.
Reinforcement learning from human feedback (insan geri bildirimiyle pekiştirmeli öğrenme) ifadesinin kısaltması: insanların model cevaplarını sıraladığı, bir ödül modelinin bu tercihleri öğrendiği ve ardından LLM'in daha yüksek puan alacak şekilde eğitildiği aşama.
Daha küçük bir 'öğrenci' modeli, daha büyük bir 'öğretmen' modelin çıktılarını taklit edecek şekilde eğitmek; böylece öğrenci model kalitenin büyük kısmını korurken daha hızlı ve daha ucuz çalışır.
Bir görüntüdeki her pikseli bir sınıf ya da nesneyle etiketleyen ve kaba kutular yerine nesnelerin tam şekillerini veren bilgisayarlı görü görevi.
Bir görüntüdeki nesnenin etrafına çizilen ve koordinatlarla saklanan dikdörtgen; nesnenin nerede olduğunu gösterir. Nesne tespitinin standart çıktısıdır.
Gürültüyü adım adım temizlemeyi öğrenen üretken model; tamamen gürültüden başlayıp onu kademeli olarak iyileştirerek yeni görüntü, ses ya da video üretebilir.
Bir metindeki kişi, kurum ve yer adlarını, ayrıca tarih, tutar ve benzeri öğeleri bulup her birini türüyle etiketleyen NLP görevi.
Dil modellerini eğitmek ya da bir dilin nasıl kullanıldığını incelemek için kullanılan, büyük ve düzenli metin ya da konuşma kaydı koleksiyonu.
İnsanların bir modelin belirli bir tahmini ya da kararı neden verdiğini ne ölçüde anlayabildiği; bu çoğu zaman hangi girdilerin en çok etkili olduğunu gösteren araçlarla desteklenir.
Zararlı, konu dışı ya da güvensiz girdileri ve çıktıları engellemek için bir modelin etrafına konan kural veya kontrol; örneğin cevaplardaki kişisel verileri engelleyen bir filtre.
Bir modeli ya da yapay zeka sistemini, gerçek kullanıcılar veya saldırganlardan önce zayıf noktalarını bulmak için kasıtlı olarak başarısız olmaya ya da zararlı davranmaya zorlayarak test etmek.
Bir yapay zeka sisteminin davranışını insanların niyetleri ve değerleriyle uyumlu hale getirmek; böylece sistemin yardımcı ve dürüst olması ve zarar vermekten kaçınması. Bu konuyu inceleyen araştırma alanının adı da aynıdır.
Makine öğrenmesini canlı ortamda güvenilir biçimde çalıştırmaya yönelik uygulamalar ve araçlar: veri ve modellerin sürümlenmesi, eğitimin ve canlıya almanın otomatikleştirilmesi ve modellerin zaman içinde izlenmesi.
Canlıdaki bir modele gelen verinin, zamanla modelin eğitildiği veriden farklılaşması; bu durum tahminlerin yavaş yavaş kötüleşmesine yol açabilir.
Bir modelin ağırlıklarını, bazen de aktivasyonlarını daha az bitle saklamak; örneğin 16 bit yerine 8 ya da 4 bitlik sayılar kullanmak. Amaç modeli küçültmek ve hızlandırmaktır.
Verideki hatalı biçimler, yazım hataları, mükerrer kayıtlar ve eksik değerler gibi sorunları bulup düzelterek veriyi analizde güvenle kullanılabilir hale getirme süreci.
Bir veri setinde hiçbir değerin kaydedilmediği boş hücreler ya da alanlar; genellikle NULL, NaN veya boşluk olarak görünür ve analizden önce ele alınması gerekir.
Bir veri setindeki değerlerin çoğundan çok uzakta kalan değer; örneğin çoğu 40 dolar civarında olan siparişler arasında 50.000 dolarlık tek bir sipariş.
Bir analizin ilk aşaması; veri seti özetlenir ve grafiklerle incelenir, böylece yapısı anlaşılır, örüntüler ve sorunlar fark edilir, test edilecek sorular belirlenir.
Verileri grafik, diyagram ve haritalarla göstererek insanların örüntüleri, karşılaştırmaları ve değişimleri bir tabloya kıyasla daha hızlı görmesini sağlama uygulaması.
Key performance indicator (temel performans göstergesi) ifadesinin kısaltması; bir şirketin ya da ekibin ana hedeflerine ne kadar yaklaştığını ölçmek için seçtiği az sayıdaki metrikten biri.
Kullanıcıların rastgele iki gruba ayrıldığı ve her grubun bir şeyin farklı bir versiyonunu gördüğü, böylece hangi versiyonun daha iyi sonuç verdiğinin ölçüldüğü deney.
Bir sonucun yalnızca rastlantıyla açıklanmasının pek olası olmadığını gösteren durum; genellikle p değerinin önceden seçilmiş bir eşiğin, örneğin 0,05'in altında kalıp kalmadığına bakılarak değerlendirilir.
Veriyi kaynaklarından alan, dönüştüren ve veri ambarı, dashboard ya da model gibi bir hedefe ulaştıran otomatik adımlar dizisi.
Extract, transform, load (çıkar, dönüştür, yükle) ifadesinin kısaltması; verinin kaynak sistemlerden alınması, temizlenip yeniden düzenlenmesi ve bir veri ambarına yüklenmesi süreci.
Bir gruptaki tüm sayıların toplanıp toplamın sayı adedine bölünmesiyle elde edilen değer; 'ortalama' denince genellikle kastedilen budur.
Bir gruptaki tüm sayılar küçükten büyüğe sıralandığında ortada kalan değer; değerlerin yarısı bunun altında, yarısı üstündedir.
Bir değişkenin değerlerinin nasıl yayıldığı; hangi değerlerin sık, hangilerinin nadir görüldüğünü ve birbirlerinden ne kadar uzak olduklarını gösterir, çoğunlukla histogramla incelenir.
İki değişkenin birlikte değişme eğiliminde olduğu ilişki; çoğunlukla -1 ile 1 arasında bir katsayıyla ölçülür ve 0 doğrusal bir ilişki olmadığı anlamına gelir.
Toplandığı ya da dışa aktarıldığı ilk haliyle duran, henüz temizlenmemiş, birleştirilmemiş veya özetlenmemiş veri.
Verinin geldiği herhangi bir yer; örneğin bir veritabanı, uygulama, elektronik tablo, anket, harici bir API ya da bir iş ortağının gönderdiği dosya.
Bir veri setinde birden fazla kez yer alan kayıt; örneğin aynı müşterinin ya da siparişin iki kez saklanması. Sayıları ve toplamları olduğundan yüksek gösterebilir.
Verinin ne kadar doğru, eksiksiz, tutarlı ve güncel olduğu; dolayısıyla karar verirken ona ne ölçüde güvenilebileceği.
Değerlerin ortalama etrafında ne kadar yayıldığını gösteren ölçü; küçük bir değer çoğu değerin ortalamaya yakın olduğunu, büyük bir değer ise değerlerin çok değişkenlik gösterdiğini anlatır.
Bütün hakkında sonuç çıkarmak amacıyla daha büyük bir evrenden ya da veri setinden seçilerek incelenen daha küçük grup.
Kısa vadeli iniş çıkışlar göz ardı edildiğinde bir değerin belirli bir süre boyunca izlediği genel yön; örneğin satışlardaki istikrarlı artış.
Aynı şeyin düzenli zaman aralıklarında sırayla kaydedilen ölçümlerinden oluşan veri; örneğin günlük gelir ya da saatlik web sitesi ziyaretleri.
Ülke, cihaz ya da satın alma davranışı gibi ortak özellikleri paylaşan müşteri veya kullanıcı grubu; fiil olarak veriyi bu tür gruplara ayırmak.
Bir deney ya da analiz başlamadan önce yazılan, neyin neden olmasının beklendiğine dair belirli ve test edilebilir ifade.
Bir deneyde test edilen değişikliği almayan grup; sonuçları, o değişiklik olmasaydı ne olacağını gösterir.
Gerçekte hiçbir etki olmasaydı, yani sıfır hipotezi doğru olsaydı, gözlenen sonuç kadar ya da ondan daha uç bir sonucun ortaya çıkma olasılığı.
Bir örnekleme ya da deneye dahil edilen gözlem, kişi veya birim sayısı; daha büyük örneklemler genellikle daha güvenilir tahminler verir.
Satın alma ya da kayıt olma gibi istenen bir eylemi tamamlayan kullanıcıların, bu eylemi yapma fırsatı bulan tüm kullanıcılara oranı.
Belirli bir dönemde bir ürünü kullanmayı bırakan ya da aboneliğini iptal eden müşterilerin veya kullanıcıların kaybı; bu kaybın gerçekleşme oranı için de kullanılır.
Bölgelere göre satışlar ya da ülkelere göre kullanıcılar gibi kategoriler arasındaki değerleri, farklı uzunluklardaki dikdörtgen çubuklarla karşılaştıran grafik.
Her gözlem için bir nokta çizerek ve her eksene bir değişken yerleştirerek iki sayısal değişken arasındaki ilişkiyi gösteren grafik.
Çok sayıda veri satırını toplam, sayım ya da ortalama gibi özet değerlere dönüştürmek; genellikle gün, ürün veya bölge gibi bir kategoriye göre gruplayarak.
Düzenli bir rapor ya da planlı bir proje yerine, yeni ortaya çıkan belirli bir soruyu yanıtlamak için hızlıca yapılan tek seferlik analiz.
Eksik değerleri tahmini değerlerle doldurmak; örneğin sütunun medyanıyla, en sık görülen kategoriyle ya da diğer sütunlardan tahmin edilen bir değerle.
Dağınık ham veriyi analiz için temiz ve iyi yapılandırılmış bir biçime dönüştürme işi; yeniden şekillendirme, birleştirme, filtreleme ve biçim düzeltme gibi adımları kapsar.
Simetrik olmayan, bir tarafında uzun bir değer kuyruğu bulunan dağılımı anlatır; örneğin birkaç kişinin çoğunluktan çok daha fazla kazandığı gelir verisi.
Bir veri setini bir bakışta tanımlayan birkaç sayı; örneğin her sütunun gözlem sayısı, ortalaması, medyanı, en küçük ve en büyük değeri ile standart sapması.
Bir sonuca güvenmeden önce makul olup olmadığını anlamak için yapılan hızlı ve basit kontrol; örneğin bir toplamın zaten bilinen bir rakamla eşleşip eşleşmediğine bakmak.
Gözlemlerin belirli bir yüzdesinin altında kaldığı değer; örneğin yüklenme süresinin 90. yüzdeliği, sayfa yüklemelerinin %90'ının içinde tamamlandığı süredir.
Bir şeydeki değişikliğin, ikisinin yalnızca birlikte hareket etmesinin ötesinde, doğrudan başka bir şeyde değişikliğe yol açtığı ilişki.
Örneklem verisinden hesaplanan ve gerçek değeri içermesi muhtemel olan değer aralığı; %95'lik bir aralık, gerçek değeri vakaların %95'inde yakalayan bir yöntemle elde edilir.
Bir deneyde kullanıcılara gösterilen versiyonlardan biri; genellikle kontrol grubuyla karşılaştırılan yeni versiyon.
İstatistiksel bir testte hiçbir etki ya da fark olmadığını öne süren varsayılan kabul; örneğin yeni bir tasarımın dönüşüm oranını değiştirmediği varsayımı.
Aynı dönemde ortak bir başlangıç noktasını ya da deneyimi paylaşan ve zaman içinde izlenen kullanıcı grubu; örneğin ocak ayında kayıt olan herkes.
Kullanıcıların bir hedefe ulaşmak için geçtiği adımlar dizisi; örneğin ziyaret, kayıt ve satın alma. Her adımda daha az kişi kaldığı için huniye benzer.
Tek bir sayısal değişkenin dağılımını, değer aralığını 'bin' denen dilimlere bölerek ve her dilime düşen değer sayısı kadar bir çubuk çizerek gösteren grafik.
Veri noktalarını bir çizgiyle birleştirerek bir değerin zaman içinde nasıl değiştiğini gösteren grafik; örneğin aylık gelir ya da günlük kayıt sayısı.
Bir örüntünün nedenini bulmak için özet görünümden daha ayrıntılı veriye inmek; örneğin yıllık satışlardan aylık satışlara, oradan da tek tek mağazalara geçmek.
Verinin yalnızca belirli koşulları sağlayan satırlarını, örneğin 2024'teki siparişleri ya da Türkiye'deki kullanıcıları tutup geri kalanını dışarıda bırakmak.
Yapılandırılmış olsun ya da olmasın, büyük miktarda ham veriyi biri işleyip analiz edene kadar özgün biçimiyle tutan geniş depolama sistemi.
Veriyi her kayıt geldiği anda işlemek yerine, belirli zamanlarda, örneğin her gece bir kez, büyük gruplar halinde işlemek.
Yeni sonuçların karşılaştırıldığı basit bir referans noktası; örneğin geçen yılın rakamı, mevcut versiyon ya da çok temel bir model.
Bir modelin daha iyi öğrenmesine yardımcı olmak için ham veriden yeni girdi değişkenleri oluşturma işi; örneğin doğum tarihini yaşa çevirmek ya da bir müşterinin alışverişlerini saymak.
Bir modelin tahmin etmek üzere eğitildiği değer; örneğin bir müşterinin ayrılıp ayrılmayacağı ya da ne kadar harcayacağı. 'Label' (etiket) ya da bağımlı değişken olarak da adlandırılır.
Sayısal değerleri 0 ile 1 arası gibi ortak bir aralığa getirmek ya da farklı büyüklükteki grupların adil biçimde karşılaştırılabilmesi için rakamları düzeltmek.
Bir veri setindeki her alanı; adını, anlamını, veri tipini, alabileceği değerleri, kaynağını ve sorumlusunu açıklayan belge ya da tablo.
Bir uygulamada ya da web sitesinde tıklama, sayfa görüntüleme veya satın alma gibi belirli kullanıcı eylemlerini; zaman, kullanıcı ve cihaz gibi ayrıntılarla birlikte olay (event) olarak kaydetmek.
Sayfaları indirip fiyatlar ya da ürün adları gibi ihtiyaç duyulan kısımları ayıklayan bir programla web sitelerinden otomatik olarak veri toplamak.
Beklenenden açıkça farklı olan veri noktası ya da örüntü; örneğin kayıt sayısında ani bir sıçrama ya da hiç sipariş gelmeyen bir gün.
Verilerde sabit bir süre içinde tekrarlanan düzenli örüntü; örneğin her aralıkta artan satışlar, hafta içi daha yüksek trafik ya da her yaz görülen düşüş.
Belirli büyüklükte bir etki gerçekten varsa, bir testin bu etkiyi yakalama olasılığı; testler genellikle %80 güce sahip olacak şekilde tasarlanır.
Değerleri bir ızgara üzerinde renklerle gösteren grafik; genellikle daha koyu ya da daha sıcak renkler daha yüksek değerleri ifade eder. Örneğin haftanın günlerine ve saatlerine göre siparişler.
Daha büyük bir veri setini, satır ve sütunları kategorilere göre gruplayarak ve her kombinasyon için toplam, sayım ya da ortalama hesaplayarak özetleyen tablo.
Verinin ayrıntı düzeyi; yani bir satırın neyi temsil ettiği. Örneğin her sipariş için bir satır, her müşteri için günde bir satır ya da her mağaza için ayda bir satır.
Verinin nereden geldiğini, hangi adımlardan ve sistemlerden geçtiğini ve yol boyunca nasıl değiştiğini, onu kullanan raporlara kadar gösteren kayıt.
Mini test: bu terimleri biliyor musun?
Bu sözlükten 10 soru. Her terimin doğru Türkçe karşılığını seç, puanını gör.
Yazılım İngilizcesi nasıl öğrenilir?
- Her gün alandan gerçek metinler okuyun: resmi dokümantasyon, README dosyaları, sürüm notları ve açık kaynak projelerdeki pull request ve issue tartışmaları.
- Terimleri birlikte kullanıldıkları kelimelerle öğrenin: sadece 'bug' değil, 'fix a bug', 'report a bug' ve 'steps to reproduce'.
- Kimse istemese bile İngilizce yazın. Commit mesajları, ticket açıklamaları ve kod yorumları kısa ve risksiz pratik fırsatlarıdır.
- Kısaltmaları ekiplerin söylediği gibi sesli tekrar edin: API ve SDK harf harf, JSON 'Jason' ismi gibi, REST ise tek kelime olarak okunur.
- Ekip arkadaşlarınızın incelemelerde ve günlük toplantılarda kullandığı 'Could you take a look?' ya da 'I'm blocked on…' gibi kibar kalıpları not edin ve siz de kullanın.
Sıkça sorulan sorular
Yazılım İngilizcesi kelimelerini nasıl öğrenebilirim?
Alandan gerçek metinler okuyun ve kelimelerin nasıl kullanıldığına dikkat edin: dokümantasyon, README dosyaları, sürüm notları, issue tartışmaları ve pull request yorumları. Her terimi sık birlikte kullanıldığı kelimelerle öğrenin (open a pull request, fix a bug) ve yeni kelimeleri hemen kendi commit'lerinizde, ticket'larınızda ve mesajlarınızda kullanın.
Önce hangi yazılım terimlerini öğrenmeliyim?
Günlük iş akışının kelimeleriyle başlayın: bug, fix, commit, branch, pull request, merge, code review, deploy, release, ticket, sprint ve stand-up. Ardından test ve hata ayıklama terimlerine, daha sonra da mimari ve API kelimelerine geçin. Bu sözlükteki terimler de aynı şekilde, en temelden daha ileri seviyeye doğru sıralanmıştır.
Yazılımda İngiliz ve Amerikan İngilizcesi arasında fark var mı?
Kodlarda, API'lerde ve dokümantasyonun büyük kısmında Amerikan yazımı kullanılır: color, initialize, behavior. İngiliz ekipler e-postalarda ve belgelerde 'colour' veya 'behaviour' yazabilir ama kodda Amerikan biçimini korur; örneğin CSS'teki color özelliği. Bazı kelimeler farklı okunur: agile (ABD'de 'EC-ıl', İngiltere'de 'EC-ayl') ve route (ABD'de çoğunlukla 'raut', İngiltere'de 'rut') gibi.
İş yerinde Türkçe terimi mi, İngilizcesini mi kullanmalıyım?
Türk ekiplerinde commit, merge, deploy ve pull request gibi birçok İngilizce kelime olduğu gibi, çoğu zaman Türkçe eklerle ('deploy etmek') kullanılır. 'Sürüm', 'dal' ve 'birim testi' gibi Türkçe karşılıklar ise resmi belgelerde, üniversite derslerinde ve akademik yayınlarda yaygındır. İkisini de bilmek, Türkçe bir toplantı ile İngilizce bir kod tabanı arasında rahatça geçiş yapmanızı sağlar.
Günlük toplantılarda ve kod incelemelerinde işimi İngilizce nasıl anlatırım?
Kısa ve kalıplaşmış ifadeler kullanın. Günlük toplantıda: 'Yesterday I fixed…, today I'm working on…, no blockers.' İncelemelerde: 'Could you take a look at my PR?', 'I've addressed your comments', küçük notlar için 'nit: …' ve onay için 'LGTM'. 'What do you think about…?' gibi kibar sorular doğrudan emirlerden daha iyi karşılanır.
İlgili alanlar
Seviyene uygun okumayla pekiştir
Yeni kelimelerin kalıcı olmasının en hızlı yolu seviyene uygun metin okumaktır. Seviyene göre ücretsiz İngilizce kitaplar:
