GoLang - Google ProtoBuf Kullanımı

Veriyi kullandığımız dile göre çeşitli şekillerde ifade edebiliriz. Eğer nesne yönelimli bir dil kullanıyorsak buradaki başrol oyuncumuz sınıflar olacaktır. Verinin nesnel olarak ifade edilişinde rol olan sınıf ve benzeri tipler, çalışma zamanında taşıdıkları içerikleri ile hareket halindedir. Bu hareket aynı uygulamana alanında olabileceği gibi uygulamalar arasında da gerçekleşebilir. Veri ağ üzerinde de hareket edebilir. Verinin bu şekilde dolaşımı sırasında bazen serileştirilmesi de gerekir. Tabii bu noktada karşımıza platform bağımsızlık, okunabilirlik, genişletilebilirlik ve performans gibi kriterler çıkar. [Daha fazla]

JSON to BSON

Amacımız çalışan listesinin içeriğini BSON formatında bir dosyaya yazdırmak ve sonrasında bu içeriği tekrar okuyup ters-serileştirme işlemini gerçekleştirerek ekrana yazdırmak. [Daha fazla]

Tek Fotoluk İpucu 128 - IFormattable ile Sihir

Bildiğiniz üzere .Net Framework çatısı altında bir çok arayüz(Interface) vardır. Özellikle plug-in tabanlı geliştirmelerde sıklıkla başvurduğumuz bu arayüzleri zaman zaman inceliyor ve nerelerde kullanılabileceğine bakıyorum. Yine bu araştırmaları yaptığım bir gün IFormattable arayüzünün kullanımına ilişkin örnekler ile karşılaştım. Senaryomuz şu; bir nesne örneğini String sınıfının Format metodu ile kullanırken {0:JSON} gibi bir ifade kullanabilmek ve çalışma zamanı içeriğini JSON(JavaScript Object Notation) formatında elde etmek istiyoruz. Hatta {0:ALL} , {0:ID,Title} gibi ifadelere de yer vermek istiyoruz. [Daha fazla]

Ruby Kod Parçacıkları 17 - (YAML ve Binary Serileştirme)

Bir önceki kod parçacığında geliştirici tanımlı bir sınıf koleksiyonunun JSON formatından nasıl serileştirilebileceğini incelemiştik. Ruby dilinde dahili(built-in) olarak gelen serileştirme kütüphaneleri de vardır(YAML ve Binary) Tahmin edeceğiniz üzere duruma göre bu serileştirme çeşitlerinden birisinin kullanılması tercih edilebilir. Aşağıdaki örnek kod parçacığında bu biçimdeki serileştirme ve ters-serileştirme işlemlerinin nasıl yapıldığı ele alınmaktadır. [Daha fazla]

Ruby Kod Parçacıkları 16 - (JSON Serileştirme)

Aslında bu kod parçasında temel dosya giriş çıkış işlemlerini(IO operasyonları diyelim) ele almayı planlamıştım. Ancak konuyu araştırırken dosya içerisine ne yazabilirim sorusuna denk geldiğimde, bir nesne koleksiyonunu aktarmanın uygun olacağını düşündüm. Hal böyle olunca ortaya "hangi fortmatta?" sorusu çıktı. [Daha fazla]

Serileştirme İşlemlerinde Vekil(Surrogate) Kullanmak

Bir önceki makalemizde WCF(Windows Communication Foundation) mimarisinde veri sözleşmelerinin(Data Contracts) karşı taraflarda farklı versiyonlarının olması durumunda oluşan vakaları incelemeye çalışmıştık. Versiyonlama(Versioning) vakaları dışında serileştirmede önem arz eden konulardan biriside, servis tarafında yayınlanan veri sözleşmeleri içerisinde serileştirilemeyen(NotSerializable) tiplerin var olmasıdır. [Daha fazla]

Custom Serialization

Nesnelerin çalışma zamanındaki durumlarını alıp herhangi bir kaynağa doğru yazmak ve başka bir zaman dilimi içerisinde bu kaynaktan aynı nesne durumunu elde etmek amacıyla serileştirme tekniklerinden sıkça faydalanılmaktadır. Biz bu makalemizde özel serileştirmeyi (Custom Serialization), Framework 1.1' den itibaren incelemeye başlayacak ve 2.0' da getirilen yeniliklere değineceğiz. Bazen serileştirme (Serialization) veya ters-serileştirme (Deserialization) işlemleri sırasında, veriyi değiştirmek isteyebiliriz... [Daha fazla]

Serileştirme (Serialization) İçin Püf Noktalar

Uygulamalarımızda kullandığımız tipler (types) pek çok amaçla serileştirilirler (Serialization). Framework Class Library içerisinde var olan pek çok tip serileştirilebilir (Serializable) halde tasarlanmıştır. Bizde çoğu zaman kendi yazmış olduğumuz tipleri serileştirme ihtiyacı duyarız. Örnek olarak, XML Web Servislerinde istemci taleplerine gönderilecek olan nesnelerin, network üzerinde taşıyacağımız paketlerin veya bir web uygulamasında yer alan Session nesnelerinin veritabanında saklanması sırasında kullanılan tiplerin serileştirilmesini göz önüne alabiliriz. Hangi türü olursa olsun serileştirmede dikkat edilmesi gereken bazı noktalar vardır. İşte bu günkü makalemizde özellikle Binary ve SOAP formatlı serileştirmelere yönelik püf noktalara değinmeye çalışacağız. [Daha fazla]