Bilgisayar Kavramlarıwww.bilgisayarkavramlari.com |
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle veri tabanı (databases) konusunda geçen bu kavramlar, iki tablonun birleşmesi sırasında bir tabloda bulunmayan kayıtlar için nasıl bir yol izleneceğini anlatırlar. Bilindiği üzere iki tablonun birleşmesi (join) aslında iki tabloda bulunan kayıtlar için bir kartezyen çarpım (cartesian product) alınması işlemidir. Bir işlemin sadece Kartezyen çarpımının alınması ile [...]
Yazan : Şadi Evren ŞEKER 1. Otomatın İnşası 2. Algoritmanın arama aşaması 3. Algoritmanın çalışması 4. Algoritmanın kodlanması Bilgisayar bilimlerinde, bir metnin içerisinde farklı bir metnin veya bir kelimenin aranması sırasında kullanılan algoritmalardan birisidir. Algoritma, aranan kelime için bir otomat (automaton) oluşturur ve hedef metin içerisinde bu otomata göre arama işlemi yapar. Oluşturulana otomatın DFA [...]
Yazan: Şadi Evren ŞEKER 1. Algoritmanın başarısı 2. Algoritmanın çalışması ve bir örnek 3. Algoritmanın kodlanması Bilgisayar bilimlerinde bir metnin içerisinde başka bir metnin aranması için kullanılan en ilkel ve dolayısıyla en düşük performanslı arama algoritmasıdır (search algorithm). Algoritma hedef metinde, aranan metni harf harf bulmaya çalışır. Bu yapısından dolayı diziler üzerinde kullanılan doğrusal arama [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, çeşitli veri yapılarının (data structures) üzerinde bir bilginin aranması sırasına kullanılan algoritmaların genel ismidir. Örneğin bir dosyada bir kelimenin aranması, bir ağaç yapısında (tree) bir düğümün (node) aranması veya bir dizi (array) üzerinde bir verinin aranması gibi durumlar bu algoritmaların çalışma alanlarına girer. Yapısal olarak arama algoritmalarını iki [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, özellikle hesaplama alanında kullanılan algoritmalardan birisidir. İsmini demir tavlamak veya demiri ısıtmak anlamına gelen annealing (tavlama) kelimesinden almıştır. Algoritmanın amacı, herhangi bir problem için genel iyileştirme (global optimization) elde etmektir. Diğer bir deyişle, herhangi bir fonksiyonun ya da ölçümün genel minimum veya maksimum (global minimum) elde etmek olarak [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özellikle yapay zeka ve karar mekanizmalarının uygulanmasında çok kullanılan bir ağaç dolaşma algoritmasıdır. İsmindeki budama da bu ağaç üzerindeki bazı dalları kesmesinden gelmektedir. Yazının konusu olan alfa beta budaması (alpha beta prunning) minimax ağaçlarında (minimax trees) kullanılır. Bu ağaçları anlattığımız yazıdan aşağıdaki şekli alıp hatırlayacak olursak: Şekildeki ağacın [...]
Yazan : Şadi Evren ŞEKER Bu yazıda anlatılan içerik değiştirme (context switching) konusunu anlamadan önce bilgisayarlarda bulunan işlemcinin (CPU) anlık olarak tek bir iş ile uğraşabileceğini söylememiz gerekiyor. İşletim sistemi tasarımında (operating system design) bulunan bir özellik sayesinde, anlık olarak işlemcide tek iş çalıştırılması ve yinede birden fazla işin bilgisayarda aynı anda çalışıyormuş gibi hissettirilmesi [...]
Yazan : Şadi Evren ŞEKER 1. Giriş 2. Sunucu / İstemci Mimarisi (Client /Server) 3. JAVA ile ağ programlama 4. JAVA dilinde veri iletişimi için akışların (streams) kullanımı 5. JAVA dilinde Temel bir istemci sunucu (client / server) kodlaması 6. Kodların derlnemesi ve çalıştırılması 7. Java dilinde çok lifli bir istemci / sunucu kodlaması 8. [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, programlama dillerini sınıflandırmak ve bir programlama dilinin özelliklerini belirtmek için kullanılan bir terimdir. Genellikle literatürde prosedürel programlama (procedural programming) olarak da geçmektedir. Emirli programlama ile kastedilen, bir programlama dilindeki komutların satır satır emirlerden oluşmasıdır. Örneğin bir robota komut verecek olsaydık: Kolu 10 derece sağa döndür 2 metre yürü [...]
Yazan : Şadi Evren ŞEKER Bu yazıyı dersimi alan C ile programlamaya giriş öğrencileri için yayınlıyorum. Yazıyı okuyabilmek için sitemdeki C giriş dersinin sayfasında bulunan şifreyi giriniz.
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, işletim sistemi konusunda kullanılan bir terimdir. İşletim sisteminin temel fonksiyonlarından birisi de bilgisayarın sabit diskini (hard disk) ve bu disk üzerindeki dosyalama yapısını kontrol etmektir. Bu anlamda çeşitli işletim sistemi üreticileri çeşitli tasarımlar yapmış ve farklı dosyalama sistemleri geliştirilmiştir. Bunlardan en çok bilinenleri FAT, NTFS ve ext şeklinde [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, özellikle ağ yönetiminde (network) sıkça kullanılan bir terimdir. Buna göre iki uç bilgisyaar herhangi bir sunucu (Server) ihtiyacı olmadan birbiri ile doğrudan iletişim kurar. Normalde ağ yapılarında sunucu /istemci (client /server) modeli sıklıkla kullanılır. Bu model yönetim açısından tek bir sunucuya müdahale edilme kolaylığı sağlamanın yanında bütün ağ [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde arama algoritmaları için kullanılan bir terimdir. Algoritma ağırlıklı graflar (weighted graphs) üzerinde çalışmaktadır. Ağaçlar da bir graf örneği olduğu için algoritmanın ağaçlar üzerinde çalışması da mümkündür. Algoritma basitçe aşağıdaki şekilde tanımlanabilir: Kök düğümden başla (root node) En düşük maliyetli komşuya git Şayet aranan düğüm bulunduysa bit, bulunmadıysa 2. [...]
Soru: Kullanıcıdan bir sayı alarak ekrana verilen sayı boyutlarında *’lardan oluşan içi dolu bir kare kodu yazınız. Çözen : Şadi Evren ŞEKER Yukarıdaki soruyu 4 ayrı dil için (C,C++,JAVA ve C#) ayrı ayrı çözeceğim. Böylelikle okuyucu bu diller arasında mukayese yapabilecek ve bildiği bir dilden diğer dillere kolayca geçebilecektir. Çözüm: Soru, yapısı itibariyle 2 boyutlu [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde hemen hemen bütün programlama dillerinde kullanılan döngülerin iç içe kullanılmasına (kucak kucağa, nested) verilen isimdir. Buna göre bir döngü (loop) bir dönüşünü tamamlamadan diğer bir veya birkaç döngü dönme işlemi gerçekleştirebilir. Örneğin aşağıdaki kod parçasını ele alalım: for(int i = 0 ;i<5;i++){ // dış döngü for(int j = [...]
Yazan : Şefik İlkin Serengil Temel Kriptografi işlemleri, Java Development Kit ile standart olarak gelen Crypto ve Security kütüphaneleri ile çok basite indirgenmiştir. Bu kütüphaneler, Özetleme fonksiyonlarından, blok şifrelere, açık anahtarlama altyapısından dijital imza’ya kadar birçok kriptografi tekniğinin kullanılmasına olanak sağlamaktadır. Açık Anahtarlama ile Şifreleme import java.security.*; import javax.crypto.*; public class AcikAnahtarlaSifreleme { public static [...]
Yazan : Şefik İlkin Serengil SHA özetleme fonksiyonları, NSA tarafından tasarlanmış ve NIST tarafından Birleşik Devletler Federal Bilgi İşleme Standardı olarak yayınlanmış bir dizi kriptografik özetleme fonksiyonudur. SHA, Secure Hash Algorithm yani Güvenli Özetleme Algoritması anlamına gelmektedir. Bugün SHA-0, SHA-1, SHA-2 olmak üzere üç farklı yapıda özetleme algoritması mevcuttur. SHA-3, NIST tarafından organize edilen halka [...]
Yazan : Şefik İlkin Serengil Yöntem kriptolama amacı gütmekten çok aynı permitasyon şifresinde olduğu gibi orijinal metindeki karakterlerin yerlerini birbirleri ile karıştırarak anlamsız metinler üretmek üzerine kurulmuş ilkel bir şifreleme modelidir. Permütasyon şifresi (permutation cipher) ile arasındaki temel fark paragraf içerisindeki karakterlerin yerlerinin değişmesi belli bir matematiksel fonksiyona dayanıyor olmasıdır. Şifreleme Plaintext: tarihcesurdanyanadır Plaintext uzunluğu : [...]
Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde bir değerin aranması veya bir hedefe ulaşmak için kullanılan algoritmanın ismidir. Burada bir amaç bulunmalı ve amaca ulaşan çeşitli yollar arasından bir doğru seçim aranıyor olmalıdır. Örneğin bulmacalarda sorulan klasik iki boyutlu labirentler geri izleme algoritmaları (back tracking algorithms) biçilmiş kaftandır. Bu tip örneklerde labirentin bir ucundan başlanır [...]
Yazan : Şadi Evren ŞEKER İstatistikte sıkça kullanılan binom dağılımı ile elde edilen ve üssel ifadelerin açılımında çarpan olarak kullanılan üçgenin ismidir. Üçgen basitçe aşağıdaki şekilde inşa edilebilir. Her satır 1 ile başlayıp 1 ile biter Her değer kendi üzerindeki iki değerin toplamına eşittir 1 1 1 1 2 1 1 3 3 1 1 [...]