2006 ve 2007 yillarinda C# kategorisinde MVP ünvanina layik görülen Burak Selim Senyurt 2008 yilinda Connected System Developer kategorisinde yeniden MVP seçilmistir. Aslen Matematik Mühendisi olan Senyurt pek çok sirkette yazilim gelistirici olarak görev almis Delphi, C++ ve .Net platformu tabanli projeler gelistirmistir. Uzun yillar Netron bünyesinde yazilim egitmeni olarak görev almis olan Senyurt, 2004 yilindan beridir C#Nedir? editörüdür. Bilgilerini makaleler, webcast' ler ve seminerler ile paylasmaya çalisan Senyurt' un su ana kadar .Net üzerine yazilmis 250' den fazla makale ve 60' tan fazla görsel dersi bulunmaktadir. Senyurt ayni zamanda isletme alaninda yüksek lisans derecesine sahiptir ve INETA MEA konusmacilarindandir.E-posta: selim(at)bsenyurt.comWeb Site: www.buraksenyurt.com
Bu görsel dersimizde, WCF Eco System' in bir parçası olan WCF Data Service' lerinde Projections sorgularının nasıl kullanılabileceğini incelemeye çalışıyoruz. Aslında kod adı Astoria olan Ado.Net Data Service' lerin 1.5 CTP2 sürümünde de duyurulan bu yetenek, zaten .Net Framework 4.0 içerisine gömülü olarak gelen WCF Data Service' ler için standartlaştırılmış bir özellik...
Elimizdeki materyaller bir WCF Service, Asp.Net Web Uygulaması ve AJAX. Bunları bir arada düşündüğümüzde ise karşımıza AJAX Enabled WCF Service kavramı çıkıyor. AJAX Destekli WCF Servislerinde herhangibir servis operasyonu çağrısında, servisi çağıran web sayfasının tamamının sunucuya gönderilmemesi imkanı kazanılmaktadır. AJAX Destekli WCF Servislerinin kullanıldığı pek çok senaryo söz konusudur. En basit haliyle otomatik metin tamamlama kabiliyetine sahip kontroller için bu teknikten yararlanılabilir. Bizde görsel dersimizde konu olarak bebek adlarını(Baby Names) ele almaya çalışacağız. Upss!!! Bebek Adları mı? :) İzleyelim ve görelim.
Bu görsel dersimizde WF 4.0 aktivite bileşenlerinden birisi olan Switch kontrolünü incelemeye çalışıyoruz. Konu ile ilişkili örneğimizde, geliştirici tanımlı bir sınıfın Enum sabiti tipinden olan özelliğininin, Switch bileşeni tarafından nasıl ele alındığını değerlendiriyoruz.
Bu Webinerimizde C# 4.0 ile birlikte gelen ana yeniliklere değinilmektedir. Bu amaçla, Dynamic Language Runtime, dynamic keyword, named ve optional parameters, COM Interop genişletmeleri ve Co-ContraVariance Generics gibi yenilikler ele alınmakta ve kısaca incelenmektedir.
Bu Webinermizde, .Net 4.0 içerisine gömülü olarak gelen paralel programlama(Parallel Programming) alt yapısını incelemeye çalışacağız. Demolarımızda Task Parallel Library, PLINQ gibi konulara ait örnekler geliştireceğiz.
Bu webinerde; çok katmanlı(N-Tier) model üzerinde geliştirilmek istenen Zengin Internet Uygulamalarının(Rich Internet Applications) sunucu üzerinde duran veri kaynaklarına olan erişiminde, uygulama mantığının(Application Logic) sunum(Presentation) ve orta(Middle) katmanda kolay ve etkili ele alınabilmesini sağlayan, WCF alt yapısı üzerine kurulmuş RIA Services konusunu incelemeye çalışıyoruz.
Web uygulamalarının Stateless olmaları nedeniyle, istemcilerin sayfalar arasında gezerken takip etmek istedikleri verileri kolayca taşıyabilmeleri için ele alınan yöntemlerden birisi de Session kullanımıdır. Sunucu tarafında Session içerikleri 3 farklı şekilde yönetilebilmektedir. Varsayılan olarak In-Proc mod geçerlidir. Yani Asp.Net Worker Process tarafından web uygulamasına ait bellek alanında saklanmaktadır. Ancak Web Farm kullanıldığı vakalarda Session bilgilerinin arka tarafta yer alan başka sunucularda yönetilmesi de sağlanabilir. Bu noktada Sql veritabanı veya State Server isimli Windows Service seçenekleri geçerlidir. Özellikle In-Proc dışında kullanılan modlarda serileşen içeriğin çok büyük boyutlarda olmasına karşın Asp.Net 4.0 ile birlikte sıkıştırılabilme opsiyonunun getirildiği görülmektedir. Bunun için Web.config dosyasında yapılacak küçük bir ekleme yeterlidir.
Yazılımcıların gerçek hayattaki en önemli yardımcılarından ve vazgeçilmezlerinden biriside geliştirme ortamlarıdır(IDE). Microsoft, Visual Studio ürün ailesini her versiyonda geliştirerek yazılımcıların .Net Framework alt yapısını en etkili şekilde kullanabilmesini sağlamaya çalışmaktadır. Bu görsel dersimizde Visual Studio 2010 Beta 2 sürümü ile geliştiricinin hayatlarını kolaylaştıran yedi basit özellik incelenmektedir. (Highlight Reference, Navigate To,View Call Hierarcy,Asenkron Reference Dialog Penceresi,Intellisense Geliştirmeleri,Zoom,Text Selection)
Özellikle çevik(Agile) süreçlerde kullanılan önemli tekniklerden biriside Test Güdümlü Geliştirme(Test Driven Development) dir. Bu tekniğin ana fikri ise Red-Green-Refactor kelimelerinden oluşmaktadır. Herşey bir test geliştirilerek başlar. Testin öncelikle başarılı olmaması(Fail) hedeflenir. Bu Red olarak isimlendirilen adımdır. Sonrasında testten geçebilmek(Pass) için gerekli adımlar miminum kod eforu sarfedilerek gerçekleştirilir ki buda Green isimli adım olarak adlandırılmaktadır. Green adımı ile test başarılı bir şekilde geçildikten sonra kodun yeniden düzenlenmesi(Refactor) işlemleri yapılır. Tüm bu işlemlerin sonucunda testlerden başarı ile geçmiş ve amaca yönelik tüm kodlamaları içeren bir ürün oluşmaktadır. İşin ilginç olan noktalarından birisi de, geliştirmeye konu olan tiplerin(Types) ve üyelerinin(Members->Fields,Properties,Methods...) testi yazarken ortaya çıkmasıdır.
Ado.Net Data Services 1.5 CTP2 ile birlikte gelen yeniliklerden biriside sunucu tarafındaki verilerin sayfalanarak(Paging) gönderilebilmesidir. Asp.Net Web uygulamalarında sıklıkla kullandığımız sayfalama tekniğinin bir benzeri olarak düşünüldüğünde, istemci ve sunucu tarafında belirgin performans kazanımlarına neden olan bir özelliktir. Nitekim büyük çaplı verilerin bir bütün halinde ve hemen her istemci talebi sonrasında ilgili veri kaynağından(Entity Framework ve Custom LINQ Provider üzerinden) çekilmesi hem sunucu tarafında fazladan iş yüküne neden olmakta hemde istemci tarafına çok büyük boyutta veri akmasına neden olmaktadır. Kullanımı son derece kolay olan bu özelliği incelediğimiz görsel dersimizde SQL Profiler aracından da yararlanarak arka planda çalıştırılan sorguları analiz etme şansına da sahip olacağız...