LINQ Sorgusu mu? ForEach mi? Bir Türlü Karar Veremedim 27 Mayıs 2010 Burak-Selim-Senyurt C#, LINQ Bilim Kurgu fanatiklerinin kafasında her zaman hayranı oldukları filmlerden kesitler, sahneler kalır. Matrix filmini izleyenler eminimki Neo' ya uzatılan kırmızı ve mavi hap serenatını gayet iyi hatırlayacaktır. Morpheus haplardan birisinde Alice Harikalar Diyarının kapılarını ardına kadar açabileceğini ifade ederken, diğer hapı yuttuğunda, Neo' nun yatağında hiç bir şey olmamış gibi uyanacağını ve tüm bunların bir hayalden ibaret olduğunu düşüneceğini belirtir. Tabi Neo amacına ulaşmak için zaten hangi hapı içmesi gerektiğini biliyordur ki son bölümde aslında gerçekten hapı yutmaktadır [Daha fazla]
Microsoft Teknoloji Günleri Akşam Sınıfı Başladı 25 Mayıs 2010 Burak-Selim-Senyurt C# 4.0, Eğitimler Bildiğiniz üzere bir süre önce Microsoft Türkiye ile birlikte Teknoloji Günleri Akşam Sınıfınını duyurmuştuk. Workshop tadında olan eğtimlerde ki amacımız, .Net Framework 4.0 tarafında gelen yenilikleri basit bir şekilde aktarmak ve tanıtmak. Bu gün başlayan servüvenimizin ilk dersinde, C# 4.0 ile Birlikte Gelen Yeniliklere değindik. 4 basit örnekle tanıdığımız yeni özelliklerde ilk olarak Reflection yerine dynamic kullanımını ve IronPython ile yazılmış bir kod içeriğinin çağırılmasını inceledik. Bu sayede dynamic diller ile olan etkileşimi de irdelemiş olduk. Ardından COM Interop tarafında gelen yenilikleri ve Optional, Named Parameters ve Ommiting Ref gibi konuları Office etkileşimi olan bir örnek üzerinden değerlendirdik. Son olarak Generic Covariance ve Contravariance konusuna giriş yaparak basit bir örnekle konuyu pekiştirmeye çalıştık. [Daha fazla]
Workflow Foundation Öğreniyorum - Ders 5 - Argument Kavramı ile Tanışalım 25 Mayıs 2010 Burak-Selim-Senyurt Workflow Foundation Öğreniyorum NedirTv?com sponsorluğunda hazırladığımız "Workflow Foundation 4.0 Öğreniyorum" görsel eğitim serimizin 6ncı dersi ile birlikteyiz. Bu dersimizde Workflow örneklerinde içeriye ve dışarıya doğru veri akışlarında kullanılan Argument kavramını tanımaya çalışıyoruz. Bu anlamda Argument ile Variable arasındaki temel farklılıklara da değiniyoruz. [Daha fazla]
Microsoft Teknoloji Günleri Akşam Sınıfında Buluşalım 22 Mayıs 2010 Burak-Selim-Senyurt Eğitimler Her ay düzenli olarak gerçekleştireceğimiz ve bir seri olarak birbirini takip edecek sınıf etkinliklerimizle 9 ay boyunca siz yazılım geliştiren ve tasarım yapan iş ortaklarımızla birlikte olacağız. Aşağıda detaylarını paylaştığımız ve sizler için hayli faydalı olacağına inandığımız Microsoft Teknoloji Günleri Akşam Sınıfı Etkinliğimize kaydınızı hemen yaptırabilirsiniz. [Daha fazla]
Workflow Foundation Öğreniyorum - Ders 4 - Flowchart için Ek İşlemler 18 Mayıs 2010 Burak-Selim-Senyurt Workflow Foundation Öğreniyorum "Workflow Foundation 4.0 Öğreniyorum" görsel eğitim serimizin 5nci dersi ile(4+1) karşınızdayız. Daha önceki dersimizde Flowchart aktivite bileşenini tanımaya başlamıştık. Bu dersimizde ise Flowchart aktivitesi içerisinde Flowswitch ve Parallel bileşenlerinin nasıl kullanılabileceğini incelemeye çalışıyor olacağız.Flowswitch aktivite bileşeni C# tarafındaki switch...case ifadelerinin bir benzeri olarak düşünülebilir. Flowswitch bileşeni generic türlendirilmiş bir tiptir. Genellikle bir değişkenin veya bir Visual Basic ifadesinin(Expression) çalıştırılması sonucu elde edilen sonucun farklı değerlerine göre, akışın farklı yerlere dallanması gerektiği durumlarda kullanılır. [Daha fazla]
Int32 ve Int64 Haricindekiler için Parallel.ForEach 17 Mayıs 2010 Burak-Selim-Senyurt Parallel Programming Dolayısıyla bazı durumlarda en tepeden aşağıya doğru inen ve bağlı liste(Linked List) benzeri bir oluşumun sağlanması zorlaşmaktaydı. Her neyse...Eminim bu sorunlar çoktan aşılmıştır. Ancak bir önceki cümlede yer alan bağlı liste tarzı yapıların başında dolaşan bir kara bulut daha mevcuttur. Sorunun kaynağında paralel programlama amacıyla .Net ortamına kazandırılan Parallel.ForEach döngüsü yer almaktadır. Dilerseniz öncelikle sorunu masaya yatıralım. Bu amaçla aşağıdaki kod içeriğine sahip Employee isimli basit bir sınıfımız olduğunu düşünelim. [Daha fazla]
Workflow Foundation Öğreniyorum - Ders 3 - Yeni Bir Yüz - Flowchart 10 Mayıs 2010 Burak-Selim-Senyurt Workflow Foundation Öğreniyorum NedirTv?com sponsorluğunda hazırladığımız "Workflow Foundation 4.0 Öğreniyorum" görsel eğitim serimizin 4ncü dersi ile karşınızdayız. Hatırlayacağınız üzere bir önceki görsel dersimizde çıtayı biraz yükseltip tamamen kod yardımıyla bir Workflow içeriğinin nasıl oluşturulabileceğini incelemeye çalışmıştık. Bu yorucu bölümden sonra daha sakin ilerlemenin ve hafif bir konu ile devam etmenin yararlı olacağı kanısındayım. Bu amaçla sıradaki dersimizde Workflow Foundation 4.0 ile gelen yeni aktivite bileşenlerinden birisi olan Flowchart tipine bir Merhaba demeye çalışıyor olacağız. Örneği geliştirirken temel olarak Flowchart tipinin ne işe yaradığını görecek ve ayrıca FlowDecision aktivite bileşenini tanıyor olacağız. Keyifli seyirler dilerim. [Daha fazla]
Entity Framework - POCO ve Lazy Loading 10 Mayıs 2010 Burak-Selim-Senyurt Entity Framework Hatırlayacağınız üzere bir önceki yazımızda Ado.Net Entity Framework içerisinde POCO(Plain Old CLR Object) nesnelerinin kullanımını incelemeye çalışmıştık. Örneğimizde kullanmış olduğumuz LINQ sorgusu basit bir Join işlemini gerçekleştirmekteydi. Tabi Join sorgusu kullandığımız için gözden kaçırdığımız ufak ama bir o kadar da önemli bir vaka oluşmaktadır. Bu vakayı ele almak için program kodunu biraz daha değiştirdiğimizi ve aşağıdaki hale getirdiğimizi düşünelim. [Daha fazla]
Workflow Foundation Öğreniyorum - Ders 2 - Kodla Başbaşayız 04 Mayıs 2010 Burak-Selim-Senyurt Workflow Foundation Öğreniyorum "Workflow Foundation 4.0 Öğreniyorum" serimizin üçüncü dersi ile karşınızdayız. Bu kez bir sıçrama yaparak Level değerimizi 101' den 110' a çekiyoruz. Bunu yaparken de kendimize biraz eziyet ediyoruz. Eziyet etmek içinde, bir önceki dersimizde ele aldığımız Visual Studio 2010 IDE' sinin sunduğu WPF tabanlı güzelim Workflow Designer ortamını bırakarak, bir Workflow örneğinin ve tüm içeriğinin tamamen kod bazlı olarak nasıl geliştirilebileceğini görmeye çalışıyoruz. Ancak bu eziyet sayesinde, yeri geldiğinde söz konusu akışların kod yardımıyla dinamik olaraktan üretilebileceğini öğreniyor ve bunun bazı vakaları karşılayacağını farkediyoruz. Örnek akışta bir önceki akışın aynısının kod tarafına geliştirilmesini gerçekleştiriyoruz. Bu sırada Variable, InArgument, OutArgument, ActivityContext, ExpressionServices gibi önemli tipleri de öğreniyor ve nasıl kullanıldıklarını görüyoruz. Bakalım eziyetimize değecek mi? İyi seyirler dilerim. [Daha fazla]
WF Ado.Net Entity Pack - Hello World 03 Mayıs 2010 Burak-Selim-Senyurt WF 4.0 Ne var ki ilerleyen zamanlarda çıkan PreBeta, Beta 1, Beta 2, RC ve nihayet RTM sürümlerinde yer alan Activity Component setinde bu tip bileşenlerin yer almadığına da şahit olduk. Hatta WF 4.0 öncesinde aşina olduğumuz State Machine tipinden şablonlarında kaldırıldığını gördük. Geçtiğimiz günlerde ise Codeplex üzerinden iki WF 4.0 Activity Pack yayınlandı. Bunlardan birisi WF Ado.Net Activity Pack CTP 1 iken diğer ise WF State Machine Activity Pack 1 isimli paketti. [Daha fazla]