4 Ekim 2006 Çarşamba

Partial Class Generator Modeli Hakkında

Partial Class Generator Modeli yazılım mimarisinde veri erişim katmanının temel sınıflarını üretmeye dayalı olan bir modeldir. Bu model yalnızca temel sınıfların üretimine dayalı olduğu için diğer katmanların ve kodların üretimi programcıya kalmaktadır.



Örnek Model Şeması :



Model Üretim Süreç Şeması :


24 Eylül 2006 Pazar

Mixed Code Generator Modeli Hakkında

Inline Code Expander Modeli’nin dez-âvantajlarını kapatmak için geliştirilen kod üretim modelidir. Bu modelde gömülü SQL uygulamaları açıklama satırları olarak girilir. Böylece programcının kodu direk derlemesi mümkün olmakdadır. Ayrıca oluşturulan kaynak kod, üreticinden geçen kodun kendisi olduğundan herhangi bir uyum sorunu da yaşanmamaktadır.

Örnek : Gömülü SQL (CSQL) Dili



1int main(int argc, char *argv[])
2{
3 //SQL select * from users
4 //SQL END
5 return 0;
6
7}





Örnek : C Dili



1#include “db.h”
2int main(int argc, char *argv[])
3{
4 //SQL select * from users
5 DBHandle *db_handle = db_connect();
6 DBQueryData *db_data = db_db_query(db_handle, “select * from users”);
7 for(int record= 0; record< db_data->length;record++)
8 {
9 //Programcı için açıklama alanı
10 }

11 //SQL END
12 return 0;
13}



Örnek Model Şeması :


Model Üretim Süreç Şeması :


11 Eylül 2006 Pazartesi

Inline Code Expander Modeli Hakkında

Mevcut bir dilde yazılmış olan kaynak kodu hedef dile uygun hazırlanmış şablona göre işleyip sonuçlandıran kod üretim modelidir. Bu model daha çok C dili içinde gömülü SQL (ing embed SQL) uygulamalarına imkân vermek amacıyla kulanılmıştır.


Örnek : Gömülü SQL ((SQLC) Dili)


1int main(int argc, char *argv[])
2{
3 <SQL select * from users>
4 return 0;
5}

6

Şeklinde yazılmış bir gömülü SQL kodunu Inline Code Expander Modeli ile yazılmış bir kod üreticiden geçirildiğinde SQLC kodu aşağıda görüleceği gibi saf C koduna çevrilmektedir.

Çıktı: C Dili


1#include “db.h”
2int main(int argc, char *argv[])
3{
4 DBHandle *db_handle = db_connect();
5 DBQueryData *db_data = db_db_query(db_handle, “select * from users”);
6 for(int record= 0; record< db_data->length;record++)
7 {
8 //Programcı için açıklama alanı
9 }

10 return 0;
11}


Örneğin şeması :





Böylece bir programcıya veritabanı ile yapacağı işlemleri veya birkaç satırda yapabilme olanağı tanınmış olmaktatır. Bu modelin en büyük dez-âvantajı kaynak kodda SQLC kodları yer aldığından bu kodun derlenebilmesi için kod üreticiden geçmesi gereğidir. Ki kod üretiminden geçse de oluşturulan kod farklı bir dosya olduğundan gelişim sürecinde kaynakla çıktı arasında uyumun kaybolmasıdır.

Model Üretim Süreç Şeması :


7 Ağustos 2006 Pazartesi

Code Munger Modeli Hakkında

Kaynak kodlarına programcı tarafından yazılan açıklama alanlarının (Comment) içeriğine dayalı olarak dosya üretimine dayanan modeldir. Bu modelin kullanımına örnek olarak Sun System’s tarafından geliştirilen JavaDoc programı verilebilir. JavaDoc Java kodlarına yazılmış açıklama alanlarına göre yardım dosyası oluşturan bir HTML kod üreticisidir.


19 Temmuz 2006 Çarşamba

SysLog Protokolü ve SysLogSender Uygulaması Örneği

SysLog protokolüyle mesaj gönderimine ilişkin bir örnek yazımı yazgelistir.com'da yayınladım. Okumak için tıklayınız.

11 Kasım 2005 Cuma

Independent Games Festival 2005

Bağımsız Oyunlar Festivali 2005'yılı öğrenciler kategorisine "FruitMania – Fun Forever" adlı oyun ile katılımımız kabul edildi. Oyunun yazımında büyük pay sahibi Abdurrahim ÇAKAR'a teşekkür ederim. Emeklere değdi anlaşılan, sonuçta birde yayıncı bulmuş olduk :)

Katılımcıların listelendiği sayfaya erişmek için tıklayabilirsiniz.

17 Kasım 2003 Pazartesi

Casl Programlama Diline Giriş - 8

Casl'da Veritabanı Kullanımı
Casl'ın programcıları diğer bütün işlerde olduğu gibi veritabanı kullanımında da işimizi oldukça kolaylaştırılmış.

1- Veri tabanına bağlanma : Casl'da bağlanacağımız veri tabanını dbfile objesi olarak tanımlamamız gerekiyor.
Örnek :
dbfile veritabani;
field alan_adi;
field alan_adi2;
#veri tabanınındaki tüm alan adlarını belirtmemiz gerekiyor.
sync_pref merge;
data_sourche_name "Veri_tabani_adi";
end;

Görüldüğü gibi bağlanmak kolay. Bu veritabanını değiştirmek istersek bunu bir fonksiyonla halledebiliriz şöyle.

function veri_tabanini_değiştir;
close veritabani;
veritabani.data_sourche_name = "Yeni_veritabani_adi";
open veritabani;
end;
işin mantığınızı anladığınızı umuyorum. Yaptığımız veritabanını kapatıp adını değiştirip yeniden açtık. Güvenlikli veritabanına bağlanırken tek değişen komut veri tabanının isminin yanına kullanıcı adı ve parolayıda yazıyoruz
Şöyle :
dbfile veritabani;
field alan_adi;
field alan_adi2;
#veri tabanınındaki tüm alan adlarını belirtmemiz gerekiyor.
sync_pref merge;
data_sourche_name "DSN=Veri_tabani_adi;UID=Kullanici_adi;PWD=Parola;";
end;
Bundan sonrasını kullandığımız veri tabanının komutlarını kullanarak yapabiliriz.