Node.js ile Basit Cluster Kurguları 04 Temmuz 2018 Burak-Selim-Senyurt Node.js NodeJS ile yazdığımız uygulamaları genel olarak node [application_name.js] şeklinde çalıştırıyoruz/çalıştırıyordum. Aslında bu durumda söz konusu uygulama tekil bir iş parçası olarak(Single Thread) çalışmakta. Dolayısıyla birden fazla iş parçacığını çalıştırıp tüm işlemci/çekirdek gücünü almaktan yoksun kalıyoruz. Aslında özellikle web sunucuları/servisleri geliştirebileceğimiz etkili bir ortam söz konusu iken bu tip bir avantajdan faydalanamamak yazık olurdu. NodeJS ile birlikte gelen cluster isimli modül bu konuda önemli fonksiyonellikler sunuyor. [Daha fazla]
West-World'ün Uzaydan Gelen SQL Server ile Tanışması 26 Haziran 2018 Burak-Selim-Senyurt .Net Core Bizim kuşağın yazılımcıları uzun yıllar boyunca çeşitli çatışmalar içerisinde yer aldılar. Java'mı, .Net mi, SQL mi Oracle'mı, SOA'mı Microservices'mı....Bu ve benzeri tartışmalar uzun yıllar sürecek mi diye düşünürken birden şartlar değişmeye başladı. Mesela Microsoft açık kaynak dünyası ile el sıkıştı, ortaya .Net Core'u koydu. Hatta Java Developers Day'a altın ortak bile oluverdi. Ne alıp veremdikleri vardı ki bu ayrı dünyalarda yaşadıklarını zanneden standart koyucuların... [Daha fazla]
Mocha'nızı Node.js ile Alır mıydınız? 08 Haziran 2018 Burak-Selim-Senyurt Node.js Bu yazımızda Node.js kodlarımızı test etmek için kullanabileceğimiz Mocha ve Should çatılarına değiniyoruz. Çok basit bir node.js fonksiyonelliğini test edereken behaviour driven development(BDD) odaklı yaklaşıma da çok çok yüzeysel anlamda vurguda bulunuyoruz. Should çatısını kullanırken kendi özel assertion fonksiyonlarımızı nasıl yazabileceğimize de kısaca bakıyoruz. Özetle test yazmanın nasıl keyifli hale getirildiğine bakıyoruz. [Daha fazla]
Azure, Azure! Bu Fotoğrafta Neler Görüyorsun? 25 Mayıs 2018 Burak-Selim-Senyurt Azure Pluralsight sağolsun Azure konusundaki çalışmalarıma devam ediyorum. Ufak ufak öğretilerin üzerinden geçerken de neyin nasıl yapıldığını adım adım öğrenmeye çalışıyorum. Bu yazımızda zun zamandır hepimizin varlığından haberdar olduğu Cognitive Services özelliklerinden birisine bakacağız. Azure'un yapay zeka destekli makine öğrenme hizmetlerinden olan Compture Vision enstrümanını kullanarak bir fotoğrafı bizim için nasıl yorumlayableceğini göreceğiz. [Daha fazla]
Azure ile İlk Maceram (App Service) 18 Mayıs 2018 Burak-Selim-Senyurt Azure Yazımızdaki temel amacımız Azure'un desteklediği dillerinden birisini kullanarak geliştirilen uygulamayı buluta alıp, yayınlamaktan ibaret. Konuyu araştırdığım tarih itibariyle PHP, Java, Ruby, Go ve pek tabii .Net Core için destek sunuluyor. Ben elimin bir süredir de sıcak durduğu Node.js dilini seçtim. Azure'un App Service hizmetini Linux tabanlı bir ortam üzerinde deneyimlemeyeceğiz. Aslında App Service bir web hosting hizmeti olarak düşünülebilir. Kurulumu oldukça kolaydır ve bir plana bağlandığında dağıtım gibi işlemlerde basittir. Gelelim işlemlerimizi nerede yapacağımıza? [Daha fazla]
Google Cloud Storage Kullanımı 08 Mayıs 2018 Burak-Selim-Senyurt .Net Core, GCP Bu yazımızda Google Cloud Storage hizmetini nasıl kullanabileceğimizi incelemeye çalışıyoruz. Özellikle fiziksel depolama olarak kullanabileceğimiz bu hizmeti hem komut satırından hem de .Net Core ortamından kullanmayı deniyoruz. Bir Bucket oluşturup, fotoğraf yüklüyor, yüklediğimiz içerikleri kendi ortamımıza çekiyoruz. [Daha fazla]
Atlas ile Node.js Üzerinden Haberleşmek 02 Mayıs 2018 Burak-Selim-Senyurt Node.js Bu yazımızda MongoDb'nin Cloud sistemi olan Atlas üzerinde bir proje oluşturarak işe başlıyoruz. Sonrasında Cluster üretip gerekli konfigurasyon ayarlamalarını yaparak MongoDB Compass uygulamasıyla bağlantı gerçekleştiriyor, örnek bir veritabanı ile koleksiyon oluşturup içerisine doküman ekliyoruz. Son aşamada bu içeriği Node.js ile yazdığımız bir kod parçası yardımıyla Ubuntu ortamına indirmeye çalışıyoruz. [Daha fazla]
.Net Core ile Amazon DynamoDB'yi Kullanmak 16 Nisan 2018 Burak-Selim-Senyurt .Net Core, AWS Epey zamandır NoSQL veritabanı sistemlerini kurcalamıyordum. Ağırlıklı olarak da .Net tarafında nasıl kullanılabildiklerini incelediğimi hatırlıyorum. 2017nin son çeyreği ve 2018 için kendime koyduğum hedeflerden birisi ise .Net Core dünyasını daha yakından tanımak. West-World'ün kurulum amacı da özellik bu. Sonuç olarak Amazon'un DynamoDb'sini .Net Core tarafında nasıl kullanabileceğimi incelemeye karar verdim. Bir süredir AWS Console üzerinden bir şeyler araştırıyor ve Amazon Web Service ürünleri hakkında giriş niteliğinde bilgiler edinmeye çalışıyorum. [Daha fazla]
Express API Hizmetini Heroku Üzerine Taşımak 07 Nisan 2018 Burak-Selim-Senyurt Node.js Bu yazımızda express modülünü kullanarak node.js'de geliştirdiğimiz çok basit bir REST servisinin, Heroku üzerine nasıl taşınabileceğini incelemeye çalışıyoruz. Örneğimizde Heroku CLI'dan yararlanıyor ve dağıtım operasyonunu Ubuntu tabanlı bir işletim sistemi üzerinden yapıyoruz. [Daha fazla]
Bir Web API Servisini Github Hesabıyla Yetkilendirmek 04 Nisan 2018 Burak-Selim-Senyurt .Net Core Senaryomuzda basit bir Web API Servisi bulunuyor. .Net Core ile geliştirilen servisin bir Controller'ı için yetkilendirme(Authorization) sürecini uygulatmak istiyoruz. Burada OAuth 2 standardını ele almak, kullanıcı yetkilendirme yöneticisi ve bilet(Token) tedarikçisi olarak Github'dan yararlanmak istiyoruz. Temel olarak Web API servisimiz Consumer, Github'ın kendisi ise Service Provider olarak düşünülebilir. Tabii bu senaryonun gerçekleşmesi için bizim Github'a bir proje kaydettirmemiz ve özellike Redirect URI bilgisini Consumer rolündeki uygulamamız için bildirmemiz gerekiyor(Az sonra yapacağız) [Daha fazla]
Apache Üzerinden Bir Web API Hizmeti Sunmak 22 Mart 2018 Burak-Selim-Senyurt .Net Core Bu yazımızda West-World üzerine Apache kuruyor ve 80 portuna gelen talepleri Kestrel'e yönlendirerek bir Asp.Net Web API hizmetini nasıl sunabileceğimizi incelemeye çalışıyoruz. Daha önceden NginX için gerçekleştirdiğimiz vakayı Apache tarafı için ele aldığımızı ifade edebiliriz. Tabii farklı olan bazı noktalar var. Yine de teorinin aynı olduğunu ifade edebiliriz. Bakalım Apache, Ubuntu üzerinde nasıl Reverse Proxy Server haline geliyor. Haydi başlayalım. [Daha fazla]
Hackathon'dan Node.js'i Tanımaya 12 Mart 2018 Burak-Selim-Senyurt Node.js Javascript yüzyıllardır(abartmayı severim) front-end tarafında en güçlü yazılım geliştirme dillerinden birisi. Bu dil üzerine kurulmuş bir çok Framework(çatı) bulunmakta. Hatta bazıları tamamen sunucu bazlı çalışacak şekilde tasarlanmış. Node.js bunlardan birisi. Onunla kesişmem çalışmakta olduğum firmadaki bir kaç arkadaşımın katılacağı Hackhatorn yarışması sayesinde oldu. Yarışmaya katılımın ön koşulu olarak istenen bir projenin Node.js, MongoDb ve Heroku kullanılarak yapılması isteniyordu. Kıt kanaat bilgi birikimimle hemen şu Node.js nedir neler yapılabiliyordur diye bakınmaya başladım. Derken Cumartesi gecesi kendimi onu tanımaya dahası anlamaya çalışırken buldum. Şu an için iş yerindeki projelerimizde de olsun Node.js ile yürüyeceğimiz bir yol haritamız olmasa da sunucu taraflı çalışan Javascript temelli bir çatı neymiş öğrenmek istedim. Örnekleri karıştırırken de benim için hızlı bir giriş niteliğinde olan aşağıdaki örnek kod parçası ile işe başladım. [Daha fazla]
.Net Core Konfigurasyon Yönetimi Üzerine 01 Mart 2018 Burak-Selim-Senyurt .Net Core Çalışma zamanına bilgi taşımanın ve bazı ayarlamalar için gerekli değerleri okumanın en popüler yollarından birisi de bildiğiniz üzere konfigurasyon dosyalarından yararlanmak. Zaman içerisinde app.config, web.config gibi XML tabanlı konfigurasyon dosyalarına aşina olan bizler, .Net Core ile birlikte JSON formatlı içeriklerle çalışmaya başladık. .Net Core tarafında bu JSON içeriklerini yönetmek oldukça kolay. Farklı yöntemlerimiz var. Dahası Dependency Injection yeteneklerinden yararlanılabildiği için özel sekmelerin(section) sınıflara bağlanması da münkün... [Daha fazla]
EF Core ile MariaDb Kullanımı 19 Şubat 2018 Burak-Selim-Senyurt .Net Core Bu yazımızda MySQL’in yaratıcısı olan Monty Widenius‘un MySQL’in kodunu çatallayıp oluşturduğu ve kızının adını verdiği MariaDB'nin Entity Framework Core ile nasıl kullanılabileceğini incelemeye çalışıyoruz. [Daha fazla]
AWS Elastic Beanstalk Macerası 16 Şubat 2018 Burak-Selim-Senyurt AWS, python Bu yazımızda Django çatısından üretilmiş standart bir web uygulamasını, Amazon'un Platform As A Service olarak konumlandırdığı Elastic Beanstalk üzerine nasıl taşıyabileceğimizi öğrenmeye çalışıyoruz. Yolda tabii ki başımıza garip garip olaylar da geliyor. Özellikle sonlara doğru yaşadığımız sıkıntıları çözmeye de çalışıyoruz. Haydi gelin başlayalım. [Daha fazla]
Core Web API için Planlanmış Görevler 09 Şubat 2018 Burak-Selim-Senyurt .Net Core Bu makalemizde Hosted Service olarak adlandırılan ve arka plan işleri(background jobs) ya da planlanmış görevler ile ilişkilendirilmiş servislerin Web API gibi WebHost türevli uygulamalarda nasıl ve ne amaçla kullanılabileceklerini inceleme çalışıyoruz. [Daha fazla]
Asp.Net Core Routing Mekanizmasını Kavramak 02 Şubat 2018 Burak-Selim-Senyurt Asp.Net Core Bu yazımızda Asp.Net Core routing mekanizmasını yakından incelemeye çalışacağız. .Net tarafında MVC zamanlarından beri kritik bir yere sahip olan talep yönlendirme mekanizması .Net Core tarafında da etkili bir biçimde kullanılmakta. Bir kaç farklı örnek yaparak mekanizmanın nasıl çalıştığını anlamaya çalışalım. [Daha fazla]
Bir Ruby Uygulamasını Google Cloud Platform Üzerine Taşımak 27 Ocak 2018 Burak-Selim-Senyurt Ruby Ben bu Cloud platformlarını çok tuttum. Gerek Azure, gerek AWS, gerek Google Cloud Platform...Hepsi çok çekici duruyor. Benim ilgimi çeken şey onları araştırırken özellikle west-world dünyasında yazılmış bir programın ilgili platform üzerinde konuşlandırılması ve yürütülebilmesi. Ağırlıklı olarak REST tipinden servis uygulamalarını taşımaya çalışıyorum. Bu seferki hedefimse rastgele bir sözü sunan ruby ile yazılmış bir REST servisinin Google Cloud Platform'a taşınması ve oradan kullanılabilmesi. İşlemlerime başlamadan önce Google Cloud Platform üzerinden geçerli bir ödeme seçeneğinimizin olması gerekiyor. Yani bir kredi kartı bilgimizi tanımlamış olmalıyız. Bir ablam olduğu için çok şanslıyım :) Sağolsun bu proje için sanal kredi kartını kullanmama izin verdi. Gelin adım adım ilerleyelim. [Daha fazla]
Sadece Tarayıcı Kullanarak Web API Servisini Google Cloud Platform Üzerinde Yayınlamak 14 Ocak 2018 Burak-Selim-Senyurt .Net Core Sizi Cumartesi geceme davet etsem...Olmaz mı? Pekiiii...Sadece 15 dakika içerisinde standart bir .Net Core Web API hizmetini Google Cloud Platform üzerine taşıyabileceğinizi söylesem. İlginizi çekmedi mi hala...Pekiiii...Tüm bunları sadece tarayıcı(Chrome, IE, Firefox, Opera, elde ne varsa) ile yapabileceğinizi söylesem :) Sanırım şimdi dikkatinizi çekmiş olmalı. [Daha fazla]
AWS Lambda Üzerinde .Net Core Koşturmak 12 Ocak 2018 Burak-Selim-Senyurt .Net Core, AWS Bu yazımızda Amazon Web Service'lerinden Lambda ürününü kullanmaya çalışıyoruz. Geliştireceğimiz basit bir Asp.Net Core Web API hizmetini Lambda üzerine fonksiyon olarak yerleştiriyoruz. [Daha fazla]
Nginx Üzerinde Web API Servisi Çalıştırmak 05 Ocak 2018 Burak-Selim-Senyurt .Net Core Nginx(Engine X olarak telafuz ediliyor) Kazakistan Almatı doğumlu bilgisyar programcısı Igor Sysoev tarafından 2002 yılında geliştirilmeye başlanmış ve 2004 yılında ürünleşmiş açık kaynak bir web sunucusudur. İlk olarak mail.ru için mail sunucu olarak geliştirilmiş ama sonrasında çok daha geniş yetenekler kazanarak web siteleri için Apache'den çok daha hızlı çalışabilen bir sunucu haline gelmiştir. Henüz doğrulayamadığım ama genel kabul görmüş bazı performans testlerine göre muadili olan Apache ve Lightpdd gibi ürünlere göre çok yüksek cevap süreleri ve minimum bellek tüketimi sağlamaktadır. Bu açılardan oldukça popüler olduğunu ifade edebiliriz. Yük dengeleme(Load Balancing), Sana sunucu(Virtual Host), Otomatik indeksleme ve ters vekil sunucu(Reverse Proxy) gibi temel özellikleri vardır. [Daha fazla]
.Net Core Tarafında SignalR Kullanımı 01 Ocak 2018 Burak-Selim-Senyurt Asp.Net Core Bir süre önce araştırmaya başladığım ama araya giren diğer konular(WebSockets ve CORS) nedeniyle askıda kalan SignalR ile ilgili West-World tarafında haftasonu önemli gelişmeler oldu. Öncelikle çalıştığım kaynaklardan yararlanarak aşağıdaki özet şekli oluşturdum ve bir örnek yapmaya karar verdim. [Daha fazla]
CORS(Cross-Origin Resource Sharing) 30 Aralık 2017 Burak-Selim-Senyurt .Net Core Bu yazımızda .Net Core WebAPI servislerine CORS(Cross-Orijin Resource Sharing) özelliklerinin nasıl eklenebildiğini inceliyoruz. Konuyu ele alırken CORS'un ne olduğuna da değinir ve örnekler ile açıklamaya çalışıyoruz. [Daha fazla]
Asp.Net Core Web API için Custom MiddleWare Yazmak 18 Aralık 2017 Burak-Selim-Senyurt .Net Core, Asp.Net Core Bu yazımızda IApplicationBuilder arayüzünü genişleterek özelleştirilmiş bir ara katman(MiddleWare) yazıyor ve bunu var olan pipeline'e ekleyerek çalışma zamanında ele alınmasını sağlıyoruz. [Daha fazla]
JWT(JSON Web Token) Kullanımı 08 Aralık 2017 Burak-Selim-Senyurt .Net Core Bu yazımızda .Net Core üzerinde Json Web Token'ların nasıl üretilebileceğini ve bir Web API hizmeti üzerinden nasıl sunulabileceğini incelemeye çalışıyoruz. [Daha fazla]