1 hafta önce “Lost” manyaklığı içinde kendimi buldum.Neden manyaklık diyorum?Çünkü diziyi izleyen kimi tanıyorsam, ciddi anlamda Lost fanatiği olmuş durumda. Amerikada yayınlanan bölümleri ile paralel şekilde izleyen,takip eden, merak eden, ciddi bir şekilde muhabbet konusuna dönüştürüp, olaylar üzerinde devlet meselesi gibi tartışanlar var.Manyaklık değilde nedir bu ?
Archive for October, 2006
- Oct
- 28
- 2006
LOST denen dizi…
- Oct
- 22
- 2006
Vista ve DirectX 10
Windows Vista ile, DirectX’in yeni versiyonu DirectX 10 tam olarak çıkıyor ve oldukça merakla bekleniyor. En azından ben, gelen haberlerden dolayı yeni versiyonu merakla bekliyorum. DirectX, Wındows tarafında grafik programlama için temel bir API olmuştu hep. Ancak nedense şu ana kadar çıkan hiç bir Windows sürümünde bu API’nin işletim sistemi ile entegrasyonu fazla görememiştik, çünkü yoktu. Ama DirectX 10 ve Vista oldukça entegre bir şekilde çalışacak haberleri ve çeşitli örnekler, grafiksel olarak güzel şeylerin bizi beklediğini gösteriyor.
Yeni DirectX versiyonunda öne çıkan asıl DirectX component’ı Direct3D olacak sanırım. Her ne kadar XInput(ex-DirectInput) veya ses ve görüntü componentinde(XACT) büyük değişiklikler olsa da Direct3D 10 sanırım en çok üzerinde konuşulan yeni DirectX component’ı.
Vista ile beraber olarak gelecek olan DirectX 10, farklı kavramlar ile karşımıza çıkacak.Bunlar Direct3D 9Ex(extended) ve Direct3D 10. Direct3D 9Ex, Direct3D 9 versiyonu ile çalışan uygulamalar için,Vista’da çalışabilmesi için DirectX 9’un biraz da genişletilmiş hali. Tabi ki eski DirectX 9 API’si de Vista için geçerli olacak.
- Oct
- 22
- 2006
EVENT ve DELEGATE
Nedir bu Event?
Event, olay,hadise,vaka,aktivite olarak çeşitli Türkçe kelimeler ile tanımlanabilir. Bir programda da aslında tam olarak böyle. Event, bir programın belli bir aktivitesi olarak adlandırabiliriz. Event’lerin gerçekleşmesini sağlayan çeşitli durumlar vardır,bu durumlara tetik diyoruz. Kısaca olayların gerçekleşmesi için onların tetiklenmesi gerekir. Basit bir örnek ile olayı biraz daha özetlesem sanırım daha anlaşılır olur. Şimdi bir alarm yönetim sistemi var diyelim.Çeşitli yerlerdeki alarmları kontrol ediyor olsun. Bu çeşitli yerlerden biri bir banka olsun. Gece geç saatlerde bu bankaya bir hırsız girsin(tetik) ve alarmın çalışmasına neden olsun. Alarm yönetim sistemine giden bu alarm da bize nerede,saat kaçta olayın olduğunu bildirsin. Biraz daha programcılık terimleri ile olaya başka açıdan bakalım şimdi. Şimdi bankaya biri girdiğinde haberdar olmak istiyoruz.HIRSIZGIR() diye bir metod olsun,ve hırsızın bankaya girme metodu olsun.Hırsızın bankaya girme olayı gerçekleştiği zaman ALARMCAL() methodu çalışsın ve bize haber versin. Bu işi ALARMCAL() metodunu, HIRSIZGIR() metodu ile ilişkilendirerek yapabiliyoruz. Ve bu şekilde HIRSIZGIR() çalıştığı zaman ALARMCAL() metodu tetiklenmiş olacak. Umarım bu örnek olayın biraz anlaşılması için yeterli olur,gerçi aşağıda program koduyla bazı şeylere daha net deyiniyor olacağım. Bu konuda bahsedilmesi gereken bir diğer kavram ise delegate(delege,temsilci) metodlar. Object Oriented Programming kavramının ana taşlarından biri olan data encapsulation, açısından bakarsan delegate metodlar içinde method encapsulation diyebiliriz. Biraz daha anlaşılır olması için, delegate(temsilci) metodların, başka metodları temsil etmesi olarak basit bir cümle kurabilirim. Delegate metod, temsil ettiği başka bir metodun çalışmasını sağlar. Bu şekilde bir nesne içindeki metodların içeriklerinin biraz olsun gizlenmesi sağlanabilir. Şimdi biraz kod üzerinden gidelim. class AlarmEventArgs : EventArgs { private string place; private string time; public AlarmEventArgs(string p,string t) { place = p; time = t; } public String Place { get { return place; } } public String Time { get { return time; } } } Üstteki kodda System.EventArgs’yi kullanarak kendi EventArguments’ımızı yaratıyoruz. Bu belirlediğimiz event gerçekleştiği zaman bize döndürecek argümanları belirleyebiliyoruz. Kendi EventArguments’larımızı yazma gibi bir zorunluluğumuz yok aslında ama ben genellikle tercih ediyorum.
public class Alarm { //Event'in tetiklenmesini sağlayacak olan delegate metodunu tanımlıyoruz. //Tanımlama sırasında metod içinde bir işlevine dair hiç bir şey yazmıyoruz. //Parametre olarakda bu Event'i tetiklenen obje ve parametreleri tanımlıyoruz. public delegate void AlarmEventHandler(object sender, AlarmEventArgs e); //Yukarıda tanımladığımız delegate methodu tipinde bir event tanımlıyoruz. public event AlarmEventHandler AlarmEvent; public void Active(string p,string t) { AlarmEventArgs args = new AlarmEventArgs(p, t); AlarmEvent(this, args); } }Burada delegate metodumuzu tanımlıyoruz.Alacağı parametreleride belirtikten sonra da, event’i de tanımlıyoruz. Dikkat ederseniz event’in döndüreceği bilgi olarak delegate metodumuzu yazıyoruz. Yani event’i bir method ile ilişkilendiriyoruz burada. Bence Event ve Delegate konularında en önemli ve dikkat edilmesi gereken yer burası.
public static void Main() { Alarm a = new Alarm(); //Event sonuçunda çağıralacak metodu temsilci metoda tanıtıyoruz. a.AlarmEvent += new Alarm.AlarmEventHandler(a_AlarmEvent); a.Active("Banka", "02:34"); a.Active("Market", "23:04"); } //Event gerçekleştiği zaman çalışacak olan metod. static void a_AlarmEvent(object sender, AlarmEventArgs e) { Console.WriteLine("Alarm is started in "+ e.Place+" at "+e.Time); }Main fonksiyonu içinde gerekli tanımlamalardan sonra, Alarm nesnesinin Event\’ine temsilci metodun temsil edeceği metodu atıyoruz.Burası da çok önemli bir nokta. Çünkü olayın gerçekleşmesinden sonra çağırılacak fonksiyonun içeriğini burada tanımlıyoruz.Bu örnekte,ben Alarmın nerede aktif olduğunu ve saat kaçta çalıştığını konsola yazdırdım.Bu çok ama çok basit bir örnek oldu.Umarım anlaşılmış,en azından bazı şeylerin biraz daha oturmasını sağlamıştır. Her türlü soru ve fikirlerinizi thearda@hotmail.com adresine bekliyorum.
- Oct
- 21
- 2006
DirectX’e neler oluyor…
DirectX’in yeni versiyonu DirectX 10′nun çıkmasına az kaldı.Vista ile birlikte entegre bir şekilde gelecek olan yeni versiyon, eski versiyonlara göre oldukça kuvvetli.İlerleyen günlerde oldukça kapsamlı bir directX 10 yazısı burada olacak ama şu an bahsetmek istediğim ve üzüntü duyduğum bir konuyu söylemek istiyorum, o da artık Managed DirectX 2.0′ın artık olmayışı. 1 yıl önce Microsoft geliştiriciler için MDX 2.0′ı beta olarak çıkardı ve 1 yıl içerisinde bir çok revizyon ile bunu paylaştı. Ancak son çıkan DirectX October 2006 SDK’sı içerisinde artık MDX 2.0 Beta yok. Zaten beta olan bir şeyi kaldırmanın çok da önemi gözükmese de aslında geliştiriciler için çok büyük sorun çıkardı bu. Mevcut 2.0 çalışmalarımı MDX 1.1′e çevirmek gerçekten zahmetli ve sıkıcı bir iş oldu. MDX 1.1′in stable bir versiyon olması, aslında neden o varken 2.0′a geçtim gibi sorularıda bu zahmetli iş sırasında oldukça aklımı kurcaladı. Bu arada atlamadan birşey hatırlatmak istiyorum, MDX 1.1, .NET 2.0 ile beraber çalışıyor.
Peki neden böyle bir şey oldu?
XNA Framework’ü önümüzdeki aylarda,çok yakın bir zamanda çıkacak. XNA ile baya iddialı olan Microsoft, tüm DirectX geliştiricilerini sanırım bu platform altında toplamak istiyor. Fena da etmiyor aslında ama bu şekilde zahmet çıkarması biraz kafa karıştırıcı.
Özet olarak artık Managed DirectX 2.0 Beta yok.Destek de yok. Yani mevcut 2.0 uygulamalarınızı ya 1.1′e çevireceksiniz ya da XNA’e merhaba diyeceksiniz ki, Microsoft’un da istediği bu.
- Oct
- 19
- 2006
Internet Explorer 7 çıktı…
Uzun bir süredir Beta olan Internet Explorer’ın yeni sürümü çıktı.Hayırlı uğurlu olsun.
Bir önceki versiyonlarının ne kadar sakat olduğunu söylemeye pek gerek yok sanırım. Firefox gibi bir çok benzerinin popüler olması ile büyük değişikliklere giden yeni sürüm, eski sürümlere nazaran çok daha güzel gözüküyor. Göz boyama dışında arka tarafda güzel ve güvenilir bir sistem olduğu söylensede,ilerleyen günlerde i.e 7 için çıkacak service pack’lere hazır olsak iyi olur…
Download için : http://www.microsoft.com/windows/ie/default.mspx
- Oct
- 18
- 2006
Yine,yeni,yeniden…
Teknik nedenlerden dolayı site uzun bir süredir kapalıydı. Hosting şirketi ile yaşadığım bir sorundan dolayı da bütün database’imi kaybettim. Acı ama gerçek diye bir tabir vardır ya,işte aynen o olayı yaşadım. Ama yeni bir site ile yılmadan yeniden buradayım. Benzer ve daha güçlü bir sistem olan WordPress ile yola devam etme kararı aldım. Kullanımı oldukça kolay olması bazı yükleri benim üzerimden şimdiden aldı bile. Bu sayede siteye içerik olarak sanırım daha fazla katkıda bulunabileceğim.Önümüzdeki günlerde eski içeriği tam olarak koyamasamda yeni yazılar ile yine siteyi dolduracağım.Hadi bakalım ![]()
- Oct
- 16
- 2006
Windows Live Writer (Beta)
Microsoft, son zamanlarda küçük bir çok uygulama çıkarıyor. Özellikle Live kavramı duyurulduğundan beri, bu hizmet için çıkan uygulama ve hizmetler gerçekten çok hoş. Genel olarak, kullanıcıların her türlü bilgiye kolayca ulaşmasını, başka hizmetlerden faydalanmalarını kolaylaştırmayı ve denetim gücünü tamamen kullanıcıya bırakmayı hedefleyen Live hizmetlerine bir de Windows Live Writer eklendi. Peki nedir bu Windows Live Writer? Şu an bu yazıyı bu sayfaya yazmamı kolaşlaştıran bir program demek sanırım en basit tarifi olacaktır.
Windows Live Writer ile Live Space ve diğer blog hizmetlerini çok rahat bir şekilde güncelleyebiliyorsunuz. Hiç bir internet sayfası açmadan,hiç bir blog sistemine girmeden. Word tarzı editörlere aşina olanların oldukça rahat bir şekilde kullanabileceği bu program ile blog sitenizi güncellemek çok kolay.
WordPress,Blogger gibi popüler blog sistemlerine bu program aracılığı ile müdahale ediyor olabilmeniz süper bir şey. Link, resim ekleme gibi işlemler oldukça kolay ve rahat bir şekilde yapılabiliyor. Diğer Live hizmetleri ile entegre çalışması da blog’unuza Live hizmetlerini eklemenizi sağlıyor. Blog tarzı yapılar ile uğraşanların mutlaka göz atmasında fayda var,ben kullanıyorum,çok da tavsiye ediyorum…
Ayrıntılı bilgi ve download adresi:
