CallBack Tekniği ile Asenkron Metod Yürütmek 09 Eylül 2005 Burak-Selim-Senyurt C# Çoğu zaman projelerimizde, çalışmakta olan uygulamaları uzun süreli olarak duraksatacak işlevlere yer veririz. Özellikle görsel tabanlı uygulamalarda veritabanlarına ait kapsamlı sorguların yer aldığı işlemlerde bu sorunla sıkça karşılaşılmaktadır. En büyük problem var sayılan olarak kod satırlarının senkron hareket etmesidir... [Daha fazla]
Web Uygulamalarında Custom Paging 03 Eylül 2005 Burak-Selim-Senyurt Asp.Net Geliştirdiğimiz web uygulamalarında özellikle DataGrid kontrollerini kullandığımızda sayfalama işlemini sıkça kullanırız. Genellikle sayfalama işlemlerini var sayılan hali ile kullanırız. Bu modele göre grid üzerinde sayfalama yapabilmek için PageIndexChanged olayını ele almamız gerekir. [Daha fazla]
Numaralandırıcıları Kullanmak İçin Bir Sebep 28 Ağustos 2005 Burak-Selim-Senyurt C# Bildiğiniz gibi numaralandırıcılar (enum sabitleride diyebiliriz) yardımıyla sayısal değerleri kod içerisinde daha anlamlı isimlendirmelerle ifade edebiliriz. Uygulama geliştirirken çoğunlukla framework' ün parçası olan pek çok enum sabitini kullanmaktayız. [Daha fazla]
SortedList ve Hashtable İçin 2 Basit Öneri 06 Ağustos 2005 Burak-Selim-Senyurt C# SortedList ve Hashtable koleksiyonları, anahtar-değer (key-value) çiftlerini esas alır. Hashtable koleksiyonu özellikle sahip olduğu elemanlar ile ilgili işlemlerde kullandığı hash algoritmalı teknik sayesinde en hızlı çalışan koleksiyon olma özelliğinide gösterir. Diğer yandan SortedList anahtar-değer çiftlerinin, anahtar değerine göre her zaman sıralandığı bir koleksiyon tipidir. [Daha fazla]
Tip Güvenli (Type Safety ) Koleksiyonlar Oluşturmak - 2 31 Temmuz 2005 Burak-Selim-Senyurt C# Bir önceki makalemizde tip güvenli koleksiyon nesnelerimizi CollectionBase sınıfı yardımıyla nasıl oluşturabileceğimizi incelemiştik. CollectionBase bize ArrayList benzeri koleksiyon sınıflarını yazma fırsatı vermektedir. Diğer yandan Hashtable koleksiyonunda olduğu gibi key (anahtar) - value (değer) çiftlerinden oluşacak tip güvenli bir koleksiyon sınıfı yazmak isteyebiliriz. [Daha fazla]
Tip Güvenli (Type Safety ) Koleksiyonlar Oluşturmak - 1 23 Temmuz 2005 Burak-Selim-Senyurt C# Tip güvenliğini sağlamak her zaman için önemli unsurlardan birisidir. Koleksiyon tabanlı nesneleri kullanırken çoğu zaman istediğimiz tip güvenliğini sağlayamayabiliriz. Buradaki en büyük etken, koleksiyon tabanlı nesnelerin object tipinden referanslar taşıyor olmasıdır. [Daha fazla]
Dizilere(Arrays) İlişkin Üç Basit Öneri 14 Temmuz 2005 Burak-Selim-Senyurt C# Hepimiz dizileri (Arrays) bilir ve kullanırız. Her ne kadar günümüzde koleksiyonlar, xml kaynakları ve tablo yapıları veri saklamak amacıyla daha çok kullanılıyor olsalar da, dizilerdende yoğun şekilde yararlanmaktayız. Örneğin kendi tasarladığımız bir sınıfa ait nesneler topluluğunu pekala bir dizi şeklinde ifade edebilir hatta serileştirebiliriz (serializable). [Daha fazla]
C# 2.0 İçin İterasyon Yenilikleri 05 Temmuz 2005 Burak-Selim-Senyurt C# Bazen kendi yazmış olduğumuz tiplerin dizi bazlı elemanları olur. Uygulamalarımızda, bu elemanlar arasında, elamanların sahipi olan nesne örneği üzerinden ileri yönlü iterasyonlar kurmak isteyebiliriz. Foreach döngüleri belirtilen tip için bu iterasyonu sağlayan bir mekanizmaya sahiptir. [Daha fazla]
C# 2.0 Covariance ve Contravariance Delegates 30 Haziran 2005 Burak-Selim-Senyurt C# Bildiğiniz gibi temsilciler (delegates) çalışma zamanında metodların başlangıç adreslerini işaret eden tiplerdir. Bu tipleri uygulamalarımızda tanımlarken çalışma zamanında işaret edebilecekleri metodların geri dönüş tipi ve parametrik yapılarını bildirecek şekilde oluştururuz. [Daha fazla]
C# 2.0 ile Partial Types (Kısmi Tipler) 27 Haziran 2005 Burak-Selim-Senyurt C# Visual Studio.Net ile windows veya web uygulamaları geliştirirken, kod yazılması sırasında karşılaştığımız güçlüklerden birisi, tasarım kodları ile kendi yazmış olduklarımızın iç içe geçmeleridir. Bu zamanla kodun okunabilirliğini zorlaştıran bir etmendir. [Daha fazla]
C# 2.0 ve Nullable Değer Tipleri 22 Haziran 2005 Burak-Selim-Senyurt C# C# programlama dilinde bildiğiniz gibi veri türlerini Referans Türleri(Reference Types) ve Değer Türleri (Value Types) olmak üzere iki kısma ayırıyoruz. Bu iki tür arasında bellek üzerinde fiziki tutuluş şekillerinden tutunda birbirleri arasındaki atamalara kadar pek çok farklılık vardır. [Daha fazla]
C# 2.0 ve Static Sınıflar 20 Haziran 2005 Burak-Selim-Senyurt C# Çoğu zaman uygulamalarımızda, nesne örneğinin oluşturulmasına gerek duymayacağımız üyeleri kullanmak isteriz. Bu amaçla static üyeleri kullanırız. Şimdi bir de sadece static üyelerden oluşacak bir sınıf tasarlamak istediğimizi düşünelim. [Daha fazla]
C# 2.0 ve Anonymous (İsimsiz) Metodlar 16 Haziran 2005 Burak-Selim-Senyurt C# İsimsiz metodlar bildiğiniz gibi C# 2.0' a eklenmiş olan yeni özelliklerden birisidir. Temeli C# dilinin temsilci tipine dayanan bu yeni teknikte amaç, temsilcileri işaret edecekleri metodların sahip oldukları kod blokları ile bir seferde tanımlayabilmektir. [Daha fazla]
Operator Overloading (Operatörlerin Aşırı Yüklenmesi) 03 Haziran 2005 Burak-Selim-Senyurt C# Hepimiz uygulamalarımızda sıklıkla operatörleri kullanmaktayız. Matematiksel işlemlerde, koşullu ifadelerde,tip dönüştürme işlemlerinde vb...Ancak onların kendi yazdığımız sınıflar için özel anlamlar ifade edecek şekilde yüklenmesi ile pek az uğraşmaktayız. [Daha fazla]
Kendi İstina Nesnelerimizi Kullanmak (ApplicationException) 23 Mayıs 2005 Burak-Selim-Senyurt C# İstisna yakalama mekanizması (Exception Handling) dotNet mimarisinde oldukça önemli bir yere sahiptir. Bu mekanizma sayesinde uygulamalarımızın kilitlenmesi ve istem dışı bir şekilde sonlandırılmaya zorlanmasının önüne geçmiş oluruz. [Daha fazla]
Ado.Net 2.0 ve Data Provider-Independent Mimari 24 Nisan 2005 Burak-Selim-Senyurt Ado.net 2.0 Veritabanı uygulamalarında başımızı ağrıtan noktalardan bir tanesi farklı tipte veritabanı sistemleri kullanan uygulamaların geliştirilmesi sırasında ortaya çıkar. Çoğu zaman geliştirdiğimiz bir ürün Sql sunucları üzerinde yüksek performans gösterecek şekilde çalışmak zorunda iken, aynı ürünün Oracle üzerinde çalıştırılması da istenebilir. [Daha fazla]
Ado.Net 2.0' da Transaction Kavramı 17 Nisan 2005 Burak-Selim-Senyurt Ado.net 2.0 Transaction kavramı ve kullanımı veritabanı programcılığının olmazsa olmaz temellerinden birisidir. Veritabanına doğru gerçekleştirilen işlemlerin tamamının onaylanması veya içlerinden birisinde meydana gelecek bir istisna sonrası o ana kadar yapılan tüm işlerin geri alınması veri bütünlüğünü korumak açısından son derece önemlidir. [Daha fazla]
DataReader Nesnelerini Kullanırken… 04 Nisan 2005 Burak-Selim-Senyurt Ado.Net Bir önceki makalemizde Command nesnelerini kullanırken dikkat etmemiz gereken noktalara değinmiştik. Bu makalemizde ise DataReader nesnelerini kullanırken bizlere avantaj sağlayacak tekniklere değinmeye çalışacağız. Önceki makalemizde olduğu gibi ağırlık olarak SqlDataReader nesnesini ve Sql veritanını kullanacağız. DataReader nesneleri bildiğiniz gibi, bağlantılı katman (connected-layer) üzerinde çalışmaktadır. [Daha fazla]
Command Nesnelerine Dikkat! 27 Mart 2005 Burak-Selim-Senyurt Ado.Net Bu makalemizde, Command nesnelerini kullanırken performans arttırıcı, kod okunurluğunu kolaylaştırıcı, güvenlik riskini azaltıcı etkenler üzerinde duracağız ve bu kazanımlar için gerekli teknikleri göreceğiz. [Daha fazla]
Self Referencing Relations ve Recursive(Yinelemeli) Metodlar 14 Mart 2005 Burak-Selim-Senyurt Ado.Net Çoğumuz çalıştığımız projelerde müdür,müdür yardımcısı gibi ast üst ilişkisine sahip olan organizasyonel yapılarla karşılamışızdır. Örneğin işletmelerin Genel Müdür’ den başlayarak en alt kademedeki personele kadar inen organizasyonel yapılar gibi. Burada söz konusu olan ilişkiler çoğunlukla pozisyonel bazdadır. [Daha fazla]
Bağlantısız Katmanda Concurrency Violation Durumu 06 Mart 2005 Burak-Selim-Senyurt Ado.Net Bağlantısız katman nesneleri ile çalışırken karşılaşabileceğimiz problemlerden bir tanesi güncelleme işlemleri sırasında oluşabilecek DBConcurrencyException istisnasıdır. Bu makalemizde, bu hatanın fırlatılış nedenini inceleyecek ve alabileceğimiz tedbirleri ele almaya çalışacağız. [Daha fazla]
RijndaelManaged Vasıtasıyla Encryption(Şifreleme) ve Decryption(Deşifre) 23 Şubat 2005 Burak-Selim-Senyurt C# Bu makalemizde, Rijndael Algoritmasını kullanan Managed tiplerden RijndaelManaged sınıfı ile şifreleme (encryption) ve deşifre etme (decryption) işlemelerinin nasıl gerçekleştirilebileceğini incelemeye çalışacağız. [Daha fazla]
Caching Mekanizmasını Anlamak - 2 07 Şubat 2005 Burak-Selim-Senyurt Asp.Net Hatırlayacağınız gibi bir önceki makalemizde, web uygulamalarında caching mekanizmasını incelemeye başlamış ve ara belleğe alma tekniklerinden Output Cache yapısını incelemiştik. [Daha fazla]
Caching Mekanizmasını Anlamak - 1 21 Ocak 2005 Burak-Selim-Senyurt Asp.Net Bu makalemiz ile birlikte, web sayfalarının istemcilere daha hızlı bir şekilde ulaştırılmasında kullanılan tekniklerden birisi olan Caching (Ara Belleğe Alma) mekanizmasını incelemeye başlıyacağız. [Daha fazla]
Derinlemesine Session Kullanımı - 2 08 Ocak 2005 Burak-Selim-Senyurt Asp.Net Bir önceki makalemizde hatırlayacağınız gibi, Session nesnelerinin kullanımını incelemeye başlamıştık. Bu makalemizde ise, Session nesnelerinin nerelerde saklanabildiğine değinmeye çalışacağız. [Daha fazla]