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.
-
Tek Fotoluk İpucu 84–WCF içerisinde Property Kullanımı
Malum bildiğiniz üzere get ve set bloklarından oluşan özellikler (Properties) aslına bakarsanız arka planda (IL-Intermediate Language) birer metod olarak ifade edilirler. Bu teoriden yola çıkarsak bir servis içerisine özellik (Property) yazıp get,set metoldarını operasyon olarak dış dünyaya sunabiliriz
-
Tek Fotoluk İpucu 83–XML, XAML, XmlDataProvider ve Master Child Binding
Diyelim ki elinizde aşağıdaki gibi Master-Child veri ilişkisi içeren (1 gruba bağlı birden fazla albüm) bir XML dosyası var.
-
Tek Fotoluk İpucu 82–Internete Bağlı mıyız? (Round II)
Bir önceki ipucumuzda wininet.dll WinAPI kütüphanesinden yararlanarak, internet’ e bağlı olup olmadığımızı nasıl öğrenebileceğimizin fotoğrafını çekmiştik. Tahmin edeceğiniz üzere söz konusu senaryo için tek yol bu değil. Örneğin aşağıdaki gibi bir kullanımı da tercih edebilirsiniz.
-
Tek Fotoluk İpucu 98–Stopwatch ile Performans Ölçümü
Diyelim ki elinizde çeşitli tipte ve sayıda fonksiyon var ve bunların çalışma zamanındaki işleyiş sürelerini hesaplamak istiyorsunuz. Normal şartlarda her metoda gidip DateTime tipini ele alarak süre ölçümleri yapabiliriz. Ya da Delegate sınıfına bir genişletme fonksiyonu yazarak sorunu halletmeye çalışırız. Aynen aşağıdaki ekran görüntüsünde olduğu gibi.
-
Tek Fotoluk İpucu 96–10Mb Üstü XML Dosyaları
Geçtiğimiz günlerde bloğumdaki içeriği yedeklemek için dışarı aktardım. Yaklaşık olarak 20Mb büyüklüğündeki XML içeriğini, sonrasında Visual Studio 2012 ile açıp incelemek istedim. Ancak bulunduğu ortamdaki Visual Studio 2012, 10 Mb üstü XML içeriğini açamayacağını, ille de açmak istiyorsam Registery’ de bu konu ile ilişkili değeri değiştirme gerektiğini söyledi. Sonuç olarak aşağıdaki düzenlemeyi yaparak bu kısıtlamayı aşabilirsiniz.
-
Tek Fotoluk İpucu 95–OfType<T>
LINQ (Language INtegrated Query) tarafını her ne kadar yoğun kullanıyor olsak da gözümüzden kaçırdığımız, dikkat etmediğimiz, yerine yeni geliştirmeler yaptığımız ama aslında bizim kullanmamızı bir köşede bekleyen fonksiyonlar vardır.
-
Tek Fotoluk İpucu 99–Tipler Arası Property Eşleştirme
Özellikle ORM araçlarının ele alındığı uygulamalarda bazen Entity içeriklerini sistem içerisinde dolaştıran ve nispeten daha az sayıda özellik (asıl ihtiyaç olunanları) taşıyan tiplere ihtiyaç duyarız. Business Object veya Data Transfer Object gibi isimler de verirler bunlara.
-
WCFden, XML Web Servisine TransactionScope Activity Bileşeni Üzerinden Transaction Aktarmak
Bir süre öncesine kadar Composition adı verilen bir katmanda yer alacak çeşitli servisler ile yoğun şekilde güreşmekteydim. Çok fazla faktör, çok fazla farklı sistem ve tabiri yerinde ise oyun ve oyuncu söz konusuydu. WCF servisleri, XML Web Servisleri, Java tabanlı olanları ve belki de yarın gelecek olan çeşitli COM bileşenleri, 3ncü parti uygulamalar, koduna müdahale edemeyeceğimiz programlar vs.
-
Team Foundation Server 2012 ile Düzenli Proje Geliştirme
Bu görsel dersimizde Team Foundation Server 2012 ürününe kısaca göz atmaya çalışıyoruz. TFS’in tek başına değerlendirilmemesi gerektiğini, bir Application Lifecycle Management aracı olduğunu, Agile odaklı süreçleri (Scrum, MSF) hedeflediğini, SQL Server, Reporting Services, Analysis Services, Sharepoint, System Center gibi pek çok ürünü de bünyesinde barındırdığını, bu nedenle dev bir eko sistem olduğunu, bir servis olarak Cloud üzerinden sunulabildiğini ifade etmeye çalışıyoruz. Anlatımlarımız sırasında Scrum’ın örnek işleyişine değiniyor, Gartner Magic Quadrant raporlarına kadar gidiyor ve hatta Product Life Cycle eğrisine bile bakıyoruz.
-
TFS Web Services ve Kullanımları
Yedek Subay olarak askerlik hizmetimi yerine getirdiğim yıllarda (O zamanlar 16 ay idi) Jandarma Genel Komutanlığı Personel Şube’ de görev almıştım. Aslında temel işim Powerpoint ile sunum hazırlamaktı ama verilen emir her ne ise onu da yerine getirmek mesuliyetini taşımaktaydım.
-
TFS–Client Object Model için Hello World
Çok eskidendi diyemeyeceğimiz kadar yakın bir zamanda, bilgisayar programcılarının ilah olduğu devirlerde, evimizin 37 ekran TV’ lerine girmiş Commodore 64K, Amiga oyunlarına sabaha kadar vakit ayırdığımız yıllarda; ne Source Code Control denen bir kavram vardı, ne de 9 kişilik askeri manga misali çalışan Scrum ekipleri. Ancak teknoloji ve yazılım dünyası öylesine hızla ilerledi ki…Koşar adımlarla geldiğimiz günümüzde, özellikle Enterprise çapta yürütülen projelerde, ekip olmadan hareket etmek neredeyse imkansız hale geldi.
-
Tek Fotoluk İpucu 81–Internete Bağlı mıyız?
Acaba çok basit ve hızlı bir şekilde internete bağlı olup olmadığımızı nasıl kontrol edebiliriz, hiç düşündünüz mü? Bunun pek çok yolu var aslında. Ancak bir tanesi oldukça hızlı. Basit bir WinAPI yardımıyla bu fonksiyonelliği sağlayabilir ve internete bağlı olup olunmadığını kontrol edebiliriz. Aynen aşağıdaki ekran görüntüsünde yer alan kod parçasında olduğu gibi
-
WCF Service' lerinde Routing ile Versiyonlama
Geçen gün şöyle eskiden yazmış olduğum makalelere bir bakayım dedim. Derken gözüm WCF 4.0’ ın Beta zamanlarında yazdıklarıma takıldı. O zamanlar.Net Framework 4.0’ ün Beta sürümü çıktığında, incelemeye çalıştığım önemli yeniliklerden birisi de yönlendirme servisleri (Routing Service) idi.
-
Heryerden TFS Kullanabilmek
Yandaki fotoğrafta bir duvar prizi içinden USB bağlantısı yapıldığını ve cep telefonunun şarj edildiğini görmektesiniz. Bir süredir hayatımızda olan ilginç buluşlardan birisi de USB Priz’ ler. Bu aslında USB’ nin pek çok farklı ortama entegre edilebilmesi anlamına da geliyor. Söz gelimi bir süredir pek çok araç modelin USB çıkışları neredeyse standart. Telefonlarımızı yol boyunca şarj edebiliyoruz. Hatta USB olmayan araçlarda, çakmaktan gelen enerjiyi USB bağlantısı ile aktaran ara dönüştürücüler bile var.
-
NoSQL Maceraları - Graph Database DEX
Eminim pek çoğunuzun hastası/fanatiği olduğu yerli veya yabancı diziler vardır. Küçük bir çocukken çizgi filmlere olan düşkünlüğümüz kadar olmasa da, hemen her bölümünü heyecanla beklediklerimiz mutlaka vardır (Hatta ülkemizde geç yayınlanıyor diye ilgili dizileri internetten indirenlerimizde vardır)
-
Tek Fotoluk İpucu 80–Bir Assembly’ ın Public Key Token Değerini Bulmak
Diyelim ki elinizde projeye referans ettiğiniz bir.Net assembly dosyası bulunmakta. Örneğin Log4Net ve bununla birlikte konfigurasyon dosyası içerisinde de ilgili assembly’ ın versiyon numarasını ve daha da önemlisi Public Key Token değerini girmeniz gereken bir bölüm yer almakta. Söz konusu Assembly’ ın Public Key Token değerini öğrenmek için pratik olarak nasıl bir yol izlersiniz acaba?
-
Visual Studio 2012 için Entity Framework Yenilikleri
Çok eskiden kullanılan programlama dilleri ve platformları düşünüldüğünde çok ilkel IDE’ ler ile çalışmış olduğumuzu görmekteyiz. Hatta bazı programlama dilleri ile yapılan geliştirmelerde değil IDE, komut satırına mahkum olmuşuzdur (Gerçi komut satırında script yazarak geliştirme yapmak özellikle fonksiyonel programlama dilleri göz önüne alınırsa oldukça popüler ve isabetlidir)
-
Tek Fotoluk İpucu 79– svcutil ile Contract-First Development
WCF 4.5 tarafında gelen yeniliklerden birisi de svcutil komut satırına eklenen servicecontract (ya da kısa haliyle sc) parametresidir. Bu parametre sayesinde bir WSDL dokümanından (ve beraberinde kullandığı XSD’ ler var ise onlardan) servis sözleşmesinin (Service Contract) elde edilebilmesi mümkündür. Tek yapmanız gereken aşağıdakine benzer şekilde sc parametresini kullanmanız olacaktır.
-
Entity Framework Code-First için Calculated Fields Kullanımı
Genellikle göç etmek gibi anlamlarda kullanılan Migrate kelimesinin yazılım dünyasındaki karşılığını düşündüğümüzde, elbetteki yandaki fotoğrafta yer alan ve bir birlerinin akvaryumuna atlayan balıklar gelmeyecektir/gelmemelidir.
-
Tek Fotoluk İpucu 78 - Asp.Net 4.5 ile HtmlEncode
Bazı durumlarda Asp.Net sayfasının çıktısına basacağımız içeriğin HTML formatlı elementlerinin Text tabanlı görünümleri olmasını isteriz. Örneğin takısının, uygulandığı metni bold olarak göstermesini istemeyiz. Bunun yerine yazı şeklinde düz metin olarak gösterilmesini arzu ederiz (Hatta bazı blogların yorum kısımlarında, yorumda kullanılabilecek HTML Tag’leri ifade edilir. Ama metin olarak basılmışlardır) Bunun için Asp.Net 4.5 tarafında işimizi oldukça kolaylaştıracak bir özellik yer almakta. İki nokta üst üste işaretini kullanmamız HTML içeriğinin metinsel olarak kullanılmasında yeterli oluyor. Nerede mi? Özellikle Veri bağlama (Data Binding) noktalarında