Kazım Cesur

SQL Server performans çalışması yaparken kullanabilecek DMV’ler

DMV (Dynamic management views) ve DMF (Dynamic management functions), sql server ve instance’larını gözlemlemek (monitor etmek), herhangi bir problemi teşhis etmek yada sql sunucunun daha performanslı çalışması için index, key vb. eksik tanımları bulmak için kullanılan, sunucu durumu hakkında bilgi dönen sql server ile hazır gelen sistem view ve function’larıdır.
(daha&helliip;)

Singleton Design Pattern

SingletonSingleton tasarım deseni yazılım mühendisliğinin en çok bilinen tasarım desenlerinden birisidir. Temel olarak basit bir singleton sınıf tasarlandığında kendisinden sadece bir instance oluşturmamıza izin verir ve her instance çağırımında aynı instance kullanılmış olur. Genel olarak singleton sınıflardan bir instance oluşturulurken herhangi bir parametre kullanılarak instance oluşturulmaz aksi halde oluşturulan singleton instance’ın ikinci bir çağırımında farklı bir parametre kullanımı farklı problemlere neden olur! (Eğer aynı instance aynı parametreler ile farklı çağırımlarda kullanılmak isteniyorsa factory pattern daha uygun bir kullanım olacaktır.) Ayrıca singleton sınıfları lazy olarak oluşturmak singleton desenin tipik bir gereksinimidir.

(daha&helliip;)

Servis Kontrol Aracı – (Service Controller Utility)

SC – Servis Kontrol aracı Windows servislerini komut satırından yönetebileceğiniz güçlü bir araçtır. Bu aracı kullanarak gerçekleştirebileceğiniz çeşitli fonksiyonları paylaşmaya çalışacağım.

Windows işletim sistemininde çalışan bir çok process’in ve yüklenen yazılımların kullandığı fonksiyonlar “services” altında tanımlanmaktadır. Servisleri grafiksel bir ara birimdede de yönetebilirsiniz. Bu arabirime Start => Run => “services.msc” komutunu vererek ulaşabilirsiniz. Buna ek olarak servisleri Servis Kontrol Aracı – (Service Controller Utility) kullanarak yönetebilmekteyiz. Windows XP, Vista, 7 yada Windows server işletim sistemlerinde bu aracı kullanabilmekteyiz.
(daha&helliip;)

C# XML Serialization

Bu makaleyi okumaya başlamadan önce C# Serialization ve DeSerialization makalemi okumanızı tavsiye ederim.

XML Serilization, bir sınıfın public özelliklerini yada bir metodun parametrelerini ve geri dönüş değerlerini XML stream içerisine serileştirir. XML serileştirme metod, indexer, private özellikler, read-only özellikleri (read-only koleksiyonlar hariç) içermez. Çünkü XML genel bir standart olduğundan, XML stream herhangi bir platform üzerindeki herhangi bir uygulama tarafından işlenebilmelidir. Örneğin ASP.NET Web Servisleri, servis iletişiminde verileri Internet ve Intranet üzerinden göndermek için XML serileştirme kullanarak XML stream’ler oluşturarak iletmektedir. Buna karşın ters-serileştirme işlemindede bu XML stream’ler alınarak nesne tekrar oluşturulmaktadır.

Binary serileştirmenin aksine XML serileştirme tip sistem güvenilirliğini korumamaktadır (not preserves type system fidelity). Diğer bir deyişle tip bilgilerini içermemektedir. Örneğin Company namespace’i içerisinde yer alan Employee nesnemizin olduğunu düşünelim, bu nesne XML serileştirme ile serileştirilip sonrasında ters-serileştirildiğinde aynı tipte olacağının bir garantisi yoktur.

XML serileştirme ve ters-serileştirme işlemleri System.Xml.Serialization.XmlSerializer sınıfından faydalanılarak gerçekleştirilmektedir. Bu sınıfın en önemli metodları Serialize ve Deserialize‘dır.
(daha&helliip;)