Tek Fotoluk İpucu - 8 (Parallel ConcurrentBag) 28 Haziran 2011 Burak-Selim-Senyurt .Net Framework 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Concurrent Collections deyince aklımıza Thread-Safe koleksiyon tipleri gelmelidir. Söz gelimi bir ConcurrentBag koleksiyonunun basit kullanımına bir örneği aşağıdaki gibi verebiliriz. Concurrency.rar (23,94 kb)
Tek Fotoluk İpucu - 7 (Windows Liste Bazlı Kontrolleri ve ToString Metodu) 27 Haziran 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, WinForms programcılığında sık rastlanan sorunlardan birisi de, kendi özel tiplerimizi liste bazlı kontrollere bağladığımız durumlarda ortaya çıkmaktadır. Acaba liste bazlı kontrolün içeriğini kendimiz nasıl belirleyebiliriz? SmartToString.rar (36,38 k... [Daha fazla]
Tek Fotoluk İpucu - 6 (Fluent Exception Handling) 24 Haziran 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Bazen iç içe çağrılarda bulunan metod zincirlerinde herhangibir seviyede meydana gelen Exception durumunu, en üst noktada yakalamak isteriz. Bu durumda balon köpüğü misali bir aşağıdan yukarı yükselen bir mekanizmayı kullanabiliriz. ... [Daha fazla]
Tek Fotoluk İpucu - 5 (Rastgele Sıralı Generic List Koleksiyonu) 24 Haziran 2011 Burak-Selim-Senyurt C#, C# 3.0, C# 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Elinizde List tipinden bir koleksiyon var ve içerisindeki nesnelerden rastgele sırada yeni bir liste kullanmak istiyorsunuz. Ne yaparsınız? İşte cevabı RandomList.rar (22,53 kb)
Tek Fotoluk İpucu - 4 (DebuggerBrowsable Niteliği) 23 Haziran 2011 Burak-Selim-Senyurt .Net Framework 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Attribute diyip geçmeyin. Bazıları çalışma zamanında o kadar çok işe yarıyor ki. Örneğin DebuggerBrowsable niteliği. İşte kullanım şekli. Farkı görebiliyor musunuz? DebugTips.rar (21,35 kb)
Tek Fotoluk İpucu - 3 (Tuple) 23 Haziran 2011 Burak-Selim-Senyurt C# 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, .Net Framework 4.0 ile gelen Tuple tipini duymayan kalmamıştır. Duymak bir yana en büyük sorun ne zaman ve hangi amaçlar ile kullanılabileceğidir. İşte tek fotoluk ipucu serisinin bu günkü konusu. Örnek bir Tuple kullanımı. Metodlardan birden fazl... [Daha fazla]
Tek Fotoluk İpucu - 2 (StackTrace ve Çalışma Zamanı Metod Bilgisi) 22 Haziran 2011 Burak-Selim-Senyurt C#, C# 3.0, C# 4.0, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Hani olurda çalışma zamanında(Runtime) o anda yürütülmekte olan metodun bilgilerine kolayca ulaşmak istersiniz. Özellikle loglama sistemlerinde. İşte bu durumda StackTrace tipinden yararlanabilirsiniz. Nasıl mı? Aşağıdaki fotoğrafta(ya da Ercan Hocamız... [Daha fazla]
Tek Fotoluk İpucu - 1 (Tek Where ya da n adet Where) 19 Haziran 2011 Burak-Selim-Senyurt LINQ, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Bazen bir fotoğraf bin kelimeye bedeldir derler. Bin kelime konusunda şüpheliyim ama bir fotoğrafın anlatım gücü açısından çok önemli katma değerlere sahip olduğuna inanıyorum. İşte size LINQ konusunda performans ipucu verecek bir fotoğraf. Baka... [Daha fazla]
Netspecter Takipte - Object Initializer Deyip Geçmemek Lazım 14 Nisan 2011 Burak-Selim-Senyurt C#, C# 3.0 C# 3.0 ile birlikte gelen önemli yeniliklerden birisi de Object Initializers kullanımı idi. Bu kullanım sayesinde özellikle LINQ(Language Integrated Query) sorgularında Anonymous Type üretiminin mümkün hale gelmesi de sağlanmaktaydı. Dolayısıyla her zaman ifade ettiğimiz gibi bu yenilik, başka bir yeniliğin yapılabilmesi için getirilmiş bir yenilikti. [Daha fazla]
Netspecter Abstract Class Peşinde 07 Nisan 2011 Burak-Selim-Senyurt C# Netspecter bu kez bir abstract sınıfın peşinde. Sizin içinde eğlenceli bir deneyim olacağına inandığım enteresan bir vakayı analiz etmeye çalışıyor olacağız. Çoğunlukla kod geliştirirken pek fark etmediğimiz bir hata ama hemen çözüm üretebiliyorz. Lakin bu çözümü üretirken istediğimizin dışında bir sonuca da neden olabiliyoruz. Dilerseniz hiç vakit kaybetmeden konumuza geçelim. İlk olarak aşağıdaki kod içeriğini göz önüne alarak başlamamızda yarar olacağı kanısındayım. [Daha fazla]
Fluent Interface Nedir? 27 Mart 2011 Burak-Selim-Senyurt C# Bu günkü yazımızda ilk olarak Martin Fowler ve Eric Evans tarafından tanımlanan Fluent Interface konusunu irdelemeye çalışıyor olacağız. Aslında kelime anlamlarından yola çıkarsak okunabilir, açık, net arayüz tiplerinden bahsettiğimizi düşünebiliriz. Ancak bu şekilde söz konusu kavrama biraz haksızlık etmiş oluruz. Fluent Interface esas itibariyle daha okunabilir kodlama açısından önem arz eden ve uygulanması sırasında metod zincirlerinden yararlananan bir yaklaşım sunmaktadır. Şimdi ne demek istediğimizi ben de ifade edemedim aslında Confused smile Gelin basit bir örnek ile konuyu didiklemeye başlayalım.Bu amaçla aşağıdaki kod içeriğini göz önüne alabiliriz. [Daha fazla]
Daha iyi Kodlama için Basit Öneriler 17 Mart 2011 Burak-Selim-Senyurt C# Aslında daha okunaklı, daha efektif ve zaman zaman daha verimli kod üretmek için bir kaç küçük noktaya dikkat etmekte yarar olabilir. Bu sayede sanıyorum ki kodlarımız en azından daha şık duracaktır Wink Gelin bu bir kaç küçük püf noktadan bir kaçına hep birlikte bakalım. [Daha fazla]
Regex ve Performans İpuçları – Interpreted ve Compiled Farkı, Bir de Sürpriz 03 Mart 2011 Burak-Selim-Senyurt C# İnce ayarlar çekilmiş bir yazılım, zaman zaman çok hızlı sonuçlar verebilir. Hatırlayacağınız üzere Regex ve Performans İpuçları – Otomatik Cache başlıklı bir önceki yazımızda son derece sıcak bir gecede, Regex tipinin performanslı kullanımına ilişkin ilk ip ucunu aktarmış ve sonuçlarını incelemeye çalışmıştık. Regex kullanımında dikkat çeken noktalardan bir diğeri de(bir başka deyişle yapılabilecek ince ayarlardan bir diğeri de) yorumlanarak(Interpret) veya önceden derlenerek(Compiled) çalıştırılabilen ifadeler ile ilişkilidir. [Daha fazla]
Bana Bir Struct Yaz. Yok Yok Bana Bir Class Yaz. 28 Şubat 2011 Burak-Selim-Senyurt C# Bu yazımızda, Struct(Yapı) ile Class(Sınıf) tipleri arasındaki temel farklılıkları irdelemeye çalışıyor olacağız. Ancak benzerlikleri de yakalamaya gayret edeceğiz. (Hemen şunu hatırlatalım; .Net Framework, 5 temel veri tipi tanımlar. Bunlar Class, Struct, Enum, Interface ve Delegate tipleridir) Özellikle Struct tipinin kullanımına ilişkin örnekler geliştireceğiz. [Daha fazla]
Yıllar Sonra Yeniden Enum Sabitleri 20 Şubat 2011 Burak-Selim-Senyurt C# İşte bu yazımızda Enum sabitlerinin başımıza dert olabileceği bir kaç vakayı ele almaya çalışıyor olacağız. Öyleyse hızlı bir başlangıç yapalım ve aşağıdaki kod parçasını göz önüne alalım. [Daha fazla]
Temeller Kolay Unutulur (C# – Implicitly Name Hiding Sorunsalı) 06 Şubat 2011 Burak-Selim-Senyurt C# Özellikle C#, Java gibi nesne yönelimli(Object Oriented) programlama dillerinin temelleri son derece önemlidir ve bu temeller bir süre sonra profesyonel bir geliştirici için artık bisiklet sürmek gibi unutlmayacak unsurlara dönüşmelidir. İşte bu yazımızda kolayca unutulabilen bilinçsiz üye gizleme(Implicitly Name Hiding) ile alakalı bir vakayı ele almaya çalışıyor olacağız. [Daha fazla]
Struct, Class ve Default Constructors - İnanmak İstiyorum 27 Eylül 2010 Burak-Selim-Senyurt C# Konumuz C# programlama dilinin temelleri arasında sayılmaktadır. Class ve Struct tiplerinde Default Constructor(Varsayılan Yapıcı Metod) kullanımı. Bildiğiniz üzere .Net Framework Base Class Library üzerinde tiplere en üst seviyeden baktığımızda değer(Value) ve referans(Reference) türleri olarak ikiye ayırmaktayız. [Daha fazla]
Microsoft Gelişim Atölyesi Teknoloji Kampında Buluşalım 21 Eylül 2010 Burak-Selim-Senyurt Seminerler 5,6 Ekim 2010 tarihlerinde Microsoft Gelişim Atölyesi Teknoloji Kampı düzenleniyor olacak. Bir aksilik olmassa bende Visual Studio 2010 ile Etkin Ürün Geliştirme konulu bir sunum yapıyor olacağım. Sunum için bana ayrılan 45 dakikalık zaman diliminde aşağıdaki konulardan bahsetmeyi ve ilgili örnekler yapmayı planlıyorum. [Daha fazla]
Diamond Problem, C# ve Multiple Inheritance 15 Eylül 2010 Burak-Selim-Senyurt C# Olaya C++ tarafından baktığımızda, Diamond Problem adı verilen bir sorunsalın, böyle bir yasağa neden olduğunu da ifade edebiliriz. Peki Diamond Problemi nedir? Dilerseniz öncelikle bu vakayı ele almaya çalışarak işe başlayalım. [Daha fazla]
Regex ve Performans İpuçları – Otomatik Cache 06 Ağustos 2010 Burak-Selim-Senyurt C# Aslında Regular Expression terimini ağırlıklı olarak Asp.Net Web uygulamalarından tanımaktayız. Bu anlamda özellikle RegularExpressionValidator web kontrolünden yararlanarak, girilen verinin doğrulanması için bazı desenleri kullanabiliyoruz. [Daha fazla]
LINQ Sorgusu mu? ForEach mi? Bir Türlü Karar Veremedim 27 Mayıs 2010 Burak-Selim-Senyurt C#, LINQ Bilim Kurgu fanatiklerinin kafasında her zaman hayranı oldukları filmlerden kesitler, sahneler kalır. Matrix filmini izleyenler eminimki Neo' ya uzatılan kırmızı ve mavi hap serenatını gayet iyi hatırlayacaktır. Morpheus haplardan birisinde Alice Harikalar Diyarının kapılarını ardına kadar açabileceğini ifade ederken, diğer hapı yuttuğunda, Neo' nun yatağında hiç bir şey olmamış gibi uyanacağını ve tüm bunların bir hayalden ibaret olduğunu düşüneceğini belirtir. Tabi Neo amacına ulaşmak için zaten hangi hapı içmesi gerektiğini biliyordur ki son bölümde aslında gerçekten hapı yutmaktadır [Daha fazla]
Int32 ve Int64 Haricindekiler için Parallel.ForEach 17 Mayıs 2010 Burak-Selim-Senyurt Parallel Programming Dolayısıyla bazı durumlarda en tepeden aşağıya doğru inen ve bağlı liste(Linked List) benzeri bir oluşumun sağlanması zorlaşmaktaydı. Her neyse...Eminim bu sorunlar çoktan aşılmıştır. Ancak bir önceki cümlede yer alan bağlı liste tarzı yapıların başında dolaşan bir kara bulut daha mevcuttur. Sorunun kaynağında paralel programlama amacıyla .Net ortamına kazandırılan Parallel.ForEach döngüsü yer almaktadır. Dilerseniz öncelikle sorunu masaya yatıralım. Bu amaçla aşağıdaki kod içeriğine sahip Employee isimli basit bir sınıfımız olduğunu düşünelim. [Daha fazla]
Değişken Atamalarında Bir Efsane 12 Nisan 2010 Burak-Selim-Senyurt C# Bu kod parçasında double tipinden olan x, y ve z değişkenlerine tek satırda Pi değerinin atanması söz konusudur. Bu son derece doğaldır nitekim eşitliğin sağından başlayan bir atama sırası mevcuttur. Hatta buna göre aşağıdaki ifade de doğrudur. [Daha fazla]
Object vs Dynamic 31 Mart 2010 Burak-Selim-Senyurt C#, C# 3.0, C# 4.0 Ayrıntılar detaylarda saklıdır. Bu cümleyi çok severim. Sevdiğim özlü sözler arasındadır. Gerçel bir nesnenin ne kadar kaliteli olduğunu anlamak için detaylarına bakmak gerekir. İşçiliğine, kullanılan malzemeye, malzemelerin uyumuna vs...Hatta benzer diğerleri ile olan kalite farkını anlamak için bile. Çok doğal olarak yazılım dünyasında da bir takım konuların anlaşılabilmesi, kavranabilmesi, benzerleri ile olan farklarının irdelenebilmesi için mutlaka detaylara bakmak, ama sıkılmadan bakmak gerekir. Aynen bu günkü yazımızda yapacağımız gibi. [Daha fazla]
1652 Sayfalık İçerik - Tüm Blog Girdilerim 24 Şubat 2010 Burak-Selim-Senyurt Teknik Dışı Konular Bir yazılımcı sıkıldığında ne yapar? İşte bu günün sorusu...Büyük ihtimalle işlerinden bunalmış veya bazı şeyleri kafaya taktığından içinden çıkılması güç bir psikoloji altına girmiş bir yazılımcının yapacağı şeyler aslında yine teknoloji merkezli olacaktır. Peki ya siz olsanız ne yaparsınız? [Daha fazla]