WF Rule Engine’ i Dışarıdan Kullanmak 02 Eylül 2012 Burak-Selim-Senyurt WF, WF 4.0 Hangi sektörde olunursa olunsun, işler ister kağıt üstünde, ister elektronik ortamda yürüsün, iş süreçleri kendi içerisinde tanımlı bir çok kural kümesi içerir. İş bu kural kümeleri, gerekli durumlarda doğal yollarla sistemin bir parçası olarak ya da yürütme usulü ile manuel olarak devreye girerek, sürecin şekillenmesi ve bir takım aksiyonların alınması noktasında önemli rol üstlenirler. Biz geliştiricilerde, iş akışı mantığına dayalı sistemleri tasarladığımız durumlarda bu kural kümelerinin esnekliklerine sahip olmak isteriz. Bu Biztalk, Sharepoint, TIBCO vb iş akışı modellerini içeren gelişmiş ürünlerde çoğu zaman karşımıza çıkmaktadır. [Daha fazla]
Tek Fotoluk İpucu 62–Byte Array için Sıkıştırma 26 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Kod içerisinde bir yerlerde öyle ya da böyle elde ettiğiniz ama boyutu azcık da olsa küçülebilse dediğiniz byte tipinden array’ ler olduğunu düşünün. Kimi zaman bir dosyanın içeriği olabileceği gibi, sistem içe... [Daha fazla]
Tek Fotoluk İpucu 61–Primitive Olmayan Property’ leri Bulmak 26 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Diyelim ki bir değişkenin tipinin içerisinde yer aldığı Assembly’ daki diğer tiplerin Primitive olmayan(int,double,char vb) özelliklerini bulmak gibi bir ihtiyacınız var. Nasıl bir yol izlersiniz? Kuvvetle muhtemel Reflection’ dan yararlanırsınız. Hatta b... [Daha fazla]
Kodla Saçmalamaca 18 Temmuz 2012 Burak-Selim-Senyurt C# Lafı fazla uzatmadan felsefemizi örnek bir fikir ile ilişkilendirip ilerlemeye çalışalım. Örneğin geliştireceğiniz Freelance uygulamalarınızda sıklıkla kullandığınız ama aslında dünya bakış açısına göre çok uzun bir zaman boyunca sabit kalan belirli veri içeriklerine ihtiyacınız oldu. Ülke adları, kodları, telefon alan kodları vb…Karar verdiniz ve dediniz ki, [Daha fazla]
Text Template ve VSIX Project Template Kullanımı 17 Temmuz 2012 Burak-Selim-Senyurt Visual Studio Ancak yazılımcıların bu gibi ihtiyaçlarda yine de yaptıkları bazı temel hatalar vardır. Söz gelimi dosya üretme ve devreye alma işlemlerini yapmak için herşeyi sıfırdan yazma yoluna gidebilirler. Oysaki kullanılan geliştirme ortamlarının bu gibi noktalarda ürettikleri bazı kolaylaştırıcı çözüm yolları da bulunmaktadır. Söz gelimi Visual Studio tarafından bakıldığında, Text Template' ler kod dosyalarının otomatik üretiminde kullanılabilir. Hatta Visual Studio SDK ile birlikte gelen VSIX Project Template' ler ile bu gibi üretimlerin birer Extension olarak şablonlaştırılması da mümkündür. [Daha fazla]
Tek Fotoluk İpucu 60 - string Kökenli JSON İçeriği Ters Serileştirmek 17 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Tek Fotoluk İpucu 60' da generic bir nesne örneğinin JSON formatında serileştirilmesini ve serileştirilen içeriğinde string olarak geriye döndürülmesini sağlayan bir extension metod geliştirmiştik. E tabi çok haklı olarak hani bunun ters serileştirmesi nerede diyebilirsiniz. Dediniz di mi? Buyrun öyleyse. [Daha fazla]
Workflow Designer’ ı Yeniden Host Etmek (WF 4.0) 13 Temmuz 2012 Burak-Selim-Senyurt WF 4.0 Aslına bakarsanız Visual Studio gerçekten harika bir IDE ortamı sunmaktadır. Hatta UX olarak bilien User eXperience değil de tam anlamıya Developer eXperience’ ın hat safhada olduğu bir geliştirme ortamıdır. Lakin genişletilebilir olması(Extension Manager’ a dikkatiniz çekmek isterim) haricinde çok gelişmiş özellikleri olmakla birlikte, zaman zaman daha hafif bir sürüme ihtiyaç duyabiliriz. Örneğin Workflow Foundation tabanlı olarak bir iş akışı tasarım uygulaması geliştirmek istediğinizi düşünün [Daha fazla]
Tek Fotoluk İpucu 59–Nesneyi JSON String Olarak Serileştirmek 12 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Diyelimki generic T tipine yazacağınız bir Extension metod ile, JSON formatında serileştirme işlemi yaptırmak ve serileştirme sonucunuda string olarak geriye döndürmek istiyorsunuz. Ne yaparsınız? Aşağıdaki fotoğraf bir ip ucu verebilir mi? Bir başka ip ucu... [Daha fazla]
Tek Fotoluk ipucu - 58 Derived Tipler için XElement Converter 12 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Farz edelim ki elimizden tonlarca POCO(Plain Old CLR Object) tip var. Hatta laf aramızda tonlarca otomatik olarak üretilmiş SQL User Defined Type karşılığı sınıf var. İstiyorsunuz ki, bu tiplerin çalışma zamanındaki canlı örnekleri, XElement tipine dönü... [Daha fazla]
Tek Fotoluk ipucu - 57 LINQ Tarafında Cross Join 11 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Elinizde iki adet nesne koleksiyonu olduğunu ve bunların veri satırı bazındaki olası eşleşmelerine ait kartezyen tablosunu elde etmek istediğinizi düşünün. Aşağıdaki gibi bir sorgu, SQL tarafındaki Cross Join etkisini LINQ ile de gerçekleştirebileceğimizi g... [Daha fazla]
Tek Fotoluk Ipucu 56 – LINQ Metodlarında String Sorgular 08 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Bazı durumlarda Entity Framework tabanlı nesne koleksiyonlarını sorgularken, Extension Method’ lar içerisine gelecek olan sorgulama ifadelerinin string bazlı olarak gelmesi söz konusu olabilir. Örneğin servis metodlarının istemci tarafından parametre olara... [Daha fazla]
Tek Fotoluk İpucu 55 - Distinct ve IEqualityComparer 04 Temmuz 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Diyelim ki elinizde kendi tipinize ait generic bir liste ve bu liste içerisinde veri bazında tekrarlı nesne örnekleri var. Örneğin bir ürün listesi ve bu liste içerisinde aynı üretici adına ait pek çok kayıt olduğunu düşüne... [Daha fazla]
Levenshtein Distance Algoritması 02 Temmuz 2012 Burak-Selim-Senyurt Algoritma, C#, Data Structures, Algorithms Aslına bakarsanız bilgisayar bilimlerinde uygulanabilen, gerçekten çok işe yarayan ve onları keşfedenleri saygıyla hatırlamamız gereken algoritmalar mevcut. Örneğin bunlardan birisi olan Levenshtein Distance algoritması ve mucidi Vladimir Levenshtein Winking smile... [Daha fazla]
Haziran Bültenim 20 Haziran 2012 Burak-Selim-Senyurt Journal Merhaba Arkadaşlar,Sıcakkk! Çok sıcakkk! Yağışlı havalar yakamızı bırakmıyor, yaz bir tü [Daha fazla]
Custom Activity Designer Geliştirmek 12 Haziran 2012 Burak-Selim-Senyurt WF, WF 4.0 Geçtiğimiz günlerde Workflow Foundation tarafında bir Component Set' in geliştirilmesi üzerine açılan POC(Proof of Concept) projesinde görev aldım. Bu anlamda yoğun bir şekilde Custom Activity Designer konusu ile yakın ilişki içerisinde yer almam gerekti. Workflow Foundation' ın bileşen seti her ne kadar geniş bir yelpazeye sahip olsa da, özellikle uygulama geliştiricilerin hızlı bir şekilde Workflow(Flow Chart, Sequential vb) tasarlaması gerektiği durumlarda, işleri kolaylaştıracak Component setlerinin üretilmesi son derece önemlidir. Ne varki XAML tabanlı çalışan Activity Designer örnekleri, Visual Studio IDE' si ile pek kardeşçe yaşamamaktadır(Bu durumun Visual Studio 2012' de devam etmediğini umuyorum). Dikkat edilmesi gereken pek çok nokta ve ip ucu bulunmakta. Dilerseniz ne demek istediğimi örnek bir senaryo üzerinden görmeye çalışalım. [Daha fazla]
Çerezlik Algoritmalar ve Extension Methodlar 08 Haziran 2012 Burak-Selim-Senyurt C#, Data Structures, Algorithms Pek tabi yazılım dünyası söz konusu olduğunda var olan hemen her algoritmanın karşılığı olan kodlamaların geliştirilmesi de önemli bir mevzudur. Bilimsel uygulamalarda, finansal model çözümlerinde, endusturi alanındaki planlama tekniklerinde vb...Ben bu yazımda sizleri o karmaşık ve anlaşılması zor algoritmalar ile yormayacağım. Bunun yerine eğilenceli sayılabilecek ve özellikle oyun programlamada oyunculara keyifli dakikalar yaşatmanızı sağlayabilecek basit bir kaç algoritma üzerinde durmaya çalışacağım. Söz konusu algoritmaları birer Extension Method olarak geliştireceğiz(Extension Method kavramını hatırlayalım. C# 3.0 - Derinlemesine Extension Method Kavramı) Dilerseniz hiç vakit kaybetmeden ilk algoritmamız ile işe başlayalım. [Daha fazla]
Tek Fotoluk İpucu–54 Onda 75 04 Haziran 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Kendi tiplerimize ait koleksiyon nesnelerini kullanırken, Sort metodunu ele aldığımız durumlarda mutlaka neye göre karşılaştırma yapacağımızı belirtmemiz gerekmektedir. Bu amaçla IComparer veya IComparable gibi arayüzleri(Interface) ve bunların generic versiyonlarını kullanırız.... [Daha fazla]
Tek Fotoluk İpucu–54Buçuk 04 Haziran 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Malum Visual Studio 2012 sürümünün RC sürümü geçtiğimiz hafta içerisinde yayınlandı ve internet üzerinden bu konu ile ilişkili yazılarda yayılmaya başlandı. Sadece Visual Studio 2012 değil ama .Net Framework 4.5 tarafında da epey önemli yenilikler geliyor. Ağırlık noktası her ne... [Daha fazla]
Tek Fotoluk İpucu 54 - Control Nerede? 03 Haziran 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Diyelim ki çalışma zamanında, Windows Forms' un içerisindeki bir kontrolü(Control tipinden bir nesne örneğini) kodla buldurmanız ve üzerinde bir işlem yaptırmanız gerekiyor. Hatta formunuzun da, otomatik olarak bir veri kaynağına göre üreti... [Daha fazla]
Servisleri Monitor Edelim 01 Haziran 2012 Burak-Selim-Senyurt WCF İşin içerisine servisler girdiğinde, bunların anlık durumunlarını izlemek, ayakta olup olmadıklarını görmek veya zaman içerisindeki hareketliliklerine bakarak istikrarlı yapılarının nasıl olduğunu analiz etmek isteyebiliriz. Pek tabi bunun için birden çok 3ncü parti tool olduğunu biliyoruz. Söz gelimi IIS tarafında Windows Server AppFabric aracından yararlanılarak son derece etkili ve gelişmiş izleme ve kontrol mekanizmaları gerçekleştirilebilmektedir. Lakin bazı bankacılık sistemlerinde teknoloji adaptasyonu beklendiği kadar hızlı değildir. Windows Server AppFabric gibi bir tool’ un geçişi, yıllarca XP üzerinde çalışan bankanın Windows 7’ ye geçişindeki gecikme kadar sancılı ve sıkıntılı olabilir. Hatta bankanın bir sonraki teknolojik yenilenme sürecinde ortada Windows Server AppFabric’ ten tamamen farklı bir ürün de bulunabilir... [Daha fazla]
WCF Tarafında Task Bazlı Asenkron Operasyonlar 24 Mayıs 2012 Burak-Selim-Senyurt WCF 4.0 Uzun bir zamandır .Net Framework içerisinde, fonksiyonların asenkronize edilmesi üzerinde çalışılmaktadır. Daha önceleri Thread bazlı veya Delegate tipleri ile gerçekleştirdiğimiz asenkron çağırımlar, .Net Framework 4.0’ a gömülü olarak gelen Task Parallel Library sayesinde daha da gelişmiş ve alt yapının her noktasına enjekte edilebilir olmuştur. Şu günlerde .Net Framework 4.5 ile birlikte gündeme gelen ve uzun zamandır da haberdar olduğumuz async, await gibi anahtar kelimeler de, temel de Task tiplerine dayanmaktadır. Bir başka deyişle TPL kütüphanesi ve içeriği, ilerleyen zamanlarda .Net Framework’ ün pek çok önemli alt yapısında etkisini hissettirecektir. [Daha fazla]
Mayıs Bültenim 18 Mayıs 2012 Burak-Selim-Senyurt Journal Merhaba Arkadaşlar,Mayıs bültenimiz ile karşınızdayım. Yine yoğun geçen bir aydı aslına [Daha fazla]
Tek Fotoluk İpucu 53 - Tarih Dönüşümünde Extract Kullanımı 15 Mayıs 2012 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Diyelim ki text tabanlı veya benzeri bir dosyadan satır bazlı veri okuma ve aktarma işlemi gerçekleştiriyorsunuz. Bu veri dosyasındaki alanlardan birisinde 16022012 094500 gibi bir tarih bilgisi tutulduğunu varsayalım. Kodunuzun bu alanı DateTime tipine çevirmesi i... [Daha fazla]
WorldBank, OData ve ASP.Net Web API HttpClient Kullanımı 14 Mayıs 2012 Burak-Selim-Senyurt Asp.Net Web API Microsoft önce servis odaklı yaklaşımını değiştirerek Windows Communication Foundation altyapısını duyurdu. Hemen ardından WCF hızla gelişti ve pek çok Microsoft ürününün servis uç noktalarında yerini almaya başladı. Derken WCF’ e Web programlama modeli(Web Programming Model) için destekler eklendi. Artık REST(Representational State Transefer) odaklı servisleri yayınlamak ve hatta kullanmak mümkün hale gelmeye başladı. Çok basit anlamda HTTP protokolünün GET,POST,PUT,DELETE gibi metodlarına göre hizmet verebilen ve bu nedenle bir proxy ihtiyacını ortadan kaldırıp platform bağımsızlığı getiren servis yayınlama modeline destek söz konusu idi. Söz konusu model daha da geliştirildi. Özellikle Code Plex tarafında WCF Rest Service API’ si duyuruldu ve programlama modeli Astoria kod adlı WCF Data Service’ lerinde çekirdek yapı taşı haline geldi. [Daha fazla]
Kocaeli Üniversitesi Bilgisayar Kulübü Bilişim Şenliği 2012 11 Mayıs 2012 Burak-Selim-Senyurt Seminerler Merhaba Arkadaşlar, Önümüzdeki günlerde Kocaeli Üniversitesi Bilgisayar Kulübü tarafından düzenlenen Bilişim Şenliği etkinliklerinde iki oturum ile yer alıyor olacağım. Dopdolu geçeceğini düşündüğüm bu iki günlük etkinlik süresince, farklı kutuplardan pek çok ilgi çekici konu bir arada sunuluyor ol... [Daha fazla]