Categories: MSSQL Posted by Admin on 11/13/2011 1:06 AM | Comments (0)

Geçenlerde özel bir iş üzerine bir miktar araştırma/kodlama yaptım ancak bu süre zarfında bazı gerekçelerle başka bir çözüme gidildi. Bu arada yazmış olduğum deneysel bir proje de bilgisayarımda bekleyekaldı. Sqlserver tarafında farklı sunucularda yer alan veritabanlarını sunucu düzeyinde yetki gerektirmeden senkronlamak için ücretsiz bir araç bulamayınca başladım kodlamaya. Aldığım sonuçlar ücretli araçlara nazaran bir hayli iyi oldu. İlk kodlamamda 40 bin veriyi 3 dk gibi bir sürede karşılaştırıyorken sonradan geliştirdiğim kod  ile 1,000,000 veriyi yaklaşık 200 milisaniyede karşılaştırdığını görünce ben bile ne yaptığıma şaşırdım :) Neyse özetle, aşağıdaki bağlantıdan projeye ulaşabilir, kaynak kodu edinebilir, geliştirebilir ya da yorum yazabilirsiniz.

http://tabledatasync.codeplex.com/

 

Ekran görüntüsü de şöyle:

 

Faydalı olması dileğiyle, mutlu kodlar.

Categories: Genel Posted by Admin on 9/19/2011 12:55 AM | Comments (0)

Yeni bir domaine taşınmanın vakti geldimi diye düşünürken kendimi blog için uygun bir domain almış olarak buldum. zor.lu adresi üzerinden subdomain tanımlamasıyla yayına devam edesim var ama henüz karar veremiyorum. Google app engine ile bir süpriz yapabilirim. Belkide biyografi sitesi yapıp tüm aile bireylerini soy ağacı uygulamasıyla yayınlayabilir her birey için de blog uygulaması imkanı sağlayabilirim.

Arama motoru oranları ya da ziyaretci sayıları konusunda herhangi bir endişem yok. Acıkcası bu oranlardaki değişimler umrumda değil ancak ölü linklerin peydahlanmasını da istemiyorum. Yeni numaram şu, buradan ulaşın gibi de olmuyor.

Blogengine hakkında da düşünüyorum, taşınmamla birlikte blog uygulamasını da değiştirmem pek bir şeyi etkilemeyecek gibi görünüyor. Umbraco fena gitmez diye düşüünyorum.

İşte böyle günlük. Karar verdiğimde bu yazı artık senin olmayabilir :)

Tags: , , , | Posted by Admin on 7/14/2011 10:18 PM | Comments (1)

Uzunca bir aradan sonra merhabalar! Son günlerde AOP tarafına merak sarmamla beraber bu konu başka yazıları da paylaşmak istediğimi söyleyerek yazıya başlıyorum. 


Bilindiği üzere AOP ile kodlama maliyeti düşük kabiliyetli işler yapılabiliyor. Bunların başında loglama, ön bellekleme, yetkilendime gibi konular için geliştirilmiş çözümler yer almakta ve bu da başka bir yazının konusunu oluşturmaktadır. Bu yazıca en basit hali ile durağan bir assembly dosyasının nasıl modifiye edebileceği hakkında bir kaç örnek göstermek istiyorum.

Senaryomuz şöyle olabilir mesela, öyle bir uygulamamız var ki kullanılan her metotun içinde o metotun kullanılma zamanını ve adını(detaylandırmadan) bir yere mutlaka kaydetmemiz gerekiyor olsun. Bu durumda her metotun içerisine metotun kullanımı ile alakalı kayıtı yazdıran kodları tanımlamamız gerekecektir. En iyi ihtimal ile basit bir sınıf yazıp statik bir metot ile kayıt yapan kodu ufaltırız ancak yine her metotun içerisini ayrı ayrı tanımlamamız gerekir. İşte tam bu noktada AOP devreye giriyor.

More...

Tags: , , , , | Categories: asp.net, c#, english, Genel Posted by Admin on 6/1/2011 11:45 AM | Comments (2)

This add-in project converts c# and vb.net codes in visual studio. Sometimes we need to convert code between c# and vb.net but convertion progress is very boring. Open the web browser, google it(c# to vb.net) and using some online code convertion service and oh, code is converted. Thats really boring and difficult way.

What does CodeCopy do?

CodeCopy is simple way to code convertion between c# and vb.net languages. You can copy any c# or vb.net code and paste visual studio whit Paste with CodeCopy. Thats detect your project language and converts code to target language(c# or vb.net). It's simple!

Works on Visual Studio 2005, 2008 and 2010.

Feature plan

  • Partial code converting: Converter runs on code blocks and covert code and comment code block when it is non convertable block. Notice convertable code blocks will be recover.
  • Smart error fixer: We work on generic errors because some error messages fixed programmaticaly. Eg: if error is "',' expected." then we fix this problem when inserted ',' character on required line and column.
  •  More effective code convertion

More...

Tags: , , , , | Categories: asp.net, c#, Genel Posted by Admin on 5/31/2011 2:02 PM | Comments (0)

Merhabalar, bir önceki yazımda da belirttiğim gibi c# ve vb.net arası otomatik kod dönüşümü sağlayacak bir eklenti geliştirdik. Talep yönünde geliştirme işlemine devam edeceğiz. Özetle eklenti kopyala yapıştır gibi basit bir işlemle     proje diline dönüştürülüyor ve kullanıma hazır olmuş oluyor. Şimdilik bu kadar bilgi vermekle yetiniyorum. Projeyi codecopy.codeplex.com adresinden takip edebilir yada indirip deneyebilirsiniz.

Kaynak kodları indirin

Eklentiyi indirin(Kurulum dosyası)

Tags: , , , , , , , | Categories: Genel Posted by Admin on 5/29/2011 12:43 PM | Comments (2)

Merhabalar, bu biraz tanıtım biraz da yorum alabilmek adına yazdığım ender bir yazıdır. Online bağlantı gereksinimi olmaksızın visual studio içerisinden c# veya vb.net kodunu otomatik birbirine dönüştüren bir eklenti geliştiriyoruz. Özetle kopyalanan bir vb.net okdunu yapıştırdığınızda projeniz c# ise yapışan kodun c# a dönüştürülmüş vb.net kodu olması ilk hedefimiz. Basit bir eklenti kabul ediyorum ancak faydalı olacağını düşünüyorum. Bu nedenle bu yazıyı okurken aklınızdan geçen (bu da olsun, şöyle olsun) fikirleri iletişim sayfasından göndermenizi rica ediyorum. 

Herkese faydalı olması dileğiyle...

Categories: asp.net, c#, nhibernate Posted by Admin on 5/7/2011 6:01 PM | Comments (0)

Bilindiği üzere tüm veritabanlarının veri sorgulamak için birbirlerine benzer sorgulama dili vardır(Mssql için T-SQL, oracle için PL-SQL gibi).  Hibernate ortamında veritabanından bağımsız düşünüldüğü için bu sorgulama dilleri arasındaki farklılığı ortadan kaldırmak amacıyla hibernate yapısal sorgulama dili(Hibernate Query Language) kullanılmaktadır. Hibernate yazılan HQL'i değerlendirip kullanılan veritabanına uygun dile dünüştürerek kullanır. Bu nedenle eğer HQL kullanarak daha esnek bir şekilde sorgulama yapmak istiyorsak bu dili öğrenmek icab ediyor. Aynı işlevi Criteria kullarak da belirtebiliyoruz. Ancak bu başka bir yazı konusudur. Bu yazıda HQL'in temel işlevlerini değerlendiriyor olacağım.

More...

Tags: , , | Categories: asp.net, c#, nhibernate Posted by Admin on 5/6/2011 1:21 AM | Comments (0)

Merhabalar, NHibernate ile geliştirilen uygulamalarda veritabanından bağımsız çalışma yani herhangi bir veritabanına özel tipleri kullanamama durumundan dolayı özel tipler tanımlama gereği duyulmaktadır. Bu örneği daha iyi açıklayabilmek için Enumaration tipli alanların kullanımında yaşanan problem ve problemin çözümü hakkında bahsederek yazıya devam etmeyi uygun görüyorum.

Daha önceki yazılarda bir sınıfın Map edilme işlemine yönelik anlatımları gerçekleştirdim. Tabiki bazı özel durumlardan hemen bahsetmek uygun değildi. İlerledikce istisna durumları incelemek ve anlamak daha da kolaylaşıyor olacaktır.

Herşeyden önce Fluent NHibernate ile herhangi bir veritabanını kullanıldığı düşünülerek çalışılmalıdır. Yazacağımız kodun tamamı nesneye yönelik olması gerektiğinden nesne yönelimli kodlama önemli bir yer tutmaktadır.

More...

Tags: , | Categories: c#, nhibernate Posted by Admin on 5/3/2011 9:18 PM | Comments (0)

Daha önceki örneklerde Fluent NHibernate i her seferinde tek bir sınıf ile kullandık(Öğrenci sınıfı) bu örnekte ise birbiri ile ilişkisi olan iki farklı sınıf tasarlayıp nasıl Map edileceğine deyiniyor olacağım. Örneği yine öğrenci sınıfını kullanarak anlatacağım ve bu sefer Sınıf adında başka bir sınıfımız daha olacak. Böylelikle aralarındaki ilişkiyi kurarak ilişkisel nesneleri de anlamaya çalışıyor olacağız.

Genel olarak ifade etmem gerekirse her öğrencinin bir sınıfının ve her sınıfında öğrencileri olduğunu kabul ederek iki sınıfı da tasarladığımı söyleyebilirim. Böylelikle aşağıdaki öğrenci ve sınıf nesnelerini tanımlayabilirim.

More...

Tags: , | Categories: c#, nhibernate Posted by Admin on 5/2/2011 8:39 PM | Comments (0)

Merhabalar, bu yazıyı okumadan önce şu yazıyı okumanızı tavsiye eder ve söze böylelikle başlarım. :) Bilindiği üzere NHibernate kendine has HQL diye bir sorgulama diline sahiptir. Bu sorgulama dilini öğrenmek yerine ben linq le gayet iyiydim diyenler için NHibernate.Linq projesi geliştirilmiş. Kullanımına dair küçük bir örnek:

session.Linq<Ogrenci>().ForEach(o => Console.WriteLine(o.AdiSoyadi));

More...