Makale Arşivi
.NET'teki Decimal Türünün Bitsel Organizasyonu
128 bit (16 byte) uzunluğundaki decimal türünün en belirgin özelliği yuvarlama hatası (rounding error) olmadan 29 basamak mantise sahip noktalı sayıları tam olarak tutabilmesidir.
ADO.NET ile Exchange Server'a Programatik Erişim
Exchange Server, hiyerarşik bir veri tabanı olarak organize edilmiştir. Exchange Server 200X, mail haricindeki bilgileri -söz gelimi kurulum bilgileri- tutmak için active directory'i kullanır. Bunun pratik anlamı; Exchange Server 200X 'e active directory'e ilişkin yöntemlerle erişilebiliyor olmasıdır.
Analysis Service OLAP Nedir ?
Analysis Services Temel Kavramlar
NOT : Bu yazı Aykut TAŞDELEN'in Reporting Service ile Raporlama kitabından bir alıntıdır izinsiz kullanılamaz.
Android sqLite, "column _id does not exist" hatasının çözümü
Android’te kullanılan sqlite isimli veritabanından yapılan bir select sorgusunda _id ismiyle map edilmemiş bir kolon olduğunda ortaya çıkan bu hatanın çözümü aşağıdaki gibi ve oldukça basittir:
Cursor cur = db.rawQuery(“Select id as _id, Garson, Siparis from Siparisler”, null);
Bu hata özellikle Cursor ve SimpleCursorAdapter gibi sınıflar kullanıldığında ortaya çıkmaktadır.
ASP.NET Kaynak Kullanımıyla Yerelleştirme ve Çoklu Dil Desteği (Lokalizasyon ve Globalizasyon)
Farklı dilleri destekleyen sitelerin tasarımı için ASP.NET kaynak kullanımı yoluyla bir çözüm sağlamaktadır. Kaynaklar Local (Yerel) ve Global (Küresel) diye 2 başlıkta ele alınmıştır. Aralarındaki fark; lokal kaynakların sadece belirli bir sayfa için tanımlanması globallerin ise sitedeki tüm sayfalar için ortak kullanılabilmesidir. Lokal kaynak dosyaları isimlendirilirken bu nedenden ötürü sayfa ismi.resx biçiminde isimlendirilir. Örneğin "Giris.aspx.en-US.resx" gibi. Kaynak dosyaları gerçekte xml dosyasıdır. Aykut TAŞDELEN
ASP.NET Kütüphanesindeki (OOP) Tasarım Hataları
ASP.NET kütüphanesi geliştirilirken yapılmış olan bazı tasarım hataları gerek öğrenenler gerekse de benim gibi anlatanlar açısından bela niteliğindedir. Örneğin Control taban sınıfında yer alan EnableViewState ya da Controls gibi bazı üyeler bu sınıftan türeyen tüm alt sınıflara kalıtım yoluyla aktarılmakta ancak hepsinde kullanılamamaktadır. Ekleyen : Aykut TAŞDELEN
ASP.NET Master Page Kullanımı
Gerçek hayatta yazılan uygulamalara ilişkin sayfa ya da ekranlar büyük oranda birbirini taklit eden ve tutarlı bir görselliğe sahiptir.
ASP.NET User Control İçindeki Kontrollerin JavaScript ile Yakalanması
ASP.NET'te bir UserControl içinde yer alan bir (iç) kontrole JavaScript ile erişilmek istenirse sorun çıktığı görülecektir. Bu makalede bu sorunun çözümü ele alınmaktadır.
Aykut TAŞDELEN
ASP.NET ve JSF’de Visible Olmayan Kontroller için HTML Üretilmeme Sorununun Çözümü
İpucu : Bildiğiniz gibi ASP.NET’te şayet bir kontrolün Visible property’sine False değeri atarsanız kontrolü sayfada görünmez hale getirirsiniz. Ancak ASP.NET bunu yapabilmek için kontrolün html kodunu hiç üretmemeyi tercih eder. Oysa bu tercih geliştiriciler için bazen sorun teşkil etmektedir. Aykut Taşdelen
ASP.NET Web Servislerinde Session Kullanımı
Web Servislerinde de diğer ASP.NET uygulamalarında olduğu gibi Session kullanılabilir. Buna bir web servis sınıfı içindeki herhangi bir web metotla başka bir sınıfa ait web metot arasında veri paylaşımı noktasında ihtiyaç duyulur. Aykut TAŞDELEN
Bağımlılığı Ters Çevirme Prensibi (Dependency Inversion)
NOT : Bu yazı Aykut TAŞDELEN’in yakında çıkacak olan UML ve Dizayn Paternleri kitabından alıntıdır izinsiz kullanılamaz.
İlk kez Robert Martin tarafından formüle edilmiş olan bu prensip, yüksek seviyeli sınıfların, aşağı seviyeli sınıflarla doğrudan bir bağının olmamasına dayanır.
C# Uygulama Ayarlarına Erişim
C# where keyword ile generic tiplere açılım kısıtlaması getirmek
C# dilinde generic bir türe herhangi bir türde açılım yapılabilir. Ancak geliştirici şayet isterse açılım yapılabilecek türlerde kısıtlamaya gidebilir. Bu kısıtlama açılım yapılabilecek türlerin belirli bir taban sınıftan türetilmesi ya da belirli bir arayüzü implemente etmesiyle gerçekleştirilir. Örneğin aşağıdaki kod’da CBase sınıfından türetilen veya ISample’dan implemente edilen sınıflarla yapılacak açılımlar geçerli diğerleri ise kısıtlama nedeniyle geçersizdir. Aykut TAŞDELEN
C#'ta Fonksiyonların Sanallığı Yok Edilemez
Somut fonksiyon olgusu.
Aykut TAŞDELEN
C#'ta StackTrace ve StackFrame ile Tracing
StackTrace uygulamanın yaşam döngüsündeki belirli bir t anındaki aktif stack frame’lerin izlenebildiği bir tür rapor verisidir. Herbir stack frame ise çağrılmış ve henüz sonlanmamış olan bir fonksiyona ilişkin durum bilgisini (dosya, satır no vb) ifade eder. Geliştirici debug ve diagnostik amaçlarla bu bilgilere ulaşabilir. Özellikle iç içe fonksiyon çağırmalarında hata tespiti ve izleme açısından bu bilgi önemlidir.
Aykut TAŞDELEN
