Ş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]
DevelopersTube Söyleşim 13 Ocak 2014 Burak-Selim-Senyurt Developers Tube, NedirTv? Merhaba Arkadaşlar, Değerli dostum ve yakın arkadaşım Uğur Umutluoğlu hocam’ın daveti ile canlı olarak gerçekleştirdiğimiz DevelopersTube söyleşimizi YouTube kanalından izleyebilirsiniz. Ağırlıklı olarak Yazılımcının Derman Bulunmaz Halleri’ ni irdelediğimiz söyleşimizde vaktimiz elverdiği ölçüde k... [Daha fazla]
Fluent Interface Prensibi ile Daha Okunabilir Kod Geliştirmek -2nci Yarı 06 Ocak 2014 Burak-Selim-Senyurt C# Bir önceki görsel dersimizde Fluent Interface prensibini nasıl kullanabileceğimizi görmüştük. Bu sefer Generic tip kullanan bir versiyonunu geliştireceğiz. İşin içerisine Generic mimari Reflection kavramı ile Expression<> ve Func gibi tipleri de katacağız. Amacımız sadece belirli bir tip için değil bazı kıstaslara uyan her hangibir T tipi için Fluent Interface prensiplerini uygulatabilmek. Buyrun izleyelim. [Daha fazla]
Fluent Interface Prensibi ile Daha Okunabilir Kod Geliştirmek - 1nci Yarı 23 Aralık 2013 Burak-Selim-Senyurt .Net Temelleri, C#, Tasarım Kalıpları(Design Patterns), Tasarım Prensipleri(Design Principles) Keşfedilmesi, anlaşılması ve okunması kolay kod geliştirmek, özellikle dışarıya açık arayüzü bulunan API’ ler için oldukça önemlidir. Bir Domain Specific Language’ in olmassa olmazı kodun kolayca keşfedilebilirliğidir. Ruby ve Scala gibi diller built-in olarak bu kolaylığı sunarlar. LINQ(Language INtegrated Query) ifadeleri, zincir şeklinde bir birlerine bağlanabilen Extension metodlar ile aynı esnekliği vermektedir. Test süreçlerinde kullanılan pek çok Mock nesne API’si benzer kabiliyetlere sahiptir. Tüm bunlar aynı prensipten yararlanır. Fluent Interface… Bu görsel dersimizde Martin Fowler tarafından yıllar önce ortaya konan yaklaşımın uygulanışını incelemeye çalışıyoruz. [Daha fazla]
NoSQL Maceraları - MemCached ile Hello World 19 Aralık 2013 Burak-Selim-Senyurt NoSQL Web uygulamalarında ele alınan performans arttırma kriterlerinden birisi de Caching tekniklerinden yararlanılmasıdır. Özellike veri odaklı çalışan web uygulamaları göz önüne alındığında, nesnelerin bellekte tutulması/getirilmesi, sık görülen geliştirme tekniklerinden birisidir. Pek tabi bu senaryo biraz daha geniş çaplı düşünüldüğünde, bir web sunucusunda yer alan n sayıda uygulamanın tamamı için kullanılabilecek bellek tabanlı bir depolama alanı da söz konusu olacaktır/olmuştur. [Daha fazla]
Y.T.Ü. Finans ve Yazılım Günleri 14 Kasım 2013 Burak-Selim-Senyurt Seminerler Merhaba Arkadaşlar, Bundan 20 yıl önce Y.T.Ü. Matematik Mühendisliği bölümünü kazandım. Kim bilebilirdi ki 19 yıl sonra okulun davetlisi olarak bir etkinlikte konuşma fırsatı bulacağımı. Geçtiğimiz sene Kalite ve Verimlilik Kulübü’ nün düzenlediği Finans ve Yazılım Günleri etkinliğinde “Geleceğin P... [Daha fazla]
NoSQL Maceraları - db4o ile Hello World 12 Kasım 2013 Burak-Selim-Senyurt NoSQL Apache Cassandra, RavendDb, Dex, StsDb derken sıra geldi nesne veritabanlarından(Object Database) birisi olan db4o’ ya(Database for Objects şeklinde çevirebiliriz sanırım) Object tipinden bir NoSQL(Not-Only SQL) veritabanı olan db4o ürününün, Java ve .Net platformları için sürümleri bulunmaktadır(Hatta Mono desteği de mevcuttur). Aslında %100 Java ile geliştirilmiştir ve açık kaynak Sharpen ile C# diline de çevrilmiştir. Bu da onun popüler olmasını sağlayan unsurlardan bir tanesidir(Yazının hazırlandığı tarih itibariyle .Net Framework 3.5/4.0 ve platformlarını hedef alan versiyonları vardı) [Daha fazla]
TFS Version Control Hizmetine Kısa Bir Bakış 03 Kasım 2013 Burak-Selim-Senyurt Team Foundation Server TFS Web Services kullanımlarını incelediğimiz bu yazımızda, en popüler hizmetlerden birisi olan Work Item Tracking servisine odaklamıştık. Bu servisten yararlanarak özellikle template bazlı öğelerin(Task, Bug, Product Back Log Item gibi) nasıl okunabileceğini öğrenmiştik. Çok doğal olarak daha pek çok servis kullanımı söz konusu. Önemli olan nokta, ilgili servislerin TFS Client Object Model üzerinden kullanılabileceğidir. [Daha fazla]
Çalışma Zamanında Generic Tip Üretmek, Generic Metod Çağırmak 01 Kasım 2013 Burak-Selim-Senyurt C# Merhaba Arkadaşlar, Bu görsel dersimizde çalışma zamanında kullanılabilecek örnek senaryolardan birisine daha değinmekteyiz. İlk amacımız Generic olarak tanımlanmış bir tipin çalışma zamanında üretilmesini sağlamak(Örneğin List<T> koleksiyonunun) Diğer amacımız ise generic bir metodun yine ça... [Daha fazla]
Tek Fotoluk İpucu 105–WsDiffMerge ile Dosya Karşılaştırmak 22 Ekim 2013 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, Diyelim ki elimizde içeriklerini karşılaştırmak istediiğimiz iki dosya var (Bunlar Text tabanlı dosyalar olabileceği gibi C# veya VB.Net kod dosyaları da olabilir de) Ne yaparsınız? Gözle tarama? Ya da bir freeware program? Peki ya dosyalar arasında birleştirme(Merge... [Daha fazla]
Asp.Net 4.5–Asenkron HTTP Module Geliştirmek 13 Ekim 2013 Burak-Selim-Senyurt Asp.Net 4.5 İşte bu günkü konumuzda HttpModule tipleri içerisindeki işlemleri asenkron olarak nasıl yaptırabileceğimizi incelemeye çalışıyor olacağız. Bildiğiniz üzere .Net Framework 4.0 ile hayatımıza giren Task ve doğal olarak Task Parallel Library kavramı, 4.5 sürümünde gelen async ve await anahtar kelimeleri ile birlikte alt yapının pek çok noktasında daha sık görülmeye başladı. Bu açıdan bakıldığında Asp.Net 4.5 tarafında da ilgili anahtar kelime ve Task tiplerini kullanarak bazı senkronize edilmiş işlemlerin asenkron hale getirilmesi sağlanabilmekte. [Daha fazla]
Çalışma Zamanında Class,Property, Module ve Assembly Üretmek 10 Ekim 2013 Burak-Selim-Senyurt C# Merhaba Arkadaşlar, Şöyle bir senaryo düşünelim; Bir Excel dosyasında yer alan sayfa ve kolon bilgilerini programatik ortamda ifade etmek istiyoruz. Ancak Excel dosyası oldukça büyük. Sheet ve kolon sayıları çok fazla. Bir şekilde dosyayı okumayı, kolon adları... [Daha fazla]
Dosya Satır Sayısını Bulmak 06 Ekim 2013 Burak-Selim-Senyurt C# Malum Bankaların sistemleri halen daha eski olabildiğinden, bölümler arası veya uygulamalar arası veri aktarmanın en popüler yollarından birisi olarak Text tabanlı dosya formatları göz önüne alınmaktadır. Bazen onlarca megabyte' ı aşan ve milyonlarca satırdan oluşabilen düzenli text dosyaları söz konusu olur ve bunların bir şekilde uygulamaların konuştuğu veritabanı ortamlarına işlenerek, ilişkisel veri bütünlüğü içerisinde yerlerini alması beklenir. [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]
En Kısa Metni Bulmak 01 Eylül 2013 Burak-Selim-Senyurt Data Structures, Algorithms İşte geçtiğimiz hafta içerisinde de Internet üzerinden araştırma yaparken enteresan bir konu ile karşılaştım. Aslında konuyu isimlendirmek oldukça zor ama bir optimizasyon işlemi olduğunu ifade edebilirim. Sorun n sayıda kelimenin saklanmak istendiği bir durumda ortaya çıkıyor. İstenen, bu kelimeleri birleştirerek saklamak ancak bunu yaparkende olabilecek en kısa cümleyi elde ederek ilgili depolama işlemini gerçekleştirmek. Öyleki, üretilen cümle hem çok kısa olmalı hem de tüm kelimeleri içermeli. [Daha fazla]
Tek Fotoluk İpucu 104 : CustomReflectionContext ile Tipe Özellike Kazandırmak 28 Ağustos 2013 Burak-Selim-Senyurt Tek Fotoluk Ipucu Bir tipin çalışma zamanında Reflection ile yakalanabilen özelliklerine ilaveler yapmak ister miydiniz? Aslında bunun çok kolay bir yolu var. Tek yapmanız gereken CustomReflectionContext tipinden yeni bir sınıf üretmek ve bunu aşağıdakine benzer bir şekilde kullanmak Bir başka ipucunda görüşmek d... [Daha fazla]
TFS OData Desteği 25 Ağustos 2013 Burak-Selim-Senyurt Team Foundation Server Özellikle ALM(Application Lifecycle Management) gibi geniş konuların uygulandığı ürünlerin değerlendirildiği firmalar ve kalabalık ekipleri düşünüldüğünde, bu heterojenlik kendini iyiden iyiye hissettir. Dolayısıyla ürünün geliştiriciler açısından ne kadar ve nasıl genişletilebileceği önem kazanır... [Daha fazla]
MigraDoc ile PDF Rapor Üretimi - Hello World 18 Ağustos 2013 Burak-Selim-Senyurt C# Özellikle veri odaklı(Data-Centric) çalışan uygulamalar düşünüldüğünde çeşitleri ne olursa olsun raporlama, işin oldukça önemli bir parçasını oluşturmaktadır. Ağırlıklı olarak rapora ihtiyaç duyan pozisyonlar, söz konusu raporları çeşitli ortamlarda görmek isteyen elemanlardır. Örneğin bunları Web arayüzünde açabilmeyi, Excel veya Word formatındaki dosyalara çıktı olarak alabilmeyi ve mobil cihazlarından takip edebilmeyi isterler. Günümüzün pek çok modern uygulaması zaten bu tip çıktıların alınmasını standart olarak olanak sunmaktadır. [Daha fazla]
Nedir Bu MSBuild? 01 Ağustos 2013 Burak-Selim-Senyurt .Net Framework 4.0, .Net Framework 4.5, Visual Studio Microsoft Build Engine aslında başlı başına bir platformdur. Kısaca MSBuild olarak anılmaktadır ve bir uygulamanın inşa edilmesi noktasında devreye giren XML(eXtensible Markup Language) tabanlı bir Script bütününü esas alır. Kısacası uygulamanın inşa edilmesi sırasındaki aşamalar XML tabanlı bir akış olarak ifade edilebilmektedir. MSBuild platformunun en önemli özelliği ise, inşa sürecinde Visual Studio gibi bir araca ihtiyaç duymuyor oluşudur... [Daha fazla]
NoSQL Maceraları - STSdb ile Hello World 24 Temmuz 2013 Burak-Selim-Senyurt NoSQL Bilindiği üzere bir süredir NoSQL(Not only SQL) veritabanlarını incelemeye(öğrenmeye) çalışıyoruz. Daha önceki yazılarımızda Apache Cassandra, RavenDB ve DEX ürünlerine bir göz atmış ve .Net uygulamalarında nasıl kullanılabileceklerini görmüştük. Klasik olarak yaptığımız Hello World uygulamalarının bir benzerini de bu gün inceleyeceğimiz STSdb için gerçekleştiriyor olacağız. [Daha fazla]
Word Dosyası İçerisinden Entity Framework’ e 17 Temmuz 2013 Burak-Selim-Senyurt Office Development Geliştirdiğimiz veya kullanmakta olduğumuz yazılım ürünlerine dahil olan, farklı segmentlerden gelen pek çok kullanıcı profili vardır. Farklı profillerin olması, bazı hallerde geliştirilmekte olan ürünlerin başarısını doğrudan etkilemektedir. Bir fotoğraf işleme programını geliştirirken çoğu zaman annemizin olası kullanıcı profilleri arasına gireceğini pek düşünmeyiz. Genellikle fotoğraf işleme programını kullanacak olanların, en azından temek düzeyde fotoğrafçılık bilgisine sahip olduğunu kabul eder, menü komutlarını buna göre belirler, arayüzü buna göre hazırlarız. Ama bazı uygulamalarda annemizi hedef alır ve çektiği fotoğraflara kolayca efekt uygulamasına bir kaç basit adımda olanak tanır. Örneğin instagram’ ın iPhone uygulamasında olduğu gibi. [Daha fazla]
Tek Fotoluk İpucu 103–Database.Query ve dynamic Avantajı 05 Temmuz 2013 Burak-Selim-Senyurt Tek Fotoluk Ipucu Merhaba Arkadaşlar, SQL gibi bir veri kaynağına erişmek için pek çok yol olduğunu gayet iyi biliyoruz. Hatta bu işi öğrenmeye başladığımız ilk zamanları hatırlayın. Connection' ın açılması, Command hazırlanması, bir DataAdapter' dan yararlanılarak DataTable/DataSet doldurulması ve DataReader ile ve... [Daha fazla]
Asp.Net Web API Üzerinden Resim Döndürmek 02 Temmuz 2013 Burak-Selim-Senyurt Asp.Net Web API Bu yazımızda Asp.Net Web API üzerinden, SQL tablolarında binary formatta tutulabilen resim içeriklerini nasıl çekebileceğimizi basit bir örnek ile incelemeye çalışıyor olacağız. Örneğimizin özel yanlarından birisi de kısa süre önce yayınlanan Visual Studio 2013 Preview ile geliştirilecek olması. Önce senaryomuza bir bakalım... [Daha fazla]
Excel ve Entity Framework Konuşuyor 30 Haziran 2013 Burak-Selim-Senyurt Office Development Özellikle Sheet’ ler veya Workbook’ lar kodlanabilir birer C#(Vb.Net) dosyası olduğu için, uygulama bazında istediğimiz taklayı atma şansına sahibiz. İşte bu düşünceler ışığında yola çıktığımız ve okumakta olduğunuz yazımızda, Excel’ i, Entity Framework’ ü, C#’ ı işin içerisine katacak ve birbirleri ile konuşmalarını sağlamaya çalışacağız. Haydi hiç vakit kaybetmeden yola koyulalım. Ama önce örnek senaryomuz... [Daha fazla]