2008 November

2 geçişli çeviriciler (2 pass assemblers)

Yazan : Şadi Evren ŞEKER Bir çeviricinin (assembler), Assembly dilinde yazılmış kaynak kod üzerinden iki kere geçen halidir. Buna göre tek geçişli olan çeviricilerden farklı olarak dilde etiket (label) tanımları yapılabilmekte ve bu etiketlerin anlamları bir tabloda tutularak daha sonra kullanılabilmektedir. 2 geçişli bir çevirici sırasıyla şu işlemleri yapar: 1. Geçişte koddaki semboller (symbols) ve [...]

Kayan Nokta Sayıları (Floating Point Numbers)

Yazan : Şadi Evren ŞEKER Bilgisayar yapılarında ondalıklı sayıları ( floatingpoint numbers ) iki farklı bilginin tutulması ile gösterilebilir: mantis x kök üst yukarıda verilen formüle göre bir ondalıklı sayıyı önce bir ondalık çarpan sonra da bir kök’ün verilen üstü ile çarpımı olarak göstermek mümkündür. Örneğin ikilik tabanda 1101.11 küsurlu sayısını ele alalım (“.” işaretinden [...]

Şelale Modeli ( Waterfall Model )

Yazan : Şadi Evren ŞEKER Yazılım mühendisliğinde kullanılan bir yazılım projesi yönetim modelidir. Bu model aşağıdaki 4 temel merhaleden oluşmaktadır: tahlil (analiz, analysis) tasmim (tasarım, design) tatbik (uygulama, implementation tecrübe (test,test) Yazılım mühendisliğindeki diğer modellere temel teşkil eden bu modelde yukarıdaki aşamalar sırasıyla izlenir. Aşamalar arası geçişleri oldukça sıkı olan bu modelde geri dönüşler oldukça [...]

Tasarım Kalıpları (Tasmim Kalıpları, Design Patterns)

Yazan : Şadi Evren ŞEKER Yazılım mühendisliğinde sıkça kullanılan tasarım kalıplarının bir kütüphane haline getirilmesi ve bu kütüphanenin ileriki projelerde kullanılmasıyla proje gelitşrime sürelerinin kısaltılması hedeflenmektedir. Bu kütüphane (design patterns library) genelde farklı yapılar içerebilmesine karşılık aşağıdaki gruplarda toparlanabilir: Web tasarım kalıpları (web design patterns) UML tasarım kalıpları (UML Design patterns) Grafik arayüzü tasarım kalıpları [...]

RMI (Remote Method Invocation, Uzaktan Metod Çağırma)

Yazan : Şadi Evren ŞEKER Dağıtık programlamanın bir parçası olan RPC( Remote Procedure Call ) üzerine inşa edilmiş olan ve nesne yönelimli programlama akımıyla birlikte gelişmiş olan RMI yaklaşımı basitçe bir kodun bir parçası olan methodun başka bir kod tarafından çağrılmasını sağlar. Temel olarak sistemde rmiregistry ismi verilen bir kayıt üzerinde RMI için çağrılması uygun [...]

Kütük (stub, nesne vekili, object Proxy)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlamanın gelişmesiyle birlikte dağıtık nesne mimarisi denilen bir kavram gün yüzüne gelmiştir. Bu kavrama göre bir nesne yönelimli projeyi farklı bilgisayarlar üzerinde dağıtmak ve projenin bu farklı bilgisayarlar üzerindeki farklı nesneler ile iletişim kurmasını sağlamak mümkündür. Bu işlem için örneğin JAVA dilindeki RMI (uzaktan metod çağırma , remote [...]

Vücubiyet (Modality)

Yazan  : Şadi Evren ŞEKER Yazılım mühendisliği (software engineering) ve veritabanı tasarımı (database design) konularında sistem modellenmesi aşamasında sıkça karşılaşılan bir problem de sistemde modellenen unsurlar (entity) arasındaki ilişkinin (relationship) vücubiyetidir ( modality ) . Bu terim bir unsurun diğerini gerektirmesi anlamında kullanılmaktadır. Mesela sistemimizde bir çalışan bir de kısım (department)  unsuru bulunsun. Her çalışanın [...]

Sayısallık (Cardinality)

Yazan : Şadi Evren ŞEKER Unsurlar (Entities) arasındaki sayısal bağlantıyı ifade etmek için kullanılan bir terimdir. Literatürde bazı kaynaklarda sayılabilirlik olarak da geçmektedir.  Buna göre bir unsur ile diğer unsur arasında aşağıdaki üç ilişki şeklinden birisi olmalıdır: Birebir one-to-one Bire çok one-to-many Çoka çok many-to-many Bu durumlara birer misal verecek olursak: Bir çalışanın cep telefonu [...]

ERD ( Unsur İlişki Çizimi, Entity Relationship Diagram )

Yazan : Şadi Evren ŞEKER Yazılım mühendisliği (Software engineering) ve veritabanı tasarımında (database design) sıkça kullanılan bu çizim yöntemine göre, modellenmek istenen sistemdeki unsurlar (Entities) çıkarılarak bu unsurlar arasındaki ilişkiler (relationships) tanımlanır. Unsurların özellikleri (attributes), anahtarları (keys) belirlenerek sistemin tamamını kapsayan bir model çizilir ve bu model üzerinde tasarım yapılır. Tasarımın bitmesinin ardından, tasarımdaki bütün [...]

İlişkinin Anlık Görüntüsü (Instance of a Relation)

Yazan : Şadi Evren ŞEKER Veritabanı teorisinde iki tablonun; veya ERD çiziminde iki unsurun (entity) arasındaki ilişkinin anlık görüntüsüne (Instance) verilen isimdir. Bir ilişkiyi kümeler arası ilişkiye benzetmek mümkündür. Buna göre her unsurun üyesi olan kayıtlar (records) ile diğer unsurların üyeleri arasındaki ilişki aslında aşağıdaki örnekte olduğu gibi gösterilebilir: Yukarıdaki örnekte bir çalışan unsurunun, kısım [...]

İlişki (Relationship)

Yazan : Şadi Evren ŞEKER Bilgisayar bilimlerinde ilişki kavramı çok çeşitli anlamlarda kullanılabilir. Örneğin nesnelerin birbiri ile olan ilişkisi veya veritabanındaki tabloların ilişkisi gibi. Veritabanı teorisindeki tablo ilişkisi Temel olarak bir ilişkisel veritabanını modellemekte kullanılan ERD (Unsur ilişki çizimi, entity relationship diagram) üzerinden bir ilişkiyi anlamak mümkündür. Bilindiği üzere bir ERD, unsurlardan (entities) oluşmaktadır ve [...]

Unsur (Entity)

Yazan : Şadi Evren ŞEKER Veritabanı tasarımında (database design) ve yazılım mühendisliğinde (software engineering) sıkça kullanılan bir tasarım yöntemi, modellenmek istenen sistedemki unsurları çıkararak bu unsurların özelliklerini ve bu unsurlar arasındaki ilişkileri tutmaktır. Temel olarak bir unsur nesne yönelimli programlama mantığında olan her nesneye benzetilebilir. Ancak bir unsurun bir nesneden temel farkı, ihtiyaç duyulduktan sonra [...]

Veri Tabanı Yönetim Sistemleri (Database Management Systems, DBMS) Ş

Yazan : Şadi Evren ŞEKER Veri tabanı yönetim sistemi terimi tam olarak bir veri tabanını ve bu veri tabanı üzerindeki yönetim ile ilgili bütün yazılımları kapsamaktadır. Veri tabanlarını iki seviyeye ayırmak mümkündür: Mantıksal Katman (Logical Layer) Fiziksel Katman (Physical Layer) Buna göre mantıksal katman olan ve izafi olarak üstte ifade edilen katman insan düşüncesine daha [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Veri Tabanı (Database) | A yorum var

Blum Blum Shub

Yazan : Şadi Evren ŞEKER Bir adi rastgele (Pseudorandom) algortiması olan blum blum shub, aşağıda gösterilen formülü kullanarak rasgele sayılar üretmektedir: xn+1 = (xn)2 mod M Buradaki M sayısı p ve q gibi iki asal sayının çarpımından oluşmaktadır (M = pq). Yukarıdaki formülde görüldüğü üzere bir önceki sayının karesi alınarak ilerlenen bir sistem mod M [...]

Traceroute

Yazan : Şadi Evren ŞEKER Bir konumdan başka bir konuma giden internet paketlerinin (IP) geçtikleri güzergahtaki düğümleri (nodes) görmeye yarayan yazılımın ismidir. Örneğin bulunduğumuz konumdan, internet üzerindeki herhangi bir konuma paketlerin hangi yolu izleyerek geçtiğini görmek için çoğu işletim sisteminde desteklenen (windows, linux, unix gibi) aşağıdaki komutu çalıştıralım: tracert 72.55.146.14 En fazla 30 atlamanın üstünde [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Network(Ağ) | A yorum var

Extranet (Dış ağ)

Yazan : Şadi Evren ŞEKER Kabaca bir kurumun dışarıya açık ağı anlamına gelmektediir. Örneğin bir firmanın kendi sunucularına erişim için kurmuş olduğu kurumsal ağın (Intranet) dışarıya açılması ve iş yaptığı çeşitli firmaların erişimi için dışarıdan erişilebilir bir ağ sağlaması durumudur. Farklı bir bakışla Intranet’in (iç ağ) bir parçası olarak görülüp, dışarıdan bağlanacaklara açılmış bir parça [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, Network(Ağ) | A yorum var

Intranet (İç Ağ)

Yazan : Şadi Evren ŞEKER Gelişen ağ teknolojileri ile birlikte İnternet’in özelleştirilmesi de mümkün olmuştur. Örneğin bir şirketin posta sunucuları (mail servers), web sunucuları (web servers) DNS’i, FTP sunucuları ve benzeri pekçok sunucusu bulunmaktadır. Şayet şirket bu sunucuları kendisine özgü olarak sadece kendi çalışanlarının erişebileceği şekilde ayarlarsa bu ağ tipine Intranet (iç ağ) ismi verilmektedir. [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, Network(Ağ) | A yorum var

Çift Yölü İletişim (Duplex Communication)

Yazan : Şadi Evren ŞEKER Bir iletişimin tipini belirlemek için kullanılan terimdir. Kabaca bir otoyolun tek yönlü veya çift yönlü olması mümkündür. Çift yönlü otoyolun ise tek şerit veya çift şerit olması mümkündür. Duplex terimi aynı anda iki tarafında iletişim kurduğu sistemler için kullanılmıştır. İkiye ayırmak mümkündür: Full Duplexing (aynı anda çift yönlü iletişim) Half [...]

Şadi Evren ŞEKER tarafından, tarihinde yazıldı. | Bilgisayar Kavramları, Network(Ağ) | A yorum var

Borulama (Pipelining)

Yazan : Şadi Evren ŞEKER ismini boru hatlarının işleyişinden alan yaklaşım, kısaca bir işlem borunun sonundayken, borunun başından yeni bir işin konulabileceğini anlatmaktadır. Buna göre örneğin bir işin (process) çalışması için 4 farklı safhadan geçmesi gerekiyor olsun: Fetch (almak) Decode (algılamak) Execute (çalıştırmak) Store (saklamak) Bu dört safhanın her birisi her işlem için tekrarlanacaktır. Yani [...]

Tip İnkılabı (Tip Dönüştürme, Type Casting)

Yazan : Şadi Evren ŞEKER Programlama dilinde bir değişkenin (variable) tipinin değiştirilmesi anlamındadır. Temel olarak değişkenlerin tanımlandığı andan itibaren bir tipi bulunur. Bunun her ne kadar bazı dillerde istisnası olsa da (php, visual basic, perl gibi) bu dillerde de değişkenin tipi yine de tipsiz olarak belirtilmektedir. İşte tanımlama sırasında sahip olunan tipin daha sonradan değiştirilmesi [...]

Yapıcı (Constructor)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama yaklaşımında bir nesnenin oluşturulması sırasında ilk çalışan fonksiyonun ismidir. Buna göre bir nesnenin oluşturulması demek, nesneyi tarif eden sınıftan bir türün hafızada (RAM) bir kopyası için yer açılması ve bu nesnenin bütün değişken ve metodlarının tanımlanan kısıtlamalarla erişilebilir olması demektir. Bilindiği üzere nesne yönelimli programlamada bir nesnenin [...]

POP3

Yazan : Şadi Evren ŞEKER POP3 protokolü, post office protocol (postahane, postane protokolünün) kısaltılmışıdır. Bu protokolün çalışma mantığı sürekli bağlı kalmayan kullanıcıların gelen iletilerinin sunucuda saklanmasına dayanır. Buna göre her kullanıcının, sunucu üzerinde bir posta kutusu bulunur ve gelen iletiler (e-postalar, e-mails) bu kutuda biriktirilir. Kullanıcı sunucuya bağlandığı zaman kutusunda bulunan mektupları kendi bilgisayarına çekerek [...]

Şadi Evren ŞEKER tarafından, 23/11/2008 tarihinde yazıldı. | Bilgisayar Kavramları, Network(Ağ) | A yorum var

İstisna Yakalama (kabz-ı istisna, Exception Handling)

Yazan : Şadi Evren ŞEKER Nesne yönelimli programlama dillerinde istisnai bir durumu, beklenmedik bir olayı algılayıp buna karşı bir kod parçasının çalışmasıdır. Örneğin hafıyza bir dosya okuyacak olalım. Bu işlemler sırasında: dosyanın disk üzerinden bulunarak açılması dosyanın boyutunun belirlenmesi dosya için hafızda boyutu kadar yer açılması dosyanın bu hafızada açılmış yere yüklenmesi dosyanın kapatılması işlemlerinin [...]

Şadi Evren ŞEKER tarafından, 22/11/2008 tarihinde yazıldı. | JAVA, Nesne Yönelimli Programlama | 2 yorum var

Final Method

Yazan : Şadi Evren ŞEKER JAVA programlama dilinde miras ilişkisi (inheritance) içerisinde bulunan iki sınıftan (class) üsttekinin (ancestor) alttaki sınıfların (offspring) kendi metodlarını çiğnemesini ( overriding) engellemesi için final yapması durumudur. public class çalışan{ public final int maaş(){ return 1000; } } public class müdür extends çalışan{ } Yukarıdaki örnekte müdür sınıfı bir çalışan sınıfıdır [...]

Üzerineyükleme (Overloading)

Yazan : Şadi Evren ŞEKER Nense yönelimli programlama yaklaşımına göre çok şekilliliğin (polymorphism) bir gereği olarak bir işin birden farklı şekilde yapılabilmesini sağlayan özelliktir. Temel olarak method overloading (metod üzerine yükleme) veya operatör üzerine yükleme (operator overloading) olarak iki farklı şekilde incelenebilir. Aşağıda bir fonksiyonun üzerine yüklenmesi (function overlaoding) örneği verilmiştir: public class dikdörtgen{    [...]