Visual Studio ve TFS 2010 SP1 Beta'ları Hazır

8. Aralık 2010

Brain Harry dün akşam saatlerinde blogundan yayınladığı detaylı bir yazı ile Visual Studio 2010 ve TFS 2010 için SP1 Beta'ların hazır olduğunu duyurdu.

Müşterilerden gelen ve kendilerinin buldukları 900 ile 1000 arasında bug'ın çözüldü, yeni bazı özelliklerin geldiği SP1'in de yakında yayınlanması bekleniyor. Ancak SP1, "Go Live" lisansı ile geliyor, yani üretim (canlı) ortamına yüklenebilir ve SP1'in nihai sürümü çıktığı zaman da kolayca nihai sürüme yükseltilebilir demek.

İlk aşamada MSDN abonelerine açılan indirme bağlantıları, Perşembe günü de diğer müşterilere açılacak.

MSDN üyesiyseniz buraya tıklayarak ilgili indirmelere ulaşabilirsiniz.

MSDN üyesi değilseniz aşağıdaki linkler Perşembe günü aktif olacak.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

TFS, TFS, Visual Studio, Visual Studio, Duyurular, Duyurular , , , , , , , , ,



Microsoft'tan Ücretsiz E-Book'lar

6. Aralık 2010


SQL Server 2011 - Code Name "Denali"

3. Aralık 2010

SQL Server'in 2011 sürümü 'Denali' - Community Technology Preview 1 (CTP1) Evaluation Edition çıktı. 

SQL Server kod adı "Denali" yüksek ulaşılabilirlik, daha çok esneklik, kullanım kolaylığı , düşük sahip olma maliyeti ve en kritik uygulamaların gerektirdiği performansı sağlıyor.

Download etmek için tıklayınız
Yükleme ve Gereksinimleri - MSDN Library 

Release Notes a ulaşmak için tıklayınız

MSDN Forumlarından alınmıştır

 

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

SQL Server , ,



Silverlight 5

3. Aralık 2010

Scott Gu, dün yaptığı açıklamada Silverlight'ın geleceğine dair önemli bilgiler açıkladı. Bunlardan en önemlisi ise Silverlight 5 oldu.

Kısa zamanda çok hızlı bir gelişme gösteren Silverlight'ın yeni versiyonunun ilk betası 2011 yılının ilk yarısında çıkması beklenirken, gerçek sürümünün ise ikinci yarıda 40'tan fazla yeni özellikle birlikte gelmesi bekleniyor.

Konu hakkında daha detaylı bilgi almak için Scott Gu'nun keynote sunumunu buradan izleyebilirsiniz.

Scott Gu'nun blog yazısına ulaşmak için buraya tıklayınız

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Silverlight , ,



Kod Örnekleri: All-In-One Code Samples

1. Aralık 2010

Yeni bir ortamda yazılım geliştirirken, kitaplar ve internet sitelerinden belki daha fazla yardımcı olan daha önce bu ortamda geliştirilmiş örnek kodlardır. Bu kodlara bakarak ve kodları inceleyerek hızlı şekilde iş yapış şekilleri öğrenilebilir. Hele bu kodlar, Microsoft Community takımı tarafından yazılıyorsa; ortamı ve yöntemleri daha doğru öğrenmeniz mümkün..

Bu konuda Microsoft Community takımının desteklediği All-In One Code Framework isimli bir uygulaması var. Microsoft'un yazılım geliştirilebilen neredeyse tüm ortamlarında örnek kodlar yayınlıyorlar.

Aşağıda linklere tıklayarak ilgilendiğiniz alandaki örnek kodlara ulaşabilirsiniz.

Microsoft Community takımı geliştireceği yeni kodları da sizin taleplerinize göre belirliyor, dolayısı ile siz de yeni örnekleri talep edebiliyorsunuz. Ya da siz de yazdığınız örnek kodları kendilerine göndererek yayınlanmasını sağlayabiliyorsunuz.

Düzenli olarak kontrol edilmesi gereken bir kaynak...

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Duyurular, General ,



Visual Basic .Net ile Windows Phone 7 Uygulamaları Geliştirmek Artık Mümkün!

1. Aralık 2010

Windows Azure'dan sonra bu sene yapılan PDC'10 da en çok konuşulan konulardan biri olan Windows Phone 7, Microsoft'un yüzünü şimdilik güldürüyor ve geleceğe dair umutlar veriyor.

Yazılımcılar çoktan bir çok yazılım geliştirip Marketplace'e eklemeye başladı; ancak bu yazılımcılar şu ana kadar sadece C# geliştiricilerdi. Çünkü WP7 için VB.Net ile yazılım geliştirilemiyordu. Ancak artık mümkün...

Visual Basic for Windows Phone Developer Tools - RTW sürümünü indirmek için tıklayınız.

2 kişi tarafından 3.0 olarak değerlendirildi

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Duyurular, Mobile & WP7 , , , ,



LightSwitch ile Hızlı Yazılım Geliştirin

30. Kasım 2010

Microsoft'un, programlama dilleri, framework'leri ve IDE'leri öğrenmek istemeyen; sadece işe odaklanıp en kısa sürede ortaya uygulama çıkartmak isteyenlere yönelik hazırladığı LightSwitch gittikçe yaygınlığını arttırmaya başladı.

MSDN Blog'larındaki harekete bakacak olursak yakın gelecekte önemi daha da artacak gibi görünen LightSwitch'i öğrenmek isterseniz yeni Developer Center'ı ziyaret edebilirsiniz.

Güncellenen ve yeni eklenen "How Do I?" videoları sayesinde çok daha hızlı şekilde kendinizi geliştirebilirsiniz.

Güncelenen LightSwitch Developer Center'a ulaşmak için tıklayınız.

 

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Duyurular, General



Windows Azure 1.3 SDK Yayınlandı

30. Kasım 2010

Son zamanlarda adından sık sık söz ettiren ve Microsoft'un PDC'10'da da görüldüğü üzere oldukça ilgi gösterdiği Windows Azure'un 1.3 versiyonunun SDK'sı yayınlandı.

Gelen yenilikleri buradan okuyabilirsiniz.

SDK'yı indirmek için tıklayınız.

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Duyurular, General , , ,



Visual Studio 2010 Architecture Tools - VI

28. Kasım 2010

Layer (Katman) Diyagramları

Visual Studio 2010 Architecture Tools ile gelen diyagramların sonuncusu Layer (Katman) Diyagramlarıdır.

Yazılım ile belli bir süreden fazla uğraşan herkes katmanlı mimarileri duymuştur, özellikle üç katmanlı mimari son derece popülerdir. Mimarisel anlamda katmanlar, bir arada uygulamanın sağlıklı bir şekilde çalışmasını sağlayan; ancak birbirinden görev (genelde göreve göre ayrılırlar) bakımdan ayrılarak özelleşen yapılardır. En bilinen katmanlar, UI (User Interface - Kullanıcı Arayüzü), Business Layer (İş Katmanı), DAL (Data Acess Layer - Veri Erişim Katmanı). Bu katmanlar isimlerinden de anlaşıldığı işler için özelleşmiş durumdalar ve aralarında belli bir ilişki bulunuyor. Örneğin kullanıcı arayüzü katmanının amacı sadece kullanıcıya bilgileri göstermek ve kullanıcıdan gelen bilgileri diğer katmanlara iletmek ya da iş katmanının amacı veri erişim katmanından aldığı verileri işleyip kullanıcıya göstermek için kullanıcı arayüzü katmanına iletmek veya tam tersi bir işlemi yürütmek. Bu tür katmanların oluşmasının temel bir sebebi vardır, her bir katman kendine ait görevi yürütürken, aralarında kurulan ilişkinin dışına çıkmaz. Örneğin kullanıcı arayüzü katmanı kesinlikle, doğrudan veritabanına ulaşmaz; çünkü bu iş veri erişim katmanının görevidir.

Katmanlı mimari basitçe yukarıda anlatılan gibidir; ama çok daha detaylıdır. Bu konuda Cenk Çağlar'ın Katmanlı Mimari Nedir? yazısına veya Wikipedia'daki Multitier Architecture maddesine bakabilirsiniz.

Katman diyagramları da Visual Studio 2010 ile geliştirdiğiniz uygulamaların katmanlarını tasarlamanızı ve en önemlisi oluşturduğunuz mimarinin doğru şekilde uygulandığını kontrol etmekte kullanılır.

Katman Diyagramları Oluşturmak

Katman diyagramlarını tam manası ile kullanabilmek için kod projeleriniz ile aynı solution içinde bulunan bir Modelling Project içinde bulunmalıdır.Önceki yazılarımızda tasarladığımız HERA IK sistemi örneğinden devam edecek olursak, artık tasarımlarımızı koda dönüştürmek için HERA isimli bir solution oluşturuyoruz. Daha sonra bu Visual Studio'nun Architecture menüsünde bulunan New Diagram'a tıklayınız. Açılan ekrandan Layer Diagram'ı seçiniz ve bir isim veriniz.

İsim verdikten sonra "OK" düğmesine basarak devam ediniz. Yeni bir proje oluşturma penceresi açılacak ve sizden Modelling Project için bir isim girmenizi isteyecek. İsim girip OK düğmesine basınız. Böylece hem katman diyagramınız oluşacak hem de solution'ınız için bir tane Modelling Project oluşacak.

Katman Diyagramına Katman Tanımlamak

Bir katman diyagramında katmanlar, yukarıdaki ekran görüntüsünden de görülebileceği üzere mavi dikdörtgenler şeklinde ifade edilir. Bizim sistemimizde temelde üç tane katman olmasını planladığımız için üç tane mavi dikdörtgen görülüyor. Henüz bu katmanlar ile herhangi bir kod ilişkilendirilmediği için bunlar "unlinked" durumundalar.

Katman diyagramına artifact (artifact kelimesi benim bir türlü tam manasıyla tercüme edemediğim bir kelime. sözlük anlamıyla "insan eliyle yapılmış şey" olsa da, burada ifade edilen anlamı yazılan kod, sınıf, kütüphane, kontrol vs..) eklemenin birden fazla yolu vardır.

  • Solution Explorer: Solution explorer'dan sürükleyip katman diyagramına bırakacağınız bir kod veya proje kendine ait bir katman içerisinde görünür. Ayrıca tıklandğında ilgili koda gidilmesi için aralarında bağlantı olur.
  • Architecture Explorer: Architecture Explorer'da bulunan elemanlardan namespace gibi katman diyagramına konabilecek nesneleri, sürükle bırak yöntemi ile katman diyagramına ekleyebilirsiniz.
  • Dependency Graphs: Dependency Graphs'te bulunan elemanlardan da sürükle bırakla katman diyagramına eleman ekleyebilirsiniz.

Katman diyagramına tek tek artifact'lar ekleyebileceğiniz gibi, birden fazla elemanı da topluca seçip ekleyebilirsiniz. Böyle bir durumda tüm artifact'lar tek bir katman içerisinde gruplanacaktır.Eğer yine de tüm artifact'ların her biri için ayrı gruplar oluşması isteniyorsa SHIFT tuşuna basılması gerekiyor.

Katman diyagramına önceden katmanları çizip, sonradan artifact'ları içine sürükleyip bırakabilirsiniz. Sürükleyip bıraktığınız zaman artifact ile katman arasında bir bağlantı oluşur.

Diyagramınızdaki katmanalara, artifact'lar eklediğiniz zaman sağ üst köşelerinde sayılar göreceksiniz. Bu sayılar o katmana bağlanmış olan artifactların sayısını gösterir. Örneğin yukarıdaki örnek için hazırladığım HERA isimli web uygulamasını HERAUI katmanına, HeraBusinnessServices WCF servisini HeraBusinnessSerives katmanınına ve HeraDAL kütüphanesini ise HeraDAL katmanına sürükleyip bıraktığım zaman hepsinde aşağıdaki gibi 1 sayısı görünecektir.

Peki katmanların içine sürükleyip bıraktığımız yani ilişkilendirdiğimiz artifactları nasıl görebiliriz? Bu özelliği bize Layer Explorer sağlayacak.

Layer Explorer

Layer Explorer katmanlarla ilişkilendirilmiş olan artifactların gösterilmesini sağlar. Layer Explorer'ı açmak için herhangi bir katmana sağ tıklayıp açılan menüden "View Links" seçeneğine tıklayarak Layer Explorer'ı açabilirsiniz.

Eğer katman diyagramında boş bir yere tıklarsanız yani hiç bir katman seçili olmazsa, Layer Explorer katman diyagramındaki tüm katmanları ve bu katmanlara bağlı artifact'ları listeler. Ayrıca Layer Explorer, katmanlarla ilişkilendirilmiş artifactların düzenlenmesini de sağlar. Yani bir katmandan artifact silebilir, artifact'ı taşıyabilir ya da bir artifact'ı birden fazla katmana ekleyebilirsiniz.

Katmanlar Arası Bağımlılıklar

Katman diyagramının amacı tabi ki sadece artifact'ları gruplamak değildir; temel amaç bu katmanlar arasında bağımlıklar tanımlamak ve bunları kontrol altında tutmaktır. Burada bağımlıklıktan kasıt, katmanların birbirleri arasındaki ilişkidir, örneğin kullanıcı arayüzü katmanının iş katmanında bulunan bir sınıfı kullanması gibi.

Katman diyagramı, katmanlar arasındaki ilişkiyi proje referanslarından bulabileceği gibi, siz de elle bu ilişkiyi tanımlayabilirsiniz. Normal şartlarda Solution Explorer'dan artifact eklerken, referansları doğru şekilde tanımlanmış ise katman diyagramı bağımlılıkları otomatikman oluşturur.

Katmanlar arasında elle ilişki oluşturmak için Toolbox'ta bulunan Dependency nesnesini kullanabilirsiniz. Dependency nesnesini seçtikten sonra, öncelikle referansı kullanan katmana sonra da referans edilen katmana tıklarsanız, iki katman arasında bir bağlantı oluşur. Bu bağlantı tek taraflı bir ilişki ya da bağımlılıktır.Bu tür ilişkide katmanlardan sadece biri, diğer katmandaki bir veya daha fazla sınıfı kullanır. Bazı durumlarda her iki katmanda birbirine bağımlı olabilir. Bu durumu da Bidirectional Dependency kullanarak tanımlayabilirsiniz.

Katmanlar Arası Bağımlılıkları Doğrulamak

Yazımızın biraz üst tarafında katman diyagramlarının bir amacı da tanımladığımız bağımlılıkları kontrol altında tutmaktır dedik. Bunun anlamı bizim tanımladığımız veya otomatik olarak oluşan bağımlılıkların bozulup bozulmadığını kontrol etmektir.

Yazılım süreci, özellikle kalabalık ve dağıtık ekiplerde, çok dinamik bir süreçtir. Aynı anda birçok yazılımcı koda müdahele ederler. Bazı durumlarda da bu müdahaleler sırasında başta tasarlanmış olan mimariyi bozabilecek kodlar sisteme eklenebilir. Katman diyagramı, sağladığı doğrulama imkanı ile sisteme eklenen ve mimariye ters düşen bu tür kodların tespit edilmesini ve derlemenin (build) bozulmasını sağlar. İstenirse bu doğrulama, Team Foundation Server Build sistemine bağlanarak alınan her build ile çalışması sağlanabilir.

Katman diyagramını doğrulamak için katman diyagramında boş bir yere sağ tıklayıp "Validate Architecture" komutunu seçin. Komut verildikten sonra Visual Studio katmanlardaki kodları derleyerek, tanımlanan bağımlılıklara aykırı bir durum olup olmadığını tespit eder.

Bizim bu örnekte kurduğumuz sistemde web uygulaması, WCF servislerine, WCF servisleri de sınıf kütüphanesine bağımlı.Bunların tam tersi ise Visual Studio açısından hata olarak kabul edilecek. Yani WCF servisinden, HeraDAL sınıf kütüphanesindeki sınıflara ulaşabilirken tam tersi hatalıdır.Bu durumu test etmek için web uygulamasından doğrudan HeraDAL'daki bir sınıfa ulaşarak diyagramı doğrulayalım.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using HeraDAL;
namespace HERA
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            BaseClass baseClass = new BaseClass();
        }
    }
}

Yukarıdaki kod web uygulamasının ana sayfasını oluşturan default.aspx'e ait code-behind dosyası. Görüldüğü üzere burada öncelikle HeraDAL namespace'ine doğrudan ulaşılıyor ve BaseClass isimli sınıfın bir örneği oluşturuluyor. Bu durum bizim yukarıdaki tasarımımıza aykırı, kodu bu şekilde kaydedip katman diyagramına sağ tıklayıp "Validate Architecture" komutunu seçtiğimiz zaman aşağıdaki hatayı görebiliriz.

Visual Studio'nun Error List ekranında aşağıdaki hatalar görünür.

Error 2 AV0001 : Invalid Dependency : HERA(Assembly) --> HeraDAL(Assembly)
Layers: HERAUI, HeraDAL | Dependencies: References D:\ALM\HERA\HeraModels\HeraKatmanlar.layerdiagram 0 0 HeraModels
Error 1 AV0001 : Invalid Dependency : HERA._Default.Page_Load(Method) --> HeraDAL.BaseClass.BaseClass(Method)
Layers: HERAUI, HeraDAL | Dependencies: Calls D:\ALM\HERA\HeraModels\HeraKatmanlar.layerdiagram 0 0 HeraModels

Hata doğrudan bize HERA uygulamasından HeraDAL uygulamasına geçersiz bir bağımlılık kurulduğunu gösteriyor. Hataya çift tıkladığımız zaman da doğrudan hatalı koda ulaşıyoruz.

Gerçek hayatın her noktasında olduğu gibi, yazlımda ve katman diyagramlarının doğrulanmasında da bir workaround (etrafından dolaşma) yöntemi bulunuyor. Yani bu durumu biliyor; ancak bu şekilde kalması gerektiğini düşünüyorsanız hatayı görmezden gelmek istiyorsanız hataya sağ tıklayarak açılan menüden Manage Validation Errors -> Suppress Errors komutunu seçerseniz Visual Studio artık bu kodun bir hata olduğunu size bildirmeyecek ve hata listesinde hatayı üstü çizili olarak gösterecektir. İsterseniz aynı yolu izleyerek ancak bu sefer "Hide Suppress Errors" komutunu seçerek hataların görünmesini engelleyebilirsiniz.

Suppress Errors dedikten sonra diyagramı tekrar doğruladığınız zaman aşağıdaki resimde olduğu gibi doğrulamayı geçecektir.

Bir hatayı görmezden gelmek için komut verdiğiniz zaman, Visual Studio bu hataları .suppressions uzantılı bir dosyada saklar. Herhangi bir zamanda hataları tekrar açmak için, bu dosyadan ilgili yerleri silebilir ya da tamamen dosyayı silerek tüm hataları geri getirebilirsiniz.

Katman diyagramınızdaki doğrulamayı yerel makinenizdeki her derleme işlemi sırasında da yapabilirsiniz. Bunun için izlemeniz gereken iki adım bulunuyor.

  1. Solution Explorer'dan modelleme projesini açın ve katman diyagramı seçin. Diyagramın özelliklerini açıp, Build Action özelliğinin Validate olarak seçildiğine emin olun.
  2. Solution Explorer'dan modelleme projesinin özelliklerini açın. Validate Architecture özelliğini True yapın.

Yukarıdaki adımları tamamladıktan sonra solution'ı derlediğiniz zaman otomatikman doğrulama yapılacak ve başarısız olursa, derleme topluca başarısız olacaktır.

Katman diyagramının en iyi yanlarından biri daha önce söylediğimiz gibi bu doğrulama işlemini TFS 2010 Build'ine bağlayabilmektir. Böylece aldığınız gecelik build'ler veya gated check-in'lerde bu doğrulama çalışacak ve bir hata olması durumunda build başarısız olacak ve bug kaydı açılacaktır.

Bu yazımızda Visual Studio 2010 Architecture Tools'un en güzel diyagramlarından biri olan katman diyagramını inceledik. Bu diyagram ile oluşturduğumuz mimariyi ve katmanları nasıl tasarlayabileceğimizi ve bu tasarımın ihlal edilmediğini kontrol altında tutabileceğimizi gördük. Bu diyagramı büyük bir projeye başlarken genel yapıyı çıkarmak için çizebileceğimiz gibi projenin ilerleyen safhalarında mevcut yapıyı görselleştirmek için de kullanabilirsiniz.

Bundan sonraki yazımızda Visual Studio 2010 Architecture Tools ile ilgili son yazımızda Architecture Explorer ve Dependency Graphs konularına bakacağız.

3 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Visual Studio , , , ,



PDC'10 Türkiye'ye Hazır mısınız?

25. Kasım 2010

28 - 29 Ekim 2010 tarihlerinde gerçekleştirilen PDC'10'a eminiz bir Türkiye'den bir çok insan gidemedi ve sadece internetten canlı takip etme imkanı buldu. Eğer bu canınızı sıkıyorsa sıkmasın, çünkü artık PDC ayağınıza geliyor...

Yanlış okumadınız, Microsoft bundan sonra daha küçük PDC'ler ile mümkün olduğunca ilgililerin ayağına gidecek ve onlara ulaşmaya çalışacak.

Bu bağlamda, 8 Aralık - 9 Aralık ve 10 Aralık 2010 tarihlerinde Ankara, İzmir ve İstanbul'da PDC'10 etkinlikleri düzenlenecek.

Vakit kaybetmeden kayıt olmak için aşağıdaki adresi ziyaret edebilirsiniz.

http://www.inetatr.org/

 

1 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Duyurular, General , ,