Meraklı bir bilgisayar programcısının notları.
Merhaba! Ben Burak Selim Şenyurt - yazılım geliştirici, blogger ve öğrenme tutkunu.
Bu blogda yazılım mühendisliği, sistem tasarımı, programlama dilleri ve yeni teknolojiler üzerine yazılar paylaşıyorum. Özellikle .NET, Rust, Zig, yapay zeka araçları ve mimari konularına ilgi duyuyorum. Kendimi sürekli geliştirmeye ve yeni şeyler öğrenmeye adıyorum.
-
WorldBank, OData ve ASP.Net Web API HttpClient Kullanımı
1999 yılında girdiğim yüksek lisans (MBA-Master of Business Administrator) programını tamamlarken, bitirme projemde “Türkiye’ nin Dünya Bankası borçlanmalarını” ele almaya çalışmıştım. Haliyle o dönemlerde ve geçmişte, ülkemizin Worldbank üzerinden yaptığı borçlanmalara ait istatistiki bilgilere oldukça fazla ihtiyacım vardı. O kütüphane bu kütüphane gezmek dışında, dünya bankası internet sitesinden yayınlanan istatistik bazlı raporları da değerlendirmeye alıyordum. Yaklaşık olarak 60 sayfalık bir döküman oluşturmayı başarmıştım. Sunumumu yaptım, vardığım sonuçları değerli hocalarım ile paylaştım
-
Tek Fotoluk İpucu 52 - Monitor Bilgileri
Malum Visual Studio dahil pek çok programın birden fazla monitor desteği bulunmakta. Hatta geliştirdiğimiz uygulamaların çoğu birden fazla monitor desteği olacak şekilde yapılandırılabiliyor. Peki sistemde yüklü kaç monitor var, bunların çözünürlükleri, pixel başına byte değerleri nelerdir, öğrenebilir miyiz? Tabi ki
-
WCF Data Services – Reflection Provider Kullanımı
Bundan bir kaç yıl öncesiydi. Daha dün gibi hatırlıyorum..Net Framework 3.0 sürümünde çıkması beklenen yeni Foundation alt yapıları üzerine Microsoft ekibinden gelen elektronik bir postayı okuyordum. O zamana kadar XML Web Service’leri ve özellikle.Net Remoting ile yakın ilişkiler içerisinde bulunduğumdan, dikkatimi ilk çeken Windows Communication Foundation isimli konsept olmuştu. Kısaca WCF olarak adlandırılıyordu. Mutlaka üzerine eğilmem gerektiğini düşündüğüm bir konuydu. Benim için yeni bir macera başlıyordu.
-
Tek Fotoluk İpucu 51 - String Birleştirirken Aggregate Kullanmak
Diyelim ki elinizde n sayıda e-mail adresi var ve bunları kod içerisinde string tipinden generic bir List koleksiyonunda saklıyorsunuz. Bu mail adreslerinin tamamına toplu olarak mail göndermek isterseniz genellikle aralarına virgül veya noktalı virgül işareti koyarak birleştirmeniz gerekir. Aslında bu amaçla basit bir for döngüsü/foreach döngüsü işinize yarayacaktır. Ya da aşağıdaki gibi LINQ’in getirdiği bazı extension method nimetlerinden de yararlanabilirsiniz
-
Tek Fotoluk İpucu 50 - Pivot Taklidi Yapan LINQ
Elimizde ülke bazlı bir toplam satış rakamlarını içeren bir veri listesi olduğunu düşünelim. Normal şartlarda bu tip bir çıktıyı sorguladığımızda veri içeriği ülke bazlı olacak şekilde dikine akacaktır. Ancak istediğimiz çıktı, ükle bazlı satışların toplam tutarlarını yatay eksene taşıyabilmek. Bir nevi SQL tarafındaki PIVOT hareketini gerçekleştirmek istiyoruz. Bunu bir LINQ sorgusu ile yapmaya ne dersiniz? Burdan buyrun
-
BING Maps WCF Rest Servislerini Kullanmak
Bazen öğrenmek istediklerimiz bize inanılmaz karşık gelir. Ne zaman kitabı açsak ya da bilgisayarın başına geçsek işe zaten demoralize olmuş bir şekilde başlarız. Özellikle tez hazırlıkları safhasındayken veya yazacağımız kitap için gerekli araştırmaları yaparken çok yoğun, ağır, sıkıcı ve uğraştırıcı unsurlarla karşı karşıya kalabiliriz.
-
Asp.Net Web API Webiner Kaydı
19 Mart 2012 Pazartesi günü gerçekleştirdiğimiz Asp.Net WEB API Webiner kayıtlarını Nedirtv?com topluluğuna yüklemiş bulunmaktayız. Bu webinerimizde daha önceden WCF (Windows Communication Foundation) takımınca geliştirilen ve son olarak WCF Web API kütüphanesi adı altında sunulan REST (Representational State Transfer) tabanlı servis geliştirme ve tüketme alt yapısının yeni verisyonu diyebileceğimiz, Asp.Net WEB API’ yi incelemeye çalıştık.
-
Tek Fotoluk İpucu-48(Uri Extensions for RSS)
Siz de benim gibi aklınıza geldikçe ve vaktiniz oldukça Extension Method (Genişletme Metodu) yazmaya çalışanlardan mısınız? Geçtiğimiz gün Uri tipi için RSS Feed kaynağını okuyan ve gelen içeriği basit HTML formatı ile geriye döndüren bir genişletme metodu yazmaya çalıştım. Aynen aşağıda görüldüğü gibi. Size kalan ise bunun Atom formatı ile çalışan versiyonnu yazmak.
-
Tek Fotoluk İpucu 49–Daha Hızlı Count
Çok yüksek rakamlarda satır içeren (Milonylarca Satır) tablolar söz konusu olduğunda, bunların satır sayılarını, Count Aggregate fonksiyonu ile bulurken süre kaybı yaşıyorsak ve sonuçları geç alıyorsak daha hızlı bir yola başvurabiliriz. Nasıl mı?
-
.Net Memory Management’ i Kavramak
Matix! Ne filmdi ama değil mi? Özellikle yazılım tarafına hakim olan bizler için, filmin içerisindeki pek çok gönderi anlamlı birer mesaj haline gelmişti. İlk bölüm zaten efsanenin başlangıcı olma niteliğindeydi. İkinci bölümde işler daha da bir farklılaştı tabi. Örneğin, silinmeyen ve Matrix içerisinde kendini geliştirip küçük bir krallık yaratan Merovingian karakteri vardı. Bu sistem içerisinde yer alan ve süresi dolduktan sonra silinmesi gereken bir program iken, kaynağa (Source) geri dönmemişti.
-
Log4Net’ i Tanıyalım
Herkesin kendine has bir parmak izi vardır. DNA gibi benzersizdir. Her ne kadar bazı ajanlı filmelerinde bu izler silinebilse de (belki de silinebilyordur):) Krimonoloji labaratuvarlarından tutunda, şirketlerdeki giriş kapılarına kadar pek çok noktada parmak izlerimiz devreye girer. Hatta günümüzde kullandığımız bilgisayarların çoğunun açılması için parmak izi kullanılabilmektedir.
-
Entity Framework - Code First Migration Webineri Yayında
20 Şubat 2012 Pazartesi günü gerçekleştirdiğimiz Entity Framework - Code First Migration konulu webinerimiz NedirTv?com üzerinden yayına alınmıştır. Bu webinerimizde Entity Framework 4.3 sürümü üzerinden Code First yaklaşımında Migration işlemlerinin nasıl yapılabildiğini anlamaya çalıştık. Özellikle NuGet paket yönetim aracının komut satırı parametreleri ile kolayca yönetilebilen hem update ham de downgrade senaryolarında devreye giren Up, Down metodlarını ve bunların içerisindeki kod parçalarını analiz edip neler yapabileceğimizi görmeye gayret ettik.
-
Tek Fotoluk İpucu–47 (Mime Type)
Hani olurda web tarafında istemciden gelen talebe göre, döndürmek istediğiniz herhangibir tipteki dosyanın Mime Type değerine göre bir Content Type üretmek istersiniz ya; işte tam bu isteklik bir ipucu. Lazım olmaz demeyin. Bana lazım oldu
-
Bing Maps WCF Servisleri
Eğitimci olarak çalıştığım dönemlerde servis bazlı mimarilerde, XML Web Service’ leri son derece popüler bir kavramdı. Pek tabi öğrencilerimin çoğu, bu servislerin gerçek hayat örneklerini merak ederdi. Haklı olarak söz konusu yapının, nasıl çalıştığını anlamanın en iyi yolu onu saha da görmekti.
-
Tek Fotoluk İpucu-46(LINQ Aggregate Fonksiyonları)
LINQ tarafında Sum,Max,Min,Average gibi bazı hesaplama fonksiyonları vardır. Bunlara ait örnek bir kullanımı aşağıda bulabilirsiniz
-
Entity Framework Code-First Development Webiner Kayıdı
Hatırlayacağınız üzere Ocak ayı içerisinde Nedirtv?com bünyesinde düzenlenen Webinerler arasında ben de Entity Framework-Code First Development ile kendime bir yer edinmiştim. İlk gerçekleştirdiğimiz Webinerimizde ne yazıkki Internet bağlantısında yaşadığımız şanssız sorunlar nedeni ile sağlıklı olarak ilerleyememiştik
-
Priority Queue Collection
1996 yılıydı. Efes Pilsen (bu günkü adıyla Anadolu Efes) spor klübü altın dönemlerini yaşıyordu. Tamer Oyguç, Ufuk Sarıca, Peter Naumoski, Hidayet Türkoğlu, Mirsad Türkcan ve diğerleri. O yıl kulüp Avrupa Koraç kupasında finale yükselmiş ve İtalyan temsilcisi Stefanel Milano’nun rakibi olmuştu. İlk maç İstanbul Abdi İpekçi spor salonundaydı. Üniversitedeydim ve arkadaşlarımla günün erken saatlerinde stad kuyruğuna girmiştim. Biletlerimiz vardı ancak bulunduğumuz tribünde herkes karışık oturacağı için iyi bir yer bulmak adına sabahın köründe ve soğuk bir havada kendimizi orada buluvermiştik. Ne varki sabahın erken saatlerinde sıranın başlarında iken bu zamanla değişmeye başlamıştı. Çünkü alt yola bir basketçi geliyor, hayranları ona bakmak için bulunduğumuz kuyruğa hücum ediyor ve baktıkları yerden tekrar geriye çıkmıyorlarda. 8nci sıradan 148nci sıraya kadar gelmişimdir sanıyorum ki. Bu noktada çok doğal olarak sıranın en başındaki kişi de sıksık değişiyordu.
-
Tek Fotoluk İpucu 45 - Schema Adı ile birlikte Tablo Satır Sayılarını Elde Etmek
SQL tarafındaki sistemsel nesneleri göz önüne aldığımızda inanılma faydalı ve bilgilendirici sorgular yazabildiğimizi eminim ki hepiniz biliyorsunuzdur. Söz gelimi bir veritabanı içerisinde yer alan tablo adlarını, şema adları ile birlikte ve güncel satır sayılarını da içerek şekilde elde etmek istediğinizi düşünelim. Ne yaparsınız
-
Binary Search Tree' yi Anlamak
İnsan hafızası gizemli çalışan ama çoğu zamanda bizleri şaşırtan bir mekaniğe sahiptir. Doğduğumuz andan itibaren 3 yaşına kadar geçen zaman dilimi içerisinde görsel olarak ne izlersek kaparız. Ancak neredeyse bunların hiç birini hatırlamayız.
-
Tek Fotoluk İpucu-45(NumPad Yapalım)
Diyelim ki Windows Forms programlama ile ilgileniyorsunuz. Çalışma zamanında bileşen üretilmesini öğrendiniz. Form’lar arası geçişleri biliyorsunuz ve öğrendiklerinizi tatbik etmek niyetindesiniz. Hatta Extension Method kavramını da biliyorsunuz hatta Anonymous Method yazmayı da öğrendiniz. Öyleyse mesela bir NumPad formunun dinamik olarak üretilmesini ve üstündeki sayı düğmelerine basıldığında kaynak olarak gelen bir TextBox bileşeninin içinin doldurulmasını tecrübe etmeyi deneyebilirsiniz. Nasıl mı?