Microservice Nedir ?

microservices

Microservice Nedir

 

Her ne kadar yeni bir konu olmasa da son yıllarda bu altyapı ile yatıp/kalkmamdan dolayı Microservice Nedir konusunda bir genel bakış yapmak istedim. Microservice mimarisinin avantajlarından bahsetmeden önce Service Oriented Architecture(SOA)‘a ufak bir bakış yapıp, geleneksel SOA’da kullanılan monolithic mimarinin dezavantajlarına da değineceğiz.

Service Oriented Architecture (SOA)

Omni-Channel

Bu konu hakkında çok detaya girmek mümkün ama basit anlamda Türkçe’ye çevirirsek, Servis Odaklı Mimari kendini az çok anlatıyor zaten. Entegrasyon veya Omni-Channel ihtiyacı ile birlikte aynı veri katmanı ve/veya business‘ı kullanmak isteyen birden fazla uygulama için üretilen servisler ve bu servisleri tüketen uygulamalar için kullandığımız mimariye verdiğimiz ad. Continue reading Microservice Nedir ?

Nedir Bu React? Neden Kullanmalıyız, Nasıl başlarız, Neler Yapabiliriz

react

Interactive UI tasarımlarını acısız bir şekilde yapmanızı sağlar.

React’ın resmi sitesindeki tanımı bu.

Aslında hiç fena bir tanımlama değil. Herkes galiba Facebookun web sitesinden mesajlaşırken yaptığı refreshleri hatırlıyordur.

Bu mesaj niye hala gelmedi yaaa!!!Hala mesaj atmadımı bana o??? F5-F5-F5

Facebook’da sağ tarafta sürekli bir hareketlilik vardır. Birşeyleri beğenenler ve online arkadaşlar anında güncellenir sağ kısımda. Hatırlayın hoşlandığınız kız acaba ‘online oldumu’ diye merak ederken yaptığınız refreshleri.

Gerçek zamanlı güncellenen web siteleri geliştirmek bukadar zor olmamalı…

Bunlara çözüm olarak birçok javascript frameworkleri var. Angular, Ember gibi birçok gelişmiş faremwork var. .net icin durum biraz vahim.

Facebook’un ise bu problemleri cozmek için gelistirdigi sistem React.

Continue reading Nedir Bu React? Neden Kullanmalıyız, Nasıl başlarız, Neler Yapabiliriz

SOLID Prensipleri

solid

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.

1. (S)ingle Responsibility Principle

2. (O)pen/Closed Principle

3. (L)iskov ‘s Substitution Principle

4. (I)nterface Segregation Principle

5. (D)ependency Inversion Principle

Solid’e ek olarak Kiss, Yangi, Dry, Reuse Release Equivalence, Common Closure prensipleri de bulunmaktadır.

Şimdi kısaca bu prensiplerin neler olduğundan bahsedelim: Continue reading SOLID Prensipleri

Yapay Sinir Ağlarının Mimarisi ve Yapı Elemanları

ysa-1

Yapay Sinir Ağlarının Mimarisi ve Yapı Elemanları
Yapay sinir ağları biyolojik sinir ağlarının modellemesi olduğu için yapay sinir ağlarının çalışmasını anlayabilmek için öncelikle biyolojik sinir sisteminin yapısına bakmak gerekir. Biyolojik sinir sisteminin yapı taşı olan sinir hücreleri nöronlar, yapay sinir ağlarının da yapı taşıdır.

Biyolojik Sinir Hücresinin Yapısı
Biyolojik sinir sisteminin temel yapı taşı olan nöronların yapısı dört ana bölümden oluşmaktadır; dendrit, akson, çekirdek ve bağlantılar. Dendritlerin sinir hücresinin ucunda bulunan ve ağaç kökü görünümüne sahip bir yapıya sahiptir. Dendritlerin görevi bağlı olduğu diğer nöronlardan veya duyu organlarından gelen sinyalleri çekirdeğe iletmektir. Çekirdek dendrit tarafından gelen sinyalleri bir araya toplayarak ve aksona iletir. Toplanan bu sinyaller akson tarafından işlenerek nöronun diğer ucunda bulunan bağlantılara gönderilir. Bağlantılar ise yeni üretilen sinyalleri diğer nöronlara iletir. Continue reading Yapay Sinir Ağlarının Mimarisi ve Yapı Elemanları

Yapay Sinir Ağlarına Giriş

yapay-zeka

Yapay Sinir Ağlarının Tanımı

Yapay sinir ağları canlılarda bulunan sinir sisteminin çalışmasını elektronik ortama taşımayı hedefleyen bir programlama yaklaşımıdır. Yapay sinir ağlarının da canlılarda olduğu gibi öğrenme, hatırlama ve öğrendiklerini güncelleme gibi yeteneklerinin olması hedeflenmektedir.

Sinir sisteminin davranışlarını kopyalayabilmek için yapısının da kopyalanması gerektiğini düşünen bilim adamları yapay sinir ağlarını modellerken de sinir sisteminin yapısını örnek almışlardır. Continue reading Yapay Sinir Ağlarına Giriş

ElasticSearch’e Başlarken

Elasticsearch

Hayatımızın dijitalleşmesi ile birlikte , kontrol edilemez bir şekilde sürekli veri ürettiyoruz. Petabyte..exabyte’lar seviyesine ulaşan ve big data dediğimiz bu veri yığınları arasında kaybolmamak için elimizi güçlendirecek teknolojilere ihtiyaç duyuyoruz. Zuckerman’ın da belirttiği gibi “iyi bir arama motoruna sahip değilsek bu veri yığınları içinde kafa karışıklığı yaşamaya mahkum olacağız”. İşte tam da bu noktada bir teknoloji imdadımızı yetişiyor :)

ElasticSearch, Apache Lucene üzerine kurulmuş, Java ile geliştirilmiş açık kaynak (open source) kodlu bir full text (metin) arama motoru ve veri analiz aracıdır. Veri saklama biçimi ilişkisel değil documented oriented şeklindedir. Bu ürünü big data (büyük veri) kavramının geçtiği orta ve büyük ölçekli işletmelerde görebiliriz. Herbiri farklı kulanım senaryoları ile organizsayonlarına ES’yi, dahil etmiş, eğitimden sağlığa, finanstan, perakendeye pek çok şirket göze çarpmaktadır. Aşağıda ElasticSearch kullanan dünya devi firmalardan bazılarını görebilirsiniz. Continue reading ElasticSearch’e Başlarken

Makine Öğrenimine Giriş

makineogrenimi

Makine öğrenimi yapay zekanın olmazsa olmazıdır. Peki neden makine öğrenimi, neden makine öğrenimini anlamak istiyorsunuz, makine öğrenimi hayatınızı nasıl etkiliyor?

Bütün bu sorulara verilebilinecek cevap çok basit. Çünkü makine öğrenimi bugünün ve geleceğin en çok rağbet gören, en çok etkili olan konusudur. Makine öğrenimi zamanla daha çok gelişecektir. Biz farkına varsak da varmasak da o bizim hayatımızın bir parçası haline gelmiş durumda.

Makine öğrenimi konu ve konseptlerini yazının devamında dizi şeklinde anlatımlarını bulabacaksınız. Yazıda, yüksek seviye makine öğrenimi konsepti ve konunun mantığı üzerine bir giriş yapılmış olacak. Biliyorum! öğrenmek için çok heyecanlısınız öyleyse hiç beklemeden başlayalım. Continue reading Makine Öğrenimine Giriş

Geçmiş Hatalardan Dersler Çıkarmak : Nöral Ağlar

noral-aglar

Sinema tutkunu bir Y kuşağı mensubu iseniz anımsayacaksınızdır. Lion King, “hakuna matata” mottosuyla hafızalarımıza kazınmıştı çocukluk yıllarımızda. Svahili dilindeki kalıbın çevirisi her ne kadar endişeye mahal yok olsa da filmin Türkçe dublajlı versiyonunda “geçmişi unut, geleceğe bak” şeklinde çevrilmişti. Oysa ki filmde bilge babun Rafiki’nin çok daha anlamlı bir repliği daha bulunuyordu: “Geçmiş canını acıtabilir. Sende geçmişinden kaçabilir ya da ondan ders çıkartabilirsin“. Nöral ağlar da işte bu prensibe dayanır. Hata yap ve hatalarından ders çıkar. Continue reading Geçmiş Hatalardan Dersler Çıkarmak : Nöral Ağlar

Redis Nedir ?

redis

En basit haliyle Redis, key-value şeklinde tasarlanmış bir NoSQL veritabanıdır. Memcache gibi verileri HDD yazmadan Ram üzerinde tutmaya yarayan bir platformdur. Memcaheden farklı olarak NoSql mantığıyla çalıştığı için serverin kapansa dahi verilerin kaybolmasına izin vermez.

Peki böylebir yapıya neden ihtiyaç duyarız ?

Cevabı basit aslında sql yapıları CPU kullanarak işlem yaptığı için bizim gibi big datalarla çalıştığınızda CPU ya ciddi bir yük bindiriyorsunuz, redis gibi yapılar bu yükü azaltmaya yardımcı olmakla beraber hız konusunda ciddi performans artışları sağlıyor, üstelik XML, JSON vb yapılara ihtiyaç duymadan scriptler arası haberleşmeyede fırsat veriyor. Continue reading Redis Nedir ?