Tasarım Desenleri – Template Method 03 Şubat 2015 Burak-Selim-Senyurt Tasarım Kalıpları(Design Patterns) Düzenli olarak teknik paylaşımlarda bulunan internet yazarlarının karşılaştığı en büyük sorunlardan birisi, hızla gelişen teknoloji nedeniyle ele alınan konuların kolayca eskimesidir. Hangi firma olursa olsun bu kural geçerlidir. Bu eskitme işinde elbette başı çeken bir kaç firma var. Zaman zaman yazarların serzenişte bulunup kızdığı Microsoft, Oracle, Google ve diğerleri. Pek tabi teknik yazıların bir yaşam ömrüne sahip olması, kalıcı olan içerik sayısının daha kıymetli olmasına neden olmaktadır. Söz gelimi bir programlama dilinin temel özellikleri, dilden bağımsız düşünülebilen matematik algoritmaları gibi mevzular kolay kolay eskimezler. Hatta eskimeyen konuların başında tasarım kalıpları(Design Patterns) gelir. [Daha fazla]
Şarkı Sözleri ve Eğlenceli Programlama 16 Ocak 2014 Burak-Selim-Senyurt WPF Mesela bir Windows Forms veya WPF(Windows Presentation Foundation) uygulaması olsa. Internete bağlanabildiği sürece istediğim sanatçının istenen albümündeki istediğim şarkının sözlerini getirse... [Daha fazla]
Sıralama Algoritmaları - Hangisi Daha Hızlı (Bubble, Quick, Insertion, Selection, Shell, Merge, Heap) 24 Eylül 2013 Burak-Selim-Senyurt C#, Data Structures, Algorithms Özellikle bu algoritmaların dil bağımsız olan Pseudo Code içeriklerinden yararlanarak her hangi bir dile uygulanmaya çalışılması üzerine epeyce kafa yormuşuzdur. C, C++, Java, Basic, Pascal ve benzeri temel programlama derslerinde edindiğimiz bilgiler ile bu algoritmaları yazmak için çokça uğraşmışızdır. Tabi üzülerek söylemeliyim ki ben üniversite yıllarındayken Bubble ve Quick Sort sıralama algoritmalarından fazlasını ne yazık ki göremedim. [Daha fazla]
Sıfır Sabit Değeri ve Enum Sorunu 19 Eylül 2013 Burak-Selim-Senyurt C# C# konulu yeni bir bilmece ile karşı karşıyayız. Bu sefer kolay kolay fark edemeyebileceğimiz, basit ama irdelenmesi gereken bir vakayı göz önüne alacağız. [Daha fazla]
Hanoi Towers Probleminin Recursive Çözümü 13 Haziran 2013 Burak-Selim-Senyurt C# Bu görsel dersimizde eğlenceli Matematik oyunlarından birisi olan Hanoi Kuleleri problemini, Recursive bir metod yardımıyla nasıl çözebileceğimizi incelemeye çalışıyoruz. İlk olarak problemi tanımlıyor ve oyunun kurallarına kısaca bakıyoruz. Sonrasında ise 3 disk için gerçekleştirilen çözümü simüle ediyoruz. Problemin çözümü için kullanılan alt problem parçalarını tanımlıyor ve C# ile kodlama işlemlerini gerçekleştirerek uygulamamızı inşa ediyoruz. [Daha fazla]
C#’ ın Enteresan Yanları 09 Haziran 2013 Burak-Selim-Senyurt C# Bu arada C# diline ait geniş bir dökümantasyonu C:\Program Files\Microsoft Visual Studio 11.0\VC#\Specifications\1033 klasörü altında bulabilirsiniz Winking smile 527 sayfalık CSharp Language Specification isimli bu döküman, elinizin altındaydı her zaman. Başka bir kitaba ihtiyacınız yok. En azından başlangıç seviyesinde. Visual Studio 2012 kurulumu sonrası gelen bu dökümantasyon aslında C# 3.0 sürümünden beri de mevcut. [Daha fazla]
Recursive Fibonacci Neden Yavaş? 07 Haziran 2013 Burak-Selim-Senyurt Algoritma, C# Okulda “Algoritma ve Veri Yapıları” dersinde ya da C# benzeri nesne yönelimli(Object Oriented) bir dili öğrenmeye başladığımız ilk zamanlarda, karşımıza muhakkak Recursive fonksiyonlar çıkmıştır(Çıkmaya da devam edecektir). Hatta en meşhur olanları da, bir sayının faktöryelinin (6!=6x5x4x3x2x1=720 ve 0!=1) bulunması veya Fibonacci sayı dizisinin(0,1,1,2,3,5,8,13,21,34…, Fn=(Fn-1(+(Fn-2)) ardışıl olarak ekrana yazdırılmasıdır. [Daha fazla]
Kodla Saçmalamaca 18 Temmuz 2012 Burak-Selim-Senyurt C# Lafı fazla uzatmadan felsefemizi örnek bir fikir ile ilişkilendirip ilerlemeye çalışalım. Örneğin geliştireceğiniz Freelance uygulamalarınızda sıklıkla kullandığınız ama aslında dünya bakış açısına göre çok uzun bir zaman boyunca sabit kalan belirli veri içeriklerine ihtiyacınız oldu. Ülke adları, kodları, telefon alan kodları vb…Karar verdiniz ve dediniz ki, [Daha fazla]
Tek Fotoluk İpucu-41(Let Keyword) 21 Kasım 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, LINQ sorgularını pek çoğumuz etkin bir şekilde kullanıyoruzdur. Ama belki aralarda atladığımız keyword' ler de vardır. Mesela Let. Çık sık kullanmasakta oldukça işimize yarayan bir anahtar kelimedir. Söz gelimi onu bir ifadeye eşitleyip LINQ sorgusunun ... [Daha fazla]
Tek Fotoluk İpucu-40(Sebze Çorbası) 16 Kasım 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Hani böyle annemiz zamanında içinde yok yok dedirtecek türden çorbalar yapmıştır. Her çeşit sebzenin konulduğu Hah işte bu fotoğrafta ona benziyor. İçinde generic mimari var, reflection var, dynamic tip kullanımı var Olay gayet basit. &Cce... [Daha fazla]
Tek Fotoluk İpucu-39(Dynamic Delegate Üretmek) 14 Kasım 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Bazen çalışma zamanına ilişkin yapmamız gereken atraksiyonlar olur. Söz gelimi çalışma zamanında bir delegate tipinin dinamik olarak üretilmesini ve yürütülmesini isteyebiliriz? Peki bu nasıl olacak? İşin içerisine birazcık Reflectio... [Daha fazla]
Tek Fotoluk İpucu-38(Delegate Chain) 13 Kasım 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Arada sırada temelleri de hatırlamak gerekir değil mi? Söz gelimi bir delegate zincirini nasıl kurar ve aynı parametreler için nasıl çalıştırırsınız? İşte size örnek DelegateChain.rar (22,77 kb)
Tek Fotoluk İpucu-37(Faydalı Interface Tiplerinden IComparer<T>) 05 Kasım 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, .Net içerisinde pek çok faydalı Interface tipi bulunmaktadır. Örneğin kendi tiplerinizin sıralama işlemlerini öğrenebilmesi için kullanabileceğimiz IComparer<T>. Nasıl kullanıldığını merak ediyor musunuz? İşte size basit bir fotoğraf Sort... [Daha fazla]
Tek Fotoluk İpucu-36(Config Dosyasına Kolay Ulaşım) 24 Ekim 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, .Net Framework 2.0 ile birlikte gelen Configuration API' sini hepimiz biliyoruzdur. Bu API sayesinde config dosya içeriklerinin Managed karşılıkları olan tiplere ulaşmamız son derece kolay. Aslına bakarsanız pek çok uygulamada config dosyası içerisinde Conne... [Daha fazla]
Tek Fotoluk İpucu-35(DeflateStream ile Sıkıştırmak) 21 Ekim 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Diyelim ki uygulama içerisinde kullandığınız büyük boyutlu bir byte dizisi var. Aslında bu diziyi bellek üzerinde sıkıştırarak daha az yer tutacak şekilde de kullanma şansınız olabilir. DelfateStream tipi bu anlmada işinize yarayacak Compress ve Decompress ... [Daha fazla]
Tek Fotoluk İpucu-34(Güncel Process için Bellek Bilgileri) 18 Ekim 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Çalıştırdığımız .Net tabanlı uygulamaların anlık bellek tüketimlerini kod içerisinden ölçümlemek ve hatta loglamak iyi bir fikir olabilir. Hatta bu çıktıyı XML formatında dış dünyaya da sunabiliriz. Basit anlamda aşağıdaki fotoğraf... [Daha fazla]
Tek Fotoluk İpucu-33(Xml Cast) 10 Ekim 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Varsayalım ki elimizde kendi geliştirdiğimiz tipler ve kullandığımız List koleksiyonları var. Ve olduda bir yerde bu koleksiyonların içeriklerinin XML çıktılarına ihtiyaç duyduk. Basit bir Extension method geliştirebilir miyiz acaba? ListExtensions.rar (... [Daha fazla]
Tek Fotoluk İpucu-32(Environment Verisini XML Olarak Sunmak) 22 Eylül 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, System.Environment tipi içerisinde son derece yararlı ortam bilgileri bulunmaktadır. Bu bilgileri elde etmek son derece kolaydır. Hatta dilerseniz bunları XML formatında dış dünyaya sunabilirsinizde. Nasıl mı? EnvironmentExtensions.rar (22,66 kb)
Tek Fotoluk İpucu-31(Hashing) 18 Eylül 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Hiç bir zaman kullanıcılarımıza ait şifreleri açık formatta saklamamamız gerekir. En basit anlamda söz konusu verileri Hash' leyerek tutmak en doğrusudur. Bu anlamda .Net tarafında kullanımı son derece basit olan Hash algoritma tipleri mevcuttur. Nasıl kullanı... [Daha fazla]
Tek Fotoluk İpucu-29 (Ne Kadar TextBox Varsa) 26 Ağustos 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu, Windows Forms Merhaba Arkadaşlar, Kaliteli kod yazmak için aslında biraz titiz düşünmek gerekir. Söz gelimi bir Windows programlamada bir Container kontrol içerisindeki tüm TextBox' ların içeriğini temizlemek istediğiniz bir durumda nasıl kodlama yaparsınız? İşin iç... [Daha fazla]
Tek Fotoluk İpucu-28(Bir Klasörün Yaklaşık Toplam Boyutunu Bulmak) 24 Ağustos 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Bir klasörün tüm içeriğinin toplam boyutunu öğrenmek isteyebiliriz. Bunun için DirectoryInfo tipine bir ExtensionMethod eklersek de güzel olur. Hatta bu metodun alt klasörleri de gezebilmesi için Recursive olarak yazılması da ge... [Daha fazla]
Tek Fotoluk İpucu-27(FileInfo Bilgisinin Tamamını İndirmek) 22 Ağustos 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, FileInfo tipi yardımıyla bir dosyanın pek çok özelliğine erişebiliriz bildiğiniz üzere. Peki tüm bu bilgileri tek bir String içerisinde toplamak ister misiniz? Söz gelimi loglamalarda bu oldukça işe yarayabilir. Hatta bunu bir Extension m... [Daha fazla]
Tek Fotoluk İpucu-26 (Runtime Method Çağrımı) 19 Ağustos 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Sanırım bir önceki tek fotoluk ipucunda çalışma zamanındaki bir nesne özelliğinin değerinin nasıl alınabileceğini görmüştük. Elbette reflection konulu işlerde bir nesne örneğinin bir metodunun çağırılması da söz konusu olabilir. N... [Daha fazla]
Tek Fotoluk İpucu-25 (Runtime Value ve Extension Method) 18 Ağustos 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Özellikle Reflection kullandığımız bazı çalışma zamanı senaryolarında, nesnelerin özellik değerlerini elde etmek istediğimiz durumlar da söz konusu olabilir. Çok basit bir senaryo göz önüne alındığında bunun için bir Extension m... [Daha fazla]
Tek Fotoluk İpucu-23 (BinaryFormatter, DataSet, Extension Methods) 05 Ağustos 2011 Burak-Selim-Senyurt C#, Tek Fotoluk Ipucu Merhaba Arkadaşlar, Bu kez elimde bir DataSet, Binary serileştirme için BinaryFormatter ve tabiki Extension Method kabiliyeti var. Ne yapabiliriz? Belki de bir DataSet' in Binary formatta Serialize, DeSerialize işlemlerini üstlenen genişletme metodlarını yazabiliriz. Ben Serialize kısmı... [Daha fazla]