2009 April

Çok boyutlu diziler (MultiDimensional Arrays)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerindeki pek çok programlama dilinde birden fazla boyuttan oluşan dizilerin kullanılması mümkündür. Örneğin bir ders çizelgesini, haftalık yemek listesini yada kişilerin aylık satışlarından oluşan bir tabloyu ele alalım. Günlük hayatta pek çok yerde tablolar kullanılmaktadır. Aynı zamanda matrisler (masfuf, matrix) matematikte küçümsenmeyecek bir öneme sahiptir. İçerik 1. Çok boyutlu [...]

Şadi Evren ŞEKER tarafından, 30/04/2009 tarihinde yazıldı. | C/C++, Derleyiciler, Programlama Dilleri, veri yapıları | 7 yorum var

MPI (Message Passing Interface , Mesaj Geçirme Arayüzü)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde, paralel programlama amacıyla kullanılan bir platformun ismidir. Çok çeşitli işletim sistemlerinde ve çok çeşitli dillerde paralel uygulama geliştirmeye olanak sağlar. Ancak temel çıkış sistemi Linux ve temel programlama dili olarak C dili kabul edilebilir. İçerik 1. Paralel Programlamaya Giriş 2 MPI Kurulumu 3. MPI ile paralel program geliştirilmesi [...]

Minimax Ağaçları (Minimax Tree)

Yazan : Şadi Evren ŞEKER Bilgisayar mühendisliğinde, yapay zeka konusunda kullanılan bir karar ağacı türüdür. Aslında minimax ağaçları bilgisayar bilimlerine işletme bilimindeki oyun teorisinden (game theory) girmiştir. Temel olarak sıfır toplamlı bir oyunda (zero sum game), yani birisinin kaybının başka birisinin kazancı olduğu (veya tam tersi) oyunlarda karar vermek için kullanılışlıdırlar. Örneğin çoğu masa oyunu [...]

Brent Algoritması (Brent’s Algorithm)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde özlelikle graf teorisinde (graph theory) kullanılan ve bir döngüyü (cycle) algılamaya yarayan algoritmadır. (cycle detection). Basitçe tavşan ve kaplumbağa algoritmasından (hare and tortoise algoritm) esinlenmiştir. Floyd algoritması olarak da isimlendirilen tavşan ve kaplumbağa algoritmasından farklı olarak tavşan, kaplumbağanın iki misli değil 2 üzeri adımla hareket etmektedir. Yani kaplumbağa, [...]

Tavşan Kaplumbağa Algoritması (Hare and Tortoise Algorithm)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde veriyi modellemek için kullanılan graflarda bir döngü (cycle) olup olmadığını algılamaya yaramak için kullanılan algoritmadır. Floyd Döngü Yakalama Algoritması (Floyd’s Cycle Detection Algorithm) olarak da geçen bu algoritmaya göre bir yol üzerinde hareket eden iki farklı hızdaki gösterici (pointer) aynı değeri gösterebiliyorsa burada bir döngü bulunuyor demektir. Tosbağa [...]

Factorial (Faktöriyel)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıkça kullanılan bir örnek olan faktöriyel fonksiyonu yapısı itibari ile özyineli (recursive) bir fonksiyondur. Yani fonksiyonun çözümünde yine kendisi cinsinden yazılma şansı vardır. Faktoriyel fonksiyonunun tanımını şu şekilde yapabiliriz: n! = n (n-1) (n-2) … 1 Yanibasitçe faktöriyel fonksiyonu herhangi bir sayı için 1′den o sayıya kadar olan [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | C/C++, Programlama Dilleri, Scheme (lisp) | A yorum var

İşlem Yükleme (Operator Overloading)

Yazan : Şadi Evren ŞEKER Programlama dillerinde, özellikle de nesne yönelimli (object oriented) programala dillerinde bir işlemin (operator) farklı amaçlar için ve farklı veri tipleri ile kullanılması mümkündür. Örneğin C++ dilinde aşağıdaki yapı ile bu işlem yapılabilir: operator([parametreler]) { İşlemler } Örneğin bu yapıda yeniden tanımlanmış (üzerine yüklenmiş, overload) aşağıdaki kodu inceleyelim: int operator+(int a, [...]

Şadi Evren ŞEKER tarafından, 20/04/2009 tarihinde yazıldı. | C/C++, JAVA, Programlama Dilleri | A yorum var

Yahut Şifrelemesi (XOR Encryption)

Yazan : Şadi Evren ŞEKER Veri güvenliğinde kullanılan en basit şifreleme algoritmalarından birisidir. Şifreleme ailesi olarak blok şifreleme (Block Cipher) ailesinden simetrik şifreleme olarak kabul edilebilecek olan bu şifreleme algoritmasında mesaj önce verilen blok boyutunda parçalara bölünür. Ardından her parça anahtar ile Yahut (XOR) işlemine tabi tutulur. Çıkan sonuçlar birleştirilerek şifreli mesaj elde edilir. Alıcı [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | C/C++, Veri Güvenliği(Cryptography) | A yorum var

Birlik (Union, İttihad)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde hafızanın verimli kullanılması ve aynı amaca hizmet eden bilgilerin birlikte tutulması amacıyla geliştirilen bu yapılarda tanımlanan alt verilerin tamamı hafızada (RAM) bir arada tutulur ve bir seferde hepsine erişilebilir. Aslında kullanım ve mantık olarak yapılara (Structs) oldukça çok benzeyen birliklerin (unions) tek farkı veriyi hafızada aynı yerde tutmasıdır. [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | C/C++, Programlama Dilleri | A yorum var

Şablonlar (Templates)

Yazan : Şadi Evren ŞEKER Bilgisayar mühendisliğinin pek çok alanında kullanılan şablonlar, programlama dillerinde bir fonksiyon (function) veya programın bir parçasının farklı değişken tipleri için kulllanılmasını sağlarlar. Örneğin JAVA ve C++ dillerinde kullanılan bu özelliği bu yazı kapsamında açıklamaya çalışacağız. Örneğin aşağıdaki kod parçasını ele alalım: template<typename T> template<class T> Yukarıdaki ilk satırda bir tip [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | C/C++, JAVA, Programlama Dilleri, veri yapıları | 6 yorum var

fstream (File Stream, Dosya Akışı)

Yazan : Şadi Evren ŞEKER Özellikle C++ dilinde dosyalara erişmek ve dosyalar üzerinde işlem yapmak için çeşitli fonksiyonlardan oluşan bir kütüphanenin ismidir. Aslında bilgisayarlardaki giriş çıkış işlemlerini ( I/O input/output) dört ana başlıkta toplamak mümkündür. Standart giriş çıkış işlemleri (klavye ve ekran) (Standard input output) Dosya giriş çıkış işlemleri (İşletim sisteminin dosya yapısındaki bir dosyadan [...]

CPU Utilization (MİB Meşguliyeti)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde en önemli kaynaklardan birisi de merkezi işlem birimidir (MİB, central processing unit CPU). Özellikle işletim sistemi çalışmaları sırasında bir işletim sisteminin bu en kıymetli kaynağı daha verimli kullanması amaçlanır. MİB Meşguliyeti (Utilization) ise işlemcide çalışmak için bekleyen işlemler (process) için sistemin meşguliyet oranını (utilization) bulmaya yarayan bir hesaplamadır. [...]

Şadi Evren ŞEKER tarafından, 19/04/2009 tarihinde yazıldı. | Bilgisayar Matematiği, işletim sistemleri | A yorum var

Meşguliyet (Utilization, Kullanım)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde sıra (queue) teorisinde, sıradaki bir varlığın ne kadar meşgul edildiğini ölçmeye ve bu ölçüme göre kararlar vermeye verilen isimdir. İstatistiksel olarak ρ sembolü ile gösterilir ve şayet ρ değeri 1′den büyükse sıranın uzadığı, 1′e eşitse sıranın ne kısalıp ne de uzadığı ve şayet 1′den küçükse sıranın kısaldığı veya [...]

MVC (Model View Controller, Model Bakış Kontrolcü)

Yazan : Şadi Evren ŞEKER Yazılım mühendisliğinde kullanılan bir mimari yaklaşımdır. Basitçe yazılımın tasarımı ve geliştirilmesi aşamalarında etkili olan bir bakış açısını yansıtır. Bu bakış açısına göre kullanıcı ara yüzü (user interface) ile iş mantığı (business logic) birbirinden ayrı olmalıdır. Yani kullanıcıların önündeki ekranların tasarlanması ve geliştirilmesi sırasında kullanıcı gözüyle analiz yapılmalı ve bu analize [...]

JSF (Java Server Faces)

Yazan : Şadi Evren ŞEKER JAVA teknolojisi üzerine kurulu olan ve web üzerinden sunucu tarafı kod geliştirme (server side development) olanak sağlayan bir teknolojidir. JSF teknolojik olarak JSP (Java Server Pages) teknolojisinin üzerine kurulmuş bir çerçeve (framework) olarak düşünülebilir. Yani üretilen ve gösterilen kod olarak JSF teknolojisinin altında JSP teknolojisi kullanılmaktadır. Klasik talep tekileşimli MVC [...]

Şadi Evren ŞEKER tarafından, 15/04/2009 tarihinde yazıldı. | Programlama Dilleri, Web Teknolojileri | A yorum var

Sayma (Enumeration, Tâdâd)

Yazan: Şadi Evren ŞEKER Bilgisayar bilimlerinde alınabilecek alternatiflerin sayılması ve bu sayılan ihtimaller dışındaki ihtimallerin kabul edilmemesi durumudur ( ihtimallerin tâdât edilmesi) Örneğin programlama dillerinde bir değişkenin alabileceği değerleri tanımlayarak bu değişkene sadece bu değerlerden birisinin konulması sağlanabilir. Örneğin C dilinde yazılmış aşağıdaki kodu ele alalım: enum gunler{ pts,sal,car,per,cum,cts,paz }gun; main(){ gun=sal; printf(“\n%d”,gun); //2. gün [...]

Şadi Evren ŞEKER tarafından, 14/04/2009 tarihinde yazıldı. | C/C++, Derleyiciler, Programlama Dilleri, veri yapıları | A yorum var

Knuth Morris Prat Algoritması (KMP Algorithm)

Yazan : Şadi Evren ŞEKER Knuth-Morris-Prat algoritması bir kelimenin (yada bir metin parçasının) bir metin içerisinde aranmasını sağlayan algoritmadır. Basitçe bu algoritmada bir kelimenin aranan metinde bakılması ve bakıldığı yerde bulunamaması durumunda nerede olabileceği ile ilgili bir bilginin elde edilmesi hedeflenir. Algoritma aranan kelimenin, aranan metinde bulunmaması durumunda, kelimenin içerisindeki harflerden yola çıkarak birden fazla [...]

Çift Uçlu Sıra (Double Ended Queue)

Yazan : Şadi Evren ŞEKER Veri yapılarında kullanılan sıra (qeueu)‘nun iki yönden de veri eklenip çıkarılabilen halidir. Klasik sırada veriye FIFO (First in First Out, fifo ilk grin ilk çıkar) mantığıyla erişilmekte ve bu yüzden sıranın bir başı bir de sonu bulunmaktadır. Basitçe sondan giren elemanlar baştan çıkmaktadır. Çift uçlu sıralarda (double ended queue , [...]

Şadi Evren ŞEKER tarafından, 06/04/2009 tarihinde yazıldı. | veri yapıları | A yorum var

Aks-i Müfret (Palindrome)

Yazan : Şadi Evren ŞEKER Edebiyatta bir sanat olan aksi müfret, bir kelimenin ya da bir cümlenin baştan ve sondan okunuşunun aynı olması durumudur. Bazı kaynaklarda bedii sanatı olarak da zikredilmektedir. Örneğin Yasin sûresi 40. ayette (Küllün fi felek) “Aya erişmek güneşe düşmez. Gece de gündüzü geçemez. Her biri bir yörüngede yüzerler.” (Yasin: 40) Âyetteki [...]

Şadi Evren ŞEKER tarafından, 05/04/2009 tarihinde yazıldı. | Uncategorized | A yorum var