JSON ve BSON

Merhaba Arkadaşlar, JsonToBsonSanıyorum her .Net programcısının takım çantasında yer alan paketlerden birisi de Newtonsoft'un JSON serileştirme kütüphanesidir. JSON(JavaScriptObjectNotation) formatı, XML(eXtensibleMarkupLanguage) şemasından sonra hafif ve az yer kaplama özellikleri nedeniyle çokça tercih edilen standartlardan birisi haline gelmiştir. Diğer yandan JSON içeriklerin Binary formatta serileştirilmiş versiyonu olarak adlandırılan BSON formatı da sıklıkla kullanılmaktadır. BSON, NoSQL camiasının liderlerinden MongoDB ile popülerlik kazanmış bir veri formatı. JSON içeriğinin binary formatta sunulması oldukça hızlı gerçekleşebilecek bir işlem. Bu nedenle NoSQL tabanlı sistemlerde yatay ölçeklenen veri kümeleri arasındaki iletişimde tercih edilebiliyor. Ağ üzerinde dolaşan bu küçültülmüş paketler içerisinde JSON tipinde veri bulunuyor. Zaten tasarım amaçlarından birisi de bu. Peki .Net tarafında kullanılan nesne örneklerini BSON formatına nasıl dönüştürebiliriz? Bunun bilinen pek çok yolu var tabii ki ancak uygulamanızda Newtonsoft ve JSON içerikleri ile çalışıyorsanız işi kolaylaştıracak tiplerde bu paketle birlikte geliyor. Newtonsoft.Json paketi, bir JSON içeriğinin binary olarak yazılması ve okunması için iki temel tip sunmakta. Bu tipleri kullanarak BSON dönüşüm işlemleri kolayca gerçekleştirilebilir. Basit bir örnekle konuyu özetleyelim. [Dah fazla]

Asp.Net Web API – Token Based Authentication

Merhaba arkadaşlar, bu makalemde Asp.Net Web API ile RESTful servis geliştirirken Token Based bir Authentication işlemi nasıl yapıldığına dair örnek bir proje yapacağız. RESTful’ün önemini kısaca hatırlamak gerekirse:
Fazlasıyla basit ve esneklik sağlamaktadır.
REST’in HTTP protokolü üzerine kurulmuş olmasıyla beraber günümüz modern web dünyasındaki bir çok uygulamalar kendini browser tabanlı uygulamalara bırakıyor ve artık bir çok işlem client-side tabanlı yapıldığı için REST servisleri bize bir artı daha sağlıyor bu anlamda.
Özünde RESTful servisleri bize client-server arasındaki yapacak olduğumuz veri transferini SOAP veya RPC gibi kompleks mimariler yerine daha hafif ve esnek bir şekilde yapabilme olanağı sağlıyor. REST mimarisini hatırladığımıza göre, gelelim şimdi nedir bu Token BasedAuthentication? [Dah fazla]

Big Data (Büyük Veri)

Günümüzde bilgi toplumunun unsurlarını hayatın her alanında görmek mümkündür. Artık herkesin cebinde bir akıllı telefon, herkesin evinde bir bilgisayar ve tüm şirketlerin arka ofislerinde bilgi teknolojileri yönetimini yapan birimler bulunmaktadır.Ancak bilginin kendisi o kadar görünür değildir.Bununla birlikte bilgisayarların insan hayatına girmesinden ancak yarım asır sonra bilgi miktari anlamlı ve özel bir nitelik kazanacak şekilde toplanmaya başlamıştır.Günümüzde sadece bilgi miktari artmamış aynı zamanda bilgiye erişim hızı da artmıştır. [Dah fazla]

WebAssembly: Webin Geleceği

Apple, Google, Microsoft ve Mozilla ortak bir neden için bir araya geldiler. Birbirine rakip olan bu firmalar WebAssembly adındaki yeni bir programlama standardı konusunda anlaştılar. Konunun içeriğine bakmadan dahi böylesi bir işbirliğinden yola çıkarak da şunu çok rahat söyleyebiliriz; WebAssembly web’de büyük değişikliklere yol açacak ve WebAssembly’den sonra bambaşka bir web dünyası olacak! [Dah fazla]

Sıralama Algoritmaları (Bubble, Quick, Insertion, Selection, Shell, Merge, Heap)

Sıralama algoritması, bilgisayar bilimlerinde ya da matematikte kullanılan, verilen bir listenin elemanlarını belirli bir sıraya sokan algoritmadır. En çok kullanılan sıralama türleri, sayı büyüklüğüne göre sıralama ve alfabetik sıralamadır. Sıralama işleminin verimli yapılması, arama ve birleştirme algoritmaları gibi çalışması için sıralanmış dizilere gereksinim duyan algoritmaların başarımının yüksek olması için önemlidir. Sıralama algoritmaları bilgisayarlarda tutulan verilerin düzenlenmesini ve insan kullanıcı tarafından daha rahat algılanmasını da sağlar. Ö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. Bu algoritmaları yazmak için çokça uğraşmışızdır. Gelelim bu yazımızın konusuna. Geçtiğimiz günlerde yine boş anlarıma denk gelen bir zaman diliminde, sıralama algoritmaları arasındaki hız farklarını incelemeye çalışmaktaydım. İş bir süre sonra Console uygulamasının Main metodu içerisine hapsolmanın ötesine geçti. Dilerseniz hiç vakit kaybetmeden kodlarımızı değerlendirmeye başlayalım. Amacımız bir performans test uygulaması geliştirmek olacak. Ele almayı düşündüğüm bir kaç sıralama algoritması söz konusu idi. Kimisinin yazımı oldukça kolay, kimisin ise inanılmaz karmaşıktı. [Dah fazla]

Unutulmayan Yazılım Hataları ve Sonuçları

Bir yazılım geliştirirken dikkat edilecek en önemli husus, yazılımın en az derecede hata içermesi ve kendinden beklenenleri en üst seviyede karşılamasıdır. O yüzden dolayıdır ki yazılım test eylemleri, yazılım geliştirme sürecinde en erken safhalarında başlar.

Testçiler, muhtemel hataları yazılım geliştirme sürecinin en erken safhalarından itibaren bulmayı ve bulunan hataların düzeltilmesini amaçlarlar. Bilgisayar sistemleri hatalar barındırır. Bu hatalar insan (geliştirici, analist vb.) veya donanım kaynaklı olabilir. Oluşan hataların maddi ve prestij kayıplarına sebep olmaması için yazılım test sürecinin, proje döngüsüne katılması sağlanmıştır. Bu sayede kayıpların en aza indirilmesi amaçlanmaktadır. Burada unutulmaması gereken şey mükemmel bir yazılım olmadığı ve bir yazılımın [Dah fazla]

SOLID Prensipleri

Günümüzde birçoğumuz C#, Java gibi nesne yönelimli programlama dilleri kullanıyoruz. Peki kullandığımız dillerin gücünden ne kadar faydalanabiliyoruz? Geliştirdiğimiz uygulamalar, zaman içerisinde değişebilecek ihtiyaçlara ne kadar güçlü karşılık verebiliyor? Eğer object oriented programlama yapıyor isek, dünya üzerinde standart kabul edilen 5 temel prensibi bilmemiz gerekiyor. [Dah fazla]

Xamarin Nedir?

Xamarin, C # kullanarak Cross (çapraz) Platform mobil uygulama geliştirme frameworküdür. Cross platform uygulaması geliştirme sunan birçok framework bulunmaktadır. Genellikle HTML ve JavaScript kullanırlar. Bu frameworkler kullanarak, uygulamalar daha sonra web sitesi bir native app hissi verir. [Dah fazla]

REST API Nedir ? Nasıl Kullanılır ?

Merhaba arkadaşlar, Uzun zamandır teknik bir yazı paylaşmamıştım, bu sene daha sık paylaşımda bulunmayı düşünüyorum. Günümüzün popüler konularından birisiyle 2015 yılının ilk yazısına başlıyorum. Konumuz REST Api nedir ? Bu yazıyı REST sözcüğünü ilginç bulup okuyanlar için önce API nedir den başlayalım Api, Application Programming Interface kelimelerinin baş harflerinden oluşan bir kısaltmadırapi Bir uygulamanın bir takım fonksiyonlarının başka uygulamalar tarafından kullanılmasına olanak sağladığı yapıya API diyoruz özetle. Günümüzde iki sistemin haberleşmesinde kullanılan trend olmuş iki tip servis haberleşmesi var. Bir tanesi SOAP ve diğeri de REST. Ben çok kısa, SOAP dan da bahsedeceğim, REST ile arasındaki farkları anlamak açısından. SOAP dediğimiz arkadaşımızın Simple Object Access Protocol – Basit Nesne Erişim Protokolü isminde uzunca bir ismi var. SOAP web servis çağrılarında Remote Procedure Call (RPC) modelini kullanan, istemci/sunucu mantığına dayalı bir protokoldür. Daha da özet hali, bir servis var ve bunun metodları var, siz de bu metodları call ederek response alıyorsunuz. SOAP da request / response süreci tümüyle XML olarak iletilmektedir. Örnek SOAP servis; [Dah fazla]