Xml Yardımıyla Çalışma-Zamanında Sınıflar Oluşturmak

   Microsoft Yaz Okuluna katılamayanlardan zaman zaman aldığım sitem dolu mesajlar ardından, katılımcılarla paylaştığım bazı konuları zaman zaman blogum üzerinden sizlerle de paylaşmaya karar verdim.    Bir yönetici olmak dışında, aynı zamanda (ve her zaman için) bir yazılım geliştirici olarak, yazdığım kodlarda her zaman için ileriyi düşünmeyi isterim. Her ne kadar pek çok firmada yazılım…

Kinect için Geliştirme Ortamının Hazırlanması

   Her ne kadar önceki makalemde değinmişte olsam, ayrı bir makale içerisinde geliştirme ortamının Kinect uygulamaları için hazırlanmasına değinmek sanırım faydalı olacaktır.    Öncelikle, Kinect için yazılım geliştirebilmek adına bilgisayarınızın sahip olması gereken bir grup minimum gereksinim bulunmakta. Bu gereksinimler; Windows 7 (x86 veya x64) Çift çekirdek 2.66 GHz veya üzeri işlemci Windows 7 uyumlu…

C# ile Uygulama Kurtarma

   En hatasız yazılan uygulamalar bile zaman zaman hata vererek sonlanabilir, bu hepimizin bildiği bir gerçektir. Uygulamalarımızda bir hata tespit ettiğimizde yapılacak en doğru şey, şüphesiz ki, bu hatayı düzelmek olacaktır. Peki biz bunu yapana kadar son kullanıcılar ne yaşıyorlar? Düşünün bir kere; bilgisayarınıza bir uygulama kurdunuz, pek çok işlem yaptınız; fakat işlerinizi kaydetmeden hemen…

Windows için Kinect SDK

   PDC 10’da yapılan Kinect demolarından beri beklediğim bir gelişmeydi Windows için Kinect Yazılım Geliştirme Kit’inin (SDK) beta sürümünün yayınlanması. Özellikle de MVP Summit 2010’da da birebir kullanma şansı bulduktan sonra daha da iştahla bekler olmuştum. Nihayet geçtiğimiz haftalarda beklemem sona erdi ve Kinect for Windows SDK yayınlandı. Şimdilik sadece Windows 7 sürümlerinden (x86 ve…

Asenkron Programlamada Hata Yönetimi

     Asenkron programlamanın detaylarına indiğimiz makale serisine başlarken sizlere async ve await sayesinde neredeyse aynı  senkron programlar gibi asenkron programlama yapabiliyor olduğumuzdan bahsetmiştim. Bu benzerliğe belki tek/en önemli istisna ise hata yönetimidir. Bu makalemde, asenkron programlama ile uğraşacaksanız kesinlikle bilmeniz ve dikkat etmeniz gereken, hata yönetiminin detaylarını sizinle paylaşıyor olacağım.     Asenkron programlamadaki hata yönetiminin…

await ile Seri ve Paralel İşlemler

   Sunumlarım sonrasında asenkron programlama ile uygulama geliştirenlerle yaptığım konuşmalarda gördüğüm bir yanılgıyı buradan düzeltmek isterim. Pek çok yazılım geliştirici asenkron programlama ile uygulamalarında artık her işin paralel yapılarak zaman kazanabileceklerini düşünmekte. Bu düşünce hem de doğru, hem yanlış aslına bakarsanız. Yanlış; çünkü geliştirilen asenkron uygulama varsayılan olarak paralel çalışmaz. Doğru; çünkü istersek asenkron uygulamamızın…

Async Örnekleri : İşlem İptali

   Hatırlarsanız daha önceki yazılarımda Visual Studio Async CTP ile birlikte asenkron işlemlerde biz yazılım geliştiricilerin hayatının ne kadar kolaylaşacağından bahsetmiştim. Bunu örneklemek adına bir kaç makale şeklinde paylaşmayı planladığım Async örneklerinden bu ilkinde sizlere başlattığınız bir asenkron işlemi nasıl iptal edebiliyor olduğumuzu gösteriyor olacağım.    Aslına bakarsanız C# 4.0 ile birlikte gelen paralel kütüphanesini…

Async CTP Güncellemesi : Daha verimli bir await

   Hatırlarsanız bir süre önce size Visual Studio Async CTP‘nin çıkışını duyurmuştum, tabi ki bunun bir topluluk teknik ön izleme olduğunun da altını çizerek. Teknik ön izlemeler  gelişmeleri yakından takip eden yazılım geliştiricilere gelecekte şekillenecek olan teknolojileri inceleme fırsatı vermekte; ama unutmamak gerekir ki kesinlikle ilgili teknolojinin son hali değillerdir. Async CTP’de tabi ki buna…

Hata Yönetiminin İş Mantığı Olarak Kullanımı

   Yazgeliştir Asp.Net web forumlarında Request.QueryString’in null gelmesi ile başlayan bir hata hakkında gelen soru farkında olmadan beraberince çok güzel bir konuyu açtı; hata yakalamanı/fırlatmanın iş mantığı olarak kullanımı. Gelen ilk öneri aslında teorik olarak kötü bir öneri değildi; query string okuması yapılan bölümün try-catch bloğuna alınarak boş değer gelmesi durumunda hatanın uygulamayı etkilemesinin önüne…