codegenius tarafından yazılmış tüm yazılar

Intel 8-Çekirdekli DDR4 X99 Anakartını Duyurdu

San Francisco’daki oyun geliştiricileri konferansında 2014’ün ikinci yarısında yeni jenerasyon 8-Çekirdekli işlemcilerini duyurdu.

IntelDDR4

X99 anakartların özelliği konusunda henüz kesin bir bilgi yokken bu yonga setinin x79’un yerini alacağı açık. ASUS yeni çipşetler üzerinde çalışmaya çoktan başladı bile. Bir diğer önemli gelişme ise bu masaüstü işlemcileri DDR 4 RAM desteği ile geliyor.

Kaynak: Anandtech

Loading

Facebooktwitterredditpinterestlinkedinmail

Soyut Veri Tipleri (ADT) ve Veri Yapıları

ADT(Abstract Data Type) değerler kümesi ve o değerler kümesi üzerinde gerçekleştirilen işlemleri içerir. Java gibi nesne yönelimli dillerde ADT->Interfaces(Arayüzler)’e denk düşer. Arayüzü implement eden herhangi bir sınıf :

a. Bu sınıfa ait instance oluşturabilir; (burada “instance” değere(value) karşılık düşüyor). Örneğin List ADT’si kullanılarak oluşturulan:

-List listem;

gibi. Burada listem ADT’den üretilmiş instance’tır yani değerimiz.

b. Sınıfa ait public metodları çağırabilir. (Burada “public metod” “işlemlere(operation)” karşılık düşer.) Örneğin yukarıda türettiğimiz listem adlı listemize eleman eklemek için kullanacağımız:

-listem.add(“item”);

adtvsds

Loading

Facebooktwitterredditpinterestlinkedinmail

Soyut Metodlar(Abstract Methods) ve Arayüzler(Interfaces)

Daire, dikdörtgen, veya diğer figürler için bir sınıf oluşturmak istersek her sınıfta figürü çizen çiz() ve figürü hareket ettiren taşı() metodları olmalıdır. Daire sınıfında, çiz() metodu ve taşı() metodu dairenin merkezi etrafında gezerek çizim yapar. Burada  çizim sınıfında iki metod ve bunlarla alakalı  sabit tanımlayıcılar tüm figür sınırları için geçerli olmaktadır.

 

public interface Sekil
{
final static int MAX_X_KOORD = 1024;
final static int MAX_Y_KOORD = 768;

/**
* Verilen koordinatın merkezinde şekil nesnesini oluşturur.
*
* @param x - cizilecek figürün x koordinatı.
* @param y - çizilecek figürün y koordinatı.
*/

void ciz(int x, int y);

/**
* Şekli verilen yeni koordinatlara hareket ettirir.
*
* @param x - taşınacak yeni konumun x koordinatı
* @param y - taşınacak yeni konumun y koordinatı.
*
*/

void tasi(int x,int y);

} // Şekil Arayüzü //

Şekil arayüzü iki sabit ve iki soyut metoddan oluşuyor. Arayüz sınıflarında bütün metod ve sabit tanımlayıcıları publictir. Tekrardan başına public yazmaya gerek yoktur. Başka bir sınıf bu arayüzü kullanmak istediğinde buna arayüzü implement eden sınıf denir. Örneğin daire sınıfı gözönüne alırsak :

 

public class Daire implements Sekil {

    // bildirim kısımları:

    private int xKoord,yKoord,yaricap;

    // x,y ve yaricap icin constructorlar

    public Daire(int xKoord, int yKoord, int yaricap) {
        this.xKoord = xKoord;
        this.yKoord = yKoord;
        this.yaricap = yaricap;
    }
    public void ciz(int x, int y) {
        xKoord = x;
        yKoord = y;
    }

    public void tasi(int x, int y) {

    }

    // ve diğer gerekli metodlar...

}

Arayüzlerde constructor bulunmaz çünkü constructorlar her zaman sınıfa özgüdür. Arayüzlerde bu eksiklik onların direk kullanımı engeller. Yani Sekil arayüzümüzden direkt olarak Sekil nesnesi oluşturamayız. Aşağıdaki şekildeki çağırım illegal olacaktır.

Sekil seklim = new Sekil(); // illegal

Loading

Facebooktwitterredditpinterestlinkedinmail

Yazılım Mühendisliği Kavramları

softenguml

 

Şekil 1. Yazılım müh. kavramlarını içeren örnek UML diyagramı

Yazılım geliştirenler için proje, aktiviteler(activity) dizisidir. Her aktivite bir veya birden fazla görevden(task) oluşur. Görev, kaynakları(Resources) tüketir ve İşÜrünü(WorkProduct) oluşturur. Oluşan ürün Sistem, Model veya Döküman olabilir. Kaynakları, katılımcı(participants), zaman ve ekipman oluşturur. Aradaki çizgiler farklı kavramlar arasındaki ilişkileri ifade eder. Örneğin elmas şekli toplama anlamına gelir. Bir Proje, aktivitelerin toplamıdır. Üçgen şekli ise genelleştirme anlamına gelir. Örneğin Sistem, Model, Döküman İşÜrünü’nün alt türleridir.

Loading

Facebooktwitterredditpinterestlinkedinmail