Stream ve Pipe Mevzusu

Node.js tarafında anlaşılması en zor konulardan birisinin stream'ler olduğu söyleniyor. Özellikle event ve multi-process gibi konularlar yakın temas içerisinde. Ancak benim dikkatimi çeken nokta okuduğum bir yazı üzerine önüme gelen performans. Özellikle büyük veri ile çalışan bir web sunucusu söz konusu ise stream nesnelerinin pipe mekanizması ile birlikte kullanılıyor olması önem arz eden bir konu. Gelin ne demek istediğimi benden daha iyi özetleyecek basit bir örnek ile konuya giriş yapalım. [Daha fazla]

Pug, Pug, Pug

Bu makalemizde Node.js üzerinde express kullanarak basit bir web sayfasının nasıl gösterilebileceğini incelemeye çalışıyoruz. Ancak farklı olarak Pug(eski adı Jade) isimli paketten yararlanarak html içeriğini çok daha farklı bir şekilde tasarlıyoruz. Bu tasarım sırasında HTML'in klasik açısal ayraç sistemini terk ediyor ve girintili(tab'lı) yazım stiline geçiyoruz. [Daha fazla]

Node.js ile Basit Cluster Kurguları

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]

Mocha'nızı Node.js ile Alır mıydınız?

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 ile İlk Maceram (App Service)

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]

Atlas ile Node.js Üzerinden Haberleşmek

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]

Hackathon'dan Node.js'i Tanımaya

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]