Entity Framework nedir?

July 2, 2010 – 11:33

Hatırlarsanız “Hibernate nedir?” adlı yazımda Hibernate’in  Java platformunda yazılmış bir ORM (Object/Relational Mapping) aracı olduğunu anlatmıştım. Bununla birlikte bir de C# versiyonu olan NHibernate’den bahsetmiştim. “Hibernate nedir?” makalesi çin tıklayınız.

Microsoft, bildiğimiz üzere .net Framework 3.5 ile birlikte Hibernate benzeri, LINQ yapısının kullanılabildiği ADO.NET Entity Framework adıyla bir teknoloji ortaya çıkardı. Bu teknoloji Visual Studio 2008  SP1 ile birlikte geliyor, ve Visual Studio’nun o hoş görünümlü 2010 versiyonunda da direkt olarak mevcut.

Neyse, gelelim konumuzun aslına. Önce ORM(Object/Relational Mapping) nedir, kısaca bir açıklayalım: ORM, veritabanındaki her bir nesneye karşılık (Tablo,satır,kolon vb.), kod tarafında bir obje yaratan(class, obje vb.) bir teknolojidir. Yukarıda da belirttiğim gibi bu teknoloji önce Java’da kullanıldı, ve Hibernate ile geldi. Ancak Microsoft bunu görünce durur mu, çokça kullanılmaya başlanan bu teknolojiyi .NET’e de ekledi.

Şimdi yavaş yavaş Entity Framework’u incelemeye başlayalım:

Entity Framework Yapısı


Entity SQL: Entity  Framework’te  sql komutlarını kullanmamızı sağlayan yapıdır.
LINQ to Entites : Entity Framework ile oluşturulan sql sorgularının denetimini ve  Object servise gonderilmesini sağlayan yapı.
Object Services: Entity Frameworkte kullanılan EntitySQL ve LINQ to Entities ‘e yardımcı olur.
Entity Client: Yazılmış olan sql ve linq kodlarının veritabanına uygulanmasını sağlayan ara birimdir.
ADO.NET Providers : ADO.NET sağlayıcılarının bulunduğu kısımdır. Veritabanı işlemleri burada yapılır.

-Yazılan kodlar  linq to entites tarafından denetlenir

-Bunlar object servicese gönderilir

-Object services gönderilen bu kodları yorumlar ve entity cliente gönderir

-Daha sonrada ADO.NET sağlayıcıları kullanılarak veritabanı işlemleri geçekleştirilir ve buradan kullanıcıya dönüş yapılır.

Bu yazıyı genel tanımlara ayırmak amacında olmuş olup, bir dahaki yazımda detaylı Entity Framework işlemlerini anlatacağımdan, yazımı burada sonlandırıyorum.

Dökümana buradan da erişebilirsiniz.

M.Aykut Bulgu

İş Zekası Nedir?

June 4, 2009 – 17:12

İşletmelerin ve paralelinde bilgi teknolojilerinin son 20 yıllık gelişimlerine baktığımızda en önemli kavramlarından birinin data yani türkçe karşılığıyla veri olduğunu görebiliriz. Veri’ye verilen bu önem onun toplanması ve saklanması üzerine yapılan zaman ve para gibi yatırımları da arttırmaktadır.

Günümüzde çoğu kurum veri toplama ve bu toplanan verilerin saklanması aşamalarını coktan tamamlamış durumdalar. Günümüzde başka bir konu şirketlerin, bilgi teknolojileri departmanlarını meşgul etmektedir.İşte bu konu veri patlamasıdır, daha doğrusu eldeki mevcut verileri kullanarak ortak bir strateji geliştirme ve bu strateji çeşitli alanlarda hayata geçirebilmek. İşte tam bu noktada business intelligence kavramı karşımıza çıkıyor. Türkçeye çevirilmiş ve günümüzde oturmuş haliyle iş zekası. Aslında business intelligence kelimesinin türkçede ki karşılığı sanıldığı gibi iş zekası değildir. Business intelligence kelimesinde ki “intelligence” anlamsal olarak CIA (Central Intelligence Agency ) örgütünde de geçtiği gibi istihbarat olmalıdır. Fakat günümüzde iş zekası terimi türkçede , business intelligence ‘nın karşılığı olarak anlamsal olarak oturduğu için bu websitesinde de iş zekası olarak geçecektir.

İş zekası, çeşitli ortamlarda depolanmış veya sunulmuş olan datanın, depolandığı kaynaklardan(veritabanları, flat file vb.) alınıp çeşitli temizleme, transformasyon gibi işlemlerden geçirildikten sonra belirli ve konu yönenimli bir alana yerleştirilmesi ve bu sonuç datalar üzerinde değişik analizler ya da algoritmalar uygulanıp kurum için stratejik boyutlarda karar alınması süreçlerinin tamamı olarak ifade edilebilir. Bu uzun tarifte aslında iş zekasının kullanımı ve faydalanması amacıyla yapılacak işlemleri özetle kapsar niteliktedir. Özetlemek gerekirse; iş zekası, var olan iş performansını anlamak ve bilgiye dayalı iş kararları almak için tüm organizasyon çapında iş verilerinin analizidir. İş zekası çözümü tarafından sağlanan bilgi hedefe yönelik olmalıdır ve hedeflenen kullanıcı grubu için yeterli detay seviyesine ve sunum biçimine sahip olmalıdır.

İyi gerçekleştirilmiş bir iş zekası projesi, data üzerindeki stratejik sorulardan birçoğunu cevaplayabilir nitelikte olmalıdır. Aynı zamanda bir iş zekası yapısı geçmiş datalardan yola çıkarak gelecekle ilgili öngürüler yapabilmeyi de sağlamalıdır. İş zekası datası birçok kullanıcı grubu için uygun bir yapıda ihtiyaçlara cevap verir niteliktedir. Örneğin iş analistçileri mevcut data üzerinde yeteri kadar detaya inebilmelidir.(Bu işleme terminolojide Drill Down denilmektedir.) Diğer bir taraftan, şirket üst yönetimi aynı data üzerinde özetlenmiş bir bilgiye (örneğin bölgelere göre son 5 yıllık satışlar gibi) ulaşabilme imkanına sahip olabilmedir. (Resmin tamamına bakabilmeye ise terminolojide Roll Up denilmektedir.) Bir başka grup olan departman yöneticileri ya da orta düzey yöneticiler ise kendi sorumluluklarında ki alanların sonuç verilerinden yola çıkarak (ki bu çoğu zaman kullanıcı dostu görsel öğelerle bu tip kullanıcılara aktarılacaktır) kendi iş kararlarını alabilmelidir. Şekilde tüm bu anlatılan, iş zekası oluşumunun fiziksel olarak gerçekleştirilişini görebilirsiniz.Şekilde ki yapı örnek vermesi için gösterilmiş bir yapıdır ve imkanlara göre her şirketde farklılık gösterecektir.(Langit,2007)

Kaynak: http://www.iszekam.net

Dizi Habercisi

March 25, 2009 – 16:04

Kendi yazdığım basit bir VbScript kodu. Yerli/yabancı sevdiginiz dizilerin kodtaki gerekli kısımları editleyip bilgisayar her acıldıgında size haber edilmesini sağlayabilirsiniz. Veya internetten indirdiğinizi düşünürsek eklediginiz
linklerle (burada örnek olarak sharebus.com verildi) oraya erişimi sağlayabilirsiniz.

Tek yapmanız gereken alttaki dosyayı kendi dizi zevkinize göre editleyip(herhangi bir editör ile) .vbs uzantılı

kaydedip başlat>programlar>başlangıç altına kısayol oluşturmak.

'2009- pecsimeth.com
'Author: BarTiMaEuS the coeker
Set wShell = CreateObject("WScript.Shell")
 
'dayChecker fonksiyonu 4 parametre alır:

'1. parametre dizi adıdır. BUraya istediginiz dizinin adını yazın


'2. parametre hangi gunun ertesi gunu yayınlandıgıdır.
'Pazar=1, pazartesi=2,salı=3,carsamba=4,persembe=5,cuma=6,cumartesi=7 dir.
'Bu parametre 3. parametre mevcut ise, yani boş '("") degilse gecerlidir,
'aksi halde dikkate alınmaz

'3. parametre dizi eger uzun zaman boyunca yayınlanmayacak ise,
'ara verilmiş ise BUYUK GUN ü hatırlamak amacıyla kullanılır.
'Tarih formatı "dd.mm.yy" dır.örn: "26.02.09". Bu 'parametreyi "" yani boş yaparak dizi
'araya girmediginde 2. parametre öntanımlı kullanabilirsiniz.

'4. ve son parametremiz filmi eger internetten indireceksek,

'önceden belirledigimiz, bizi direk indirme sayfasına götüren
'siteyi belirler. Bu parametreyi "" ile boş da bırakabilirsiniz.

'örneğin heroes ve prison break dizileri icin:

call dayChecker ("HEROES",3,"","http://sharebus.com/index.php?showtopic=280564&st=999999")
 
call dayChecker ("PRISON BREAK",7,"17.04.09","http://sharebus.com/index.php?showtopic=276177 st=999999")

Kodun tamamı burada yayınlanmamıstır. DEVAMI İÇİN TIKLAYIN

XSL (Extensible Style Language) nedir?

October 18, 2008 – 17:43

Geçtiğimiz günlerde şirkette ‘fonbase’ adlı web tabanlı program için yeni bir menu yapmak durumunda kalmıştım. Eski menü flash tabanlıydı ve verileri bir xml dosyasından okuyordu. Haliyle ben de yeni bir menü yapacağımdan ve mevcut xml yapısını bozmak istemediğimizden (olur da flash menüyü tekrar kullanmak durumunda kalırız vs. diye), mevcut xml içindeki verileri okuyup, html içine gömebilecek bir yapı oluşturmamız gerekti ve haliyle bu yapıyı oluşturmak için de bunu yapabilecek bir programlama dili ihtiyacına girdim. Ben ‘acaba java ile xmlden okuyup mu jsp’ye gömsek’ diye düşünürken ve bu öneri ile vinnie‘ye gittiğimde bana bunun yerine XSL kullanabileceğimi söyledi. Ve ben de ‘XSL de ne yahu’ moduna girip araştırmaya koyuldum. Şimdi XSL nedir biraz inceleyelim:

XSL, bir XML dökümanını başka bir XML dökümanına yada başka bir formata (text vs.) dönüştürmek için kullanılan bir programlama dilidir. XSL kendisi de bir xml dilidir ve XML’in uyduğu tüm kurallara uyar.
XSL konu olarak iki bölüme ayrılır. Bunlardan biri XSL’in dili olan XSLT, diğer bölümü ise XSL Formatting Objects’dir (XSL Biçimlendirme Nesneleri). XSL Formatting Objects CSS ile benzerlik göstermektedir. Biz burada sadece XSLT’yi inceleyeceğiz.

XSLT çalışma mantığı basitçe şudur: Ağaç şeklinde oluşan XML dökümanından belirli bölümler seçilir ve bu bölümlerdeki degerler alınarak(bu root elementi, element içindeki attiribute’u veya attribute’a ait text olabilir) belirli bir döküman formatına sokulur (genelde HTML). Bir dökümanın bir parçasını seçmek için XPATH kullanılır.
Read the rest of this entry »

Yazılım Geliştirmeye Değişik Bir Bakış

June 30, 2008 – 14:27

Vakti zamanında mail olarak almıştım bu yazıyı, çok hoşuma gitmişti. Bugün de “acaba ne yazsam, yada hangi dökümanı yada makaleyi eklesem, hangi dille ilgili yazı yazsam yada alıntı yapsam” diye dü?ünürken aklıma bu döküman geldi ve “biraz da değişiklik olsun hep aynı modda mı yazıcaz” diyerekten mail inbox’ımın derinliklerinden bu güzel yazıyı sizin için çıkarayım dedim. Umarım okurken benim gibi keyif alırsınız.

Programcılıkta sabahlamanın verdiği huzur ve tatmin çok meşhur. Programcılar sabaha kadar çalışma konusunda herkesi şaşırtan derecede istekli ve beceriklidir. Bu gece çalışması boyunca beyin bir ‘akış’ yakalayarak saatlerin su gibi geçtiği bir çalışma ortamı oluşur. Bu çalışma sırasında beyin en derin konsantrasyon düzeylerine erişir ve genellikle zor programlar bu kesintisiz, onlarca saat süren çalışmalarda ortaya çıkar.

Beyin bu stilde çalışırken kişilerin mutlu oldukları, mutluluk düzeylerinin arttığı bilimsel çalışmalarla gözlemlenmiştir. Bu çalışmalar eski Chicago Üniversitesi Psikoloji Bölüm Başkanı Mihaly Csikszentmihalyi tarafından yapılmıştır. Çalışmalarda çeşitli disiplinlerden yüzlerce kişinin günlük uğraşları incelenmiş ve bu sırada ‘mutluluk’ düzeyleri gözlemlenmiştir. Bu çalışmaların programcılar tarafındaki bulguları ise ilginçtir. Her ne kadar programcılık bir bilim dalı (Computer Science), bir mühendislik (Software Engineering) olarak düşünülse de programcıların beyninin sanatçıların çalışma stiline sahip olduğu ortaya çıkmıştır. Programcılık sırasında beyin bir ‘akış’ moduna geçmekte, etraftan ilişkisini kesmekte ve bir probleme günlerce konstantre olabilmektedir.

Başarılı programcıların çoğu konsantrasyon yetenekleri ile çevrelerini şaşırtır. Saatlerce sıkılmadan bir ekran başında vakit harcayabilirler. Bu saatler bir çok kez günlere kadar uzayabilir. Yaşamsal faaliyetler dışında hemen hemen her şeyden izolasyon gereklidir. Microsoft’ta Office yazılım geliştirme ekibinden bir programcının kendini odasına kilitleyip ‘bitmeden çıkmayacağım’ demesi, Bill Gates’e bile kapıyı açmaması meşhurdur. Bu olay daha sonra Douglas Coupland’ın Microserfs (1996) kitabına konu olmuştur. Bu sırada kendini odaya kilitleyen programcının arkadaşlarının süper marketten gidip yassı yiyecekler alması ve kapının altından odaya atmaları, programcılar arasındaki dayanışmanın güzel ve sevimli bir örneği.
Read the rest of this entry »