İçerikten bağımsız dil (Context Free Language, CFL)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir dilin tasarımı sırasında, içerik bağımsız bir gramer ile oluşturulması durumudur. Basitçe bir aşağı sürüklemeli otomat (push down automata) tarafından kabul edilen dil çeşididir. Bazı kaynaklarda bağlamdan bağımsız dil olarak da geçmektedir. Örneğin çok meşhur L= {anbn , n>0} dilini ele alalım. Bu dil örneğinin bu kadar meşhur […]

Devam

EBNF (Uzatılmış BNF, Extended Backus Normal Form)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde dil tasarımı konusunda kullanılan backus normal şeklinin (backus normal form) özel bir halidir. Basitçe standart BNF’te yazılan kuralların birleştirilerek daha sade yazılmasını hedefler. Bu durumu aşağıdaki örnek üzerinden görebiliriz: Örneğin BNF olarak yazılan dilimize göre: <EGER> ::= if( <KOSUL>) | if( <KOSUL>) else şeklinde bir satırımız bulunsun. Bu […]

Devam

Dolaylı sıralama (Indirect Sort, Gayrimüstakim sıralama)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıralama işleminin çok büyük veriler üzerinde yapılması durumunda tercih edilen bir sıralama yöntemidir. Basitçe sıralama işleminin doğrudan verilerin yerinin değiştirilemsi ile değil de daha çok bu verileri gösteren gösterici (pointer) veya nesne atıfları (object referrer) ile yapılmasıdır. Örneğin sistemimizdeki öğrencileri sıralamak isteyelim. Her öğrenci bilgisi de sistemde 1MB […]

Devam

Güvenlik Saldırıları (Security Attacks)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir sisteme yapılan saldırıdır. Genellikle saldırılan sistem bir mesajlaşma sistemi (mesajlaşan taraflar) veya bir yazılımdan oluşmaktadır. Güvenlik salıdırılarındaki amaç, bilgi sızdırmak veya sisteme zarar vermek olarak özetlenebilir. Saldırgan tarafın saldırı sırasında takındığı tavra göre de güvenlik saldırıları: Aktif saldırılar (Active Attacks) Pasif saldırılar (Passive Attacks) olarak sıralanabilir. İlk […]

Devam

Genetik Algoritmalar (Genetic Algorithms)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinin doğa bilimlerinden (biyoloji) öğrendiği ve kendi problemlerini çözmek için kullandığı bir yöntemdir. Bu algoritmada genetikte kullanılan temel 3 işlem kullanılır. Bu üç işlemin alt tipleri ayrıca açıklanacaktır ancak bu üç temel işlem: Çaprazlama (Crossover) Mutasyon (Mutation) Başarılı gen seçimi (Selection) Yukarıdaki ilk iki işlem aslında bir genin değişmesinde […]

Devam

Java Bean

Yazan : Şadi Evren ŞEKER İsmini bir kahve makinesinden alan JAVA’nın ilk başlardan beri sembolü olan kahveden türemiş bir kavram olan java bean’in sembolü de kahve çekirdekleridir (bean kelimesini çekirdek olarak çevirmek mümkündür) Basitçe java bean, tekrar kullanılabilir bir yazılım bileşenidir (reusable software component). Daha detaylı bakıldığında aslında her java bean bir yada birden çok […]

Devam

Kaba Kuvvet Algloritması (Brute Force Attack)

Yazan : Şadi Evren ŞEKER Veri güvenliği konusundaki en basit saldırı yöntemidir. Bir işin çok zeki olmayan ama güce dayalı çözümü misali her zaman en uzun çözüm yoludur ve her zaman bir çözme ümidi vardır 🙂 Basitçe bir şifreli metnin alabileceği bütün anahtar ihtimalleri veya bütün açık metin ihtimallerinin denenmesine dayanır. Örneğin en basit şifreleme […]

Devam

CASE Araçları (Case tools)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinini yazılım mühendisliği alanında kullanılan araçların genel ismidir. Computer Aided Software Engineering kelimelerinin baş harflerinden oluşan bu araçların amacı yazılım geliştirme süreçlerinin koltrol edilebilmesi , ölçeklenebilmesi ve kolay yönetilebilmesidir. CASE araçlarını aşağıdaki kriterlere göre birkaç bölümde incelemek mümkündür: Kod üreten yazılımlar (Source code generation tools) UML (Unified modelling langue) […]

Devam

En kötü durum analizi (Worst Case Analysis)

En kötü durum analizi (Worst Case Analysis) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir algoritmanın incelenmesi sırasında sıkça kullanılan bu terim çalışmakta olan algoritmanın en kötü ihtimalle ne kadar başarılı olacağını incelemeye yarar. Bilindiği üzere bilgisayar bilimlerinde yargılamalar kesin ve net olmak zorundadır. Tahmini ve belirsiz karar verilmesi istenmeyen bir durumdur. Bir algoritmanın ne […]

Devam

Sezgisel Algoritmalar (Buluşsal Algoritmalar, Heuristic Algorithms)

Sezgisel Algoritmalar (Buluşsal Algoritmalar, Heuristic Algorithms) Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sezgisel (heuristics) bir yaklaşımın problem çözümüne uygulandığı algoritmalardır. Uygulanan yöntemin doğruluğunun ispat edilmesi gerekmez, tek istenen karmaşık bir problemi daha basit hale getirmesi veya algoritamanın tatmin edici bir sonuç bulabilmesidir. Genel olarak bir problemin çözümü sırasında bilgisayar bilimlerinde iki amaçtan birisi güdülür. […]

Devam