30 Kasım 2007

PC Magazine Aralık Sayısındaki Yazım

pcmagazine_aralikPC Magazine Aralık sayısı bayilerde!

Bu sayıda da ASP.NET AJAX ile Resim Slayt Gösterisi Hazırlamak konulu bir yazı hazırladım. UpdatePanel ve Timer kontrolünü kullanarak sıfırdan bir resim slaytının nasıl hazırlanacağı konusundaki bu yazımı ve birbirinden değerli yazıları okumak için PC Magazine'in Aralık ayını satış noktalarından temin edebilirsiniz. Bu ay ki sayıda yazı dışında küçükte bir süprizim var! Dergi ile birlikte temin edeceğiniz DVD'de ASP.NET ile ilgili hazırlamış olduğum üç tane görsel derste bulunmakta. Kaçırmayın derim :)

Aralık sayısının içeriğini görmek için buraya tıklayabilirsiniz.

21 Kasım 2007

Visual Studio 2008 ve ASP.NET 3.5 Sunumları

Dün Fatih Üniversitesi'ndeki seminer ve bugün düzenlediğimiz webinerleri başarılı bir şekilde tamamladık. Katılımların yoğun şekilde gerçekleştiği bu etkinliklerde ilk kez Visual Studio 2008 ve ASP.NET 3.5 ile birlikte gelen yenilikleri katılımcılarla paylaştık. Önümüzdeki günlerde diğer üniversitelerde de bu tip etkinlikleri düzenlemeye devam edeceğiz.

Aşağıda seminerlerde kullandığımız sunum dosyalarını bulabilirsiniz.

Visual Studio 2008
ASP.NET 3.5

Aşağıda da Fatih Üniversitesi seminerinden iki kare bulunmakta.

19 Kasım 2007

Visual Studio 2008 ve ASP.NET 3.5 Webineri

21 Kasım 2007 Çarşamba günü saat 10.00 - 12.00 arasında internetten canlı olarak yayınlanacak webinere (web seminerine) davetlisiniz. Türkiye'de yapılacak bu ilk Visual Studio 2008 ve ASP.NET 3.5 webineri ile bu ayın sonunda çıkacak yeni teknolojileri görme fırsatı bulabilirsiniz.

Webiner ile ilgili bilgiler aşağıdadır:

Konuşmacılar:
Burak BATUR (MS Akademik Editörü)
Uğur UMUTLUOĞLU (MS Akademik Editörü)

Tarih: 21 Kasım 2007 Çarşamba
Saat: 10.00 - 12.00

Katılım Adresi: https://www112.livemeeting.com/cc/microsoft/join?id=MSAkademik_VS2008&role=attend&pw=MSAkademik

Meeting ID: MSAkademik_VS2008
Attendee Entry Code: MSAkademik

Fatih Üniversitesi Seminerleri

20 Kasım 2007 Salı günü ben, Burak Selim Şenyurt ve Burak Batur gerçekleştireceğimiz sunumlarla Fatih Üniversitesi öğrencileriyle birlikte olacağız. Bu etkinliğin belki de en önemli yönü Türkiye'de Visual Studio 2008 ve ASP.NET 3.5 konularında yapılacak ilk seminer olması!

Saat 12.00-15.30 arasında gerçekleşecek seminerlerin programları aşağıdadır.

12.00 - 13.00: Yazılımda Kariyer (Burak Selim ŞENYURT)
13.00 - 13.50: Visual Studio 2008 (Burak BATUR)
14.00 - 15.30: ASP.NET 3.5 (Uğur UMUTLUOĞLU)

Fatih Üniversitesi İstanbul Büyükçekmece Kampüsünde Kırmızı Salon A-351'de gerçekleşecek oturumlara katılımlarınızı bekliyoruz.

14 Kasım 2007

Gençsen Geleceksin


GNCTRKCLL ve Microsoft İşbirliğiyle Türkiye Teknoloji Turu Başladı !!!
Gençler ve teknoloji severlerin geleceğin teknolojilerine vizyonel bir bakış açısı ile bakmalarını sağlamayı amaçlayan yarım gün sürecek etkinlikler içerisinde mobil teknolojilerden, internetin geleceğine kadar geniş bir yelpazedeki içerik, konusunda uzman konuşmacılar tarafından gerçekleştirilecektir. 30 farklı etkinlik siz teknolojistleri bekliyor...

12 Kasım 2007

Static Metotlarla AJAX Sayfalarını Daha da Hızlandırın!

ASP.NET AJAX istemci ve sunucu merkezli çalıştığı için mimarisi gereği sayfada asenkron postback işlemi başlatsak dahi sunucu tarafında sayfamızın yaşam döngüsü tam olarak çalışmakta ve sayfa baştan itibaren üretilmekte, fakat istemciye sadece UpdatePanel'in içeriği gönderilmektedir. Bu işleyiş aslında kötü bir durum gibi gözükse de ASP.NET sayfa mimarisi açısında gerekli bir işlemdir ki; çoğu noktada faydalarını da görebiliriz. Olayın diğer tarafına bakacak olursak sayfanın sunucu tarafında baştan üretilmesi biraz da olsa yavaşlığa sebep olacaktır. Eğer sayfanızda bir kontrolün içeriğini asenkron olarak güncellemek ve bu işlemi hızlı bir şekilde yapmak istiyorsanız sunucu tarafında çalışacak static metotlar oluşturarak istemci tarafında hazırlayacağınız basit JavaScript fonksiyonlarıyla da asenkron güncelleme işlemini gerçekleştirebilirsiniz. Metot static olduğu için sunucuda sayfanın nesne örneği üretilmeden de çağrılabilir bir metot olacaktır. Metot ile ilgili en önemli husus ise System.Web.Services isim alanı altındaki WebMethod niteleyici (attribute) sınıfını uygulaması gerekeceğidir. Böylece istemcide hazırlanan JavaScript fonksiyonu bu metodu asenkron olarak çağırabilecektir. Metot HTML içeriği güncelleyeceği için string değer döndürmelidir. Aşağıda sayfamızın code-behind kısmına yazabileceğimiz örnek metot bulunmaktadır.

[System.Web.Services.WebMethod]
public static string KareKok(int sayi)
{
    return Math.Sqrt(sayi).ToString();
}

Gelelim istemci tarafında yapacaklarımıza. Burada en ilgi çekici durumlarımızdan birisi UpdatePanel'e ihtiyaç duymadan da bu işlemi yapabilmemiz. Bir diğer ayrıntımız ise ScriptManager ile ilgili. Sunucu tarafında yazılmış WebMethod attribute'unu uygulayan static metodu çağırabilmemizi sağlayan PageMethods isimli JavaScript fonksiyonunu kullanabilmek için ScriptManager'ın EnablePageMethods özelliğini true olarak ayarlamamız gerecektir. Yine istemci tarafında çalışacağımız için sunucu kontrolleri yerine HTML kontrolleri kullanmamız da herhangi bir sakınca yok. İstemci tarafında hazırladığım kodları aşağıda görebilirsiniz.

<head runat="server">
    <title>Untitled Page</title>
    <script language="javascript">
        function AsenkronMetotCagir()
        {
            // Sunucudaki static metodu çağırıyoruz. Sonucu IslemBitti metoduna iletiyoruz
            PageMethods.KareKok(form1.txtSayi.value, IslemBitti);
        }

        function IslemBitti(deger)
        {

            // İşlemin sonucunu sonuc adındaki span etiketine yazdırıyoruz
            document.getElementById('sonuc').innerHTML = deger;
        }

    </script>
</head>
<body>
<form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />
    <input type="text" id="txtSayi" />
    <input type="button" value="Karekök Bul" onclick="AsenkronMetotCagir();" />&nbsp;<br />
    <span id="sonuc"></span>
</form>
</body>

Bu şekilde sunucu tarafında sayfanın baştan üretilmesine gerek kalmadan çok daha hızlı bir şekilde asenkron güncelleme işlemleri yapabilmekteyiz. Buradaki en büyük sıkıntılarımızdan birisi ise HTML kodunu kendimizin oluşturması gerekeceğidir. Eğer gridview, detailsview gibi kompleks bir kontrolün çıktısını elde etmek istiyorsak ilgili kontrolleri programatik olarak oluşturup RenderControl metodu ile de HTML çıktılarını istemciye yine static metot aracılığıyla gönderebiliriz.

09 Kasım 2007

Yazılım Dünyasında Yeni Bir Soluk: turkaspx.net

Geçtiğimiz günlerde değerli iş arkadaşlarım ve hocalarım Burak Selim Şenyurt, Emrah Uslu, Burak Batur ve ben www.turkaspx.net adresinde yeni bir günlük açtık. Yoğun bir çalışma sonucunda blogumuz yeterli içeriğe kavuştu ve artık buradan da sizlere duyurusunu yapmak istedim.

turkaspx.net olarak amacımız başta ASP.NET olmak üzere Microsoft teknolojileri hakkında teknik konularda bilgi birikimimizi ve deneyimlerimizi sizlerle paylaşmaktır. Blog sitemizde paylaşacağımız konularla kısa bir süre içerisinde Türkçe içerikli dev bir arşiv oluşturmayı, bir .NET yazılımcısının ihtiyacı olabilecek bir çok konuyu bu çatı altında toplamayı hedefliyoruz.

Yazılım geliştiriciler için faydalı bir kaynak olması dileğiyle, www.turkaspx.net hayırlı uğurlu olsun diyorum.

06 Kasım 2007

Visual Studio 2008 ve .NET Framework 3.5 Bu Ay Resmen Duyruluyor

Ve beklenen haber resmen duyruldu. Microsoft, kasım ayı içerisinde Barcelona'da gerçekleşecek olan Microsoft TechEd Developers 2007 etkinliğinde kod adı Orcas olarak bilinen Visual Studio 2008 ve .NET Framework 3.5 sürümlerini resmen duyuracağını ve release edeceğini duyurdu. Ayrıntıları bu linkteki haberden okuyabilirsiniz.

ASP.NET 3.5 ile Gelen Yenilikler

Önümüzdeki günlerde resmen duyrulacak olan Visual Studio 2008 ve .NET Framework 3.5 ile birlikte ASP.NET'te 3.5 sürümüne ulaşmış olacak. Öncelikli olarak şunu belirtmeliyim ki bu sürümde ASP.NET 1.1'den ASP.NET 2.0'a geçişteki gibi köklü yenilikler olmayacak. Fakat gelen yenilikler içerisinde AJAX ve LINQ'nun olduğunu belirtecek olursak aslında bizi oldukça önemli yeniliklerin de beklediğini söyleyebilirim. Dikkatimi çeken noktalardan biri ASP.NET Futures paketi ile gelen bazı kontrollerden şu an için Microsoft'un sitesinde bahsedilmemesiydi. Önceki postumda yer alan .NET Framework 3.5 Namespace ve Class'ları listesinde de yer almayan bu kontroller sanırım başka bir bahara bırakıldı. ASP.NET 3.5 ile gelecek yenilikleri aşağıdaki başlıklarla sizlere aktarmaya çalışacağım.

ASP.NET AJAX Entegrasyonu
ASP.NET AJAX, ASP.NET ortamında hızlı ve kolay bir şekilde AJAX uygulamaları geliştirmemizi sağlayan ücretsiz bir AJAX framework'üdür. ASP.NET 2.0'ın ardından duyrulan ve bu yılın başında resmi sürümü çıkarılan AJAX Extension'ları ASP.NET 3.5 ile mimariyle bütünleşik şekilde geliyor. Visual Studio 2008'de açılan ASP.NET 3.5 web uygulamasında AJAX Extension kontrollerini kullanarak hızlı şekilde AJAX uygulamaları geliştirebiliyoruz. Bu sürümü ile birlikte bazı eksiklikler ve sorunlar giderilerek artık ASP.NET AJAX'ın sunucu kontrolleriyle tam uyumlu şekilde çalışması da sağlanıyor. Visual Studio 2008 ile birlikte Control Toolkit'te yer alan kontrollerin varolan sunucu kontrollerine çok kolay şekilde entegre edilebilmesi de işimizi kolaylaştıracak bir yenilik olarak göze çarpıyor.

LINQ (Language Integrated Query)
.NET Framewrok 3.5 ile birlikte artık web uygulamalarında da Linq hayatımıza girecek. Linq dil ile bütünleşik olarak sorgulamalar yapmamızı sağlayan bir query şeklidir diyebilirim. Veritabanında SQL query'leri kullanarak nasıl sorgulamalar yapıyor ve sorgu sonucunu elde edebiliyorsak, artık C# veya VB.NET gibi bir dil ile de uygulama içerisindeki bir nesnenin içeriği ile ilgili SQL sorgu cümlelerine benzer şekilde sorgulamalar gerçekleştirebileceğiz. ASP.NET 3.5 ile gelen kontrollerden biri olan LinqDataSource kontrolü de bu tip sorgulamaların sonucunu bir veri kontrolüne (GridView, DataList gibi) bağlayabilmemizi sağlıyor.

ListView ve DataPager Kontrolleri
LinqDataSource
kontrolü dışında ListView ve DataPager adında iki yeni kontrol daha geliyor. ListView veri ekleme, güncelleme, silme, sayfalama gibi işlemleri yapabilen ve GridView kontrolüne oldukça benzer bir kontrol. GridView'daki en büyük sıkıntılarımızdan biri görüntülenecek olan verilerin HTML arayüzlerini tasarlamakta karşılaştığımız sorunlardı. ListView kontrolü ise yapısındaki template'ler aracılığıyla verilerin görüntüleneceği arayüzün HTML kodlarını dilediğimiz gibi oluşturabilmemizi sağlıyor. DataPager kontrolü ise ListView ile yapılan işlemlerde kayıtların esnek şekilde sayfalandırılması işleminde kullanılıyor. Bu kontrolün yaptığın temel işlemin sayfalama kısmının ne şekilde görüntüleneceği ve çalışağını belirlemek olduğunu söyleyebilirim. Örneğin sayfa numaralarının görüntüleneceği kısma bir TextBox kontrolü ekleyip yazılan numaradaki sayfaya gidilmesi işlemini DataPager kontrolü ile oldukça kolay şekilde gerçekleştirebiliyoruz.

Web Servislerinde WCF Desteği
Web servisleri artık .NET Framework 3.0 ile gelen WCF (Windows Communication Foundation) desteği ile geliştirilebiliyor. JSON kullanılan AJAX uygulamalarında ve RSS kaynaklarından veri sağlanması gibi işlemler artık WCF ile daha da kolay şekilde gerçekleştirilebilecek.

05 Kasım 2007

.NET Framework 3.5 ile Gelen Yeni Namespace ve Class'lar

Sevgili arkadaşım Daron YÖNDEM'in blogunda az önce gördüğüm güzel bir posteri sizlerle paylaşmak istedim. .NET Framework 3.5 sürümünün resmen duyrulmasına sayılı günler kaldı. Çoğu programcı bu sürüm ile birlikte gelecek yenilikleri büyük bir heyecanla bekliyor. Heyecanımızı biraz yatıştırmak adına, aşağıdaki linkte bulunan liste ile masaüstümüzü, evimizin veya ofisimizin duvarlarını süsleyebiliriz.

02 Kasım 2007

Sakarya Üniversitesi Seminerinin Ardından

Dün Sakarya Üniversitesi'nde ASP.NET 2.0 seminerini gerçekleştirdik. ASP.NET 2.0 ile birlikte gelen birçok yeniliği örnek çalışmalarla birlikte seminere katılan yaklaşık yüz kişiyle paylaşma şansım oldu.

Sakarya'yı ilk ziyaretimdi ve Sakarya ile ilgili oldukça güzel izlenimlerim oldu. Sakarya Üniversitesi'ndeki öğrenci arkadaşların özellikle misafirperverliği beni onlara karşı mahçup bıraktı diyebilirim. Başta Halime ÖZSOY ve Mustafa EKİCİM olmak üzere tüm Sakarya Üniversitesi Bilgisayar Kulübü üyelerine teşekkürlerimi buradan da sunmak istiyorum.

Aşağıdaki linklerden seminerde kullandığım sunum dosyasını ve örnekleri bulabilirsiniz.
ASP.NET 2.0 - Sunum
Örnekler

ASP.NET Seminerim SilverLight Showcase'de

Değerli hocam M.Yaşar ÖZDEN'in özverili çalışmaları sonucunda Microsoft SilverLight'in resmi sitesinde artık ülkemizin de bayrağı bulunuyor. Geçtiğimiz haftalarda ODTÜ'de gerçekleştirdiğim ve SilverLight teknolojisi ile internetten de canlı olarak yayınladığımız seminerin yer aldığı SİlverLight uygulaması SilverLight'ın resmi sitesinde ki örnekler arasında yer alıyor. http://silverlight.net/showcase/ sitesinde sol kısımdaki Geography linkinden bayrağımıza tıklayın ve izleyin.