Harun Özer


Proje veya dijital katalog yaptırmak için
iletişim formu doldurabilirsiniz..

<< AngularJS custom directive | Nodejs paket yüklemek ve kullanmak>>

Nodejs nedir

Yazar harunozer 27 July 2014

Nodejs nedir NodeJS sunucu tarafında javascript ile kod geliştirilmesini sağlayan, chrome gibi v8 javascript engine (javascript kodunu makine diline çevirir) üzerinde çalışan bir platformdur.

Nodejs joyent firmasının bir markasıdır ve 2009 yılında geliştirilmeye başlanmıştır. Nodejs ölçeklenebilir, olay güdümlü (event-driven) asenkron, non-blocking I/O çalışma modelini kullanır. Bu da yüksek performans ile çalışmasını sağlar. Linkedin mobil sunucu tarafında nodejs ye geçtikten sonra sunucu sayısını 30 dan 3 e düşürdüğünü ve bazı işlemlerde 20 kata kadar daha hızlı olduğunu açıklamıştır[1].

Nodejs yi cazip yapan diğer bir konu ise IIS, jboss gibi yüksek kaynak tüketen web server kullanmak gerekmiyor. Nodejs de uygulama sunucusunu basit bir şekilde kendimiz yazıyoruz.

Herbir nodejs uygulaması bir thread kullanır. Fakat event loop / non-blocking IO modelini kullandığı için performans olarak çok iyidir. Event loop/non blocking IO şu mantıkla çalışır. Client istekte bulunur ve event loop bu isteği non-block şekilde çalışan işleyicilere yönlendirir ve client e bir bilet verir. İşleyiciler işini bitirince cevabı event loop a bildirir ve event loop cevabı alıp içindeki bileti çıkarıp client e gönderir.

Nodejs yi bilgisayarımıza kurmak oldukça basittir. http://nodejs.org/download/ adresinden kurulum paketini indirebilirsiniz. Nodejs ile birlikte npm (node package manager) da kurulmuş olacaktır. Bu nodejs de yazılmış kütüphaneleri kurulumunu sağlar.

Nodejs yi kurduktan sonra çalıştığını test etmek için node.exe yi çalıştırıp aşağıdaki kodu yazalım.

console.log(“nodejs test“)

Bu kod konsola nodejs test yazacaktır.

Şimdi nodejs de basit bir web uygulaması yapalım. Uygulamamız isteklere Merhaba nodejs cevabı versin. Aşağıdaki kodu bir js dosyası oluşturup kaydedin.

var http = require('http');

http.createServer(function (req, res) {

            res.writeHead(200, {'Content-Type': 'text/plain'});

            res.write('Merhaba nodejs\n');

            res.end();

            console.log(req.url);

}).listen(1337, "127.0.0.1");

console.log('Sunucu çalıştı http://127.0.0.1:1337/');

Kodumuzu çalıştırmak için konsol açıyoruz ve nodejs nin kurulu olduğu klasöre gidiyoruz.

node “JS nin yolu” yazıp uygulamamızı çalıştırıyoruz. Konsolda “Sunucu çalıştı http://127.0.0.1:1337“ yazacaktır. Şimdi de chrome yi açıp bu adresi isteyelim. Browser da “Merhaba nodejs” yazacaktır ve konsolda da istenilen url ler yazacaktır.(favicon isteğini chrome kendisi yapıyor.)

Kullandığımız kodları biraz açıklayalım. require kodu ile http modülü oluşturup http değişkenine atıyoruz. http nesnesinin create Server metodu ile istekte çalışacak functionu parametre olarak veriyoruz. Bu fonksiyon 2 parametre alır. Request ve response nesneleri. http listen metodu ise dinlenilecek port ve ip parametrelerini alıyor. Res.writeHead ile vereceğimiz cevaba header tanımlıyoruz. 1. Parametre cevap kodu (200 başarılı demektir), 2. Parametre ise cevabın tipini veriyoruz. res.write ile client e cevap veriyoruz ve res.end ile isteğin bittiğini belirtiyoruz. console.log ile de konsola mesaj yazdırıyoruz.

http://highscalability.com/blog/2012/10/4/linkedin-moved-from-rails-to-node-27-servers-cut-and-up-to-2.html

Tam Sayfa
Tags nodejs,
Kategoriler Nodejs
İşlemler
Bu Makale 13  Kez Beğenildi.
Bilal Alp

3/18/2016 11:20:51 AM | Bilal Alp

çok güzel bir yazı teşekkürler.

İsim :    
e-Mail :    
Web Site :  
İmage :  
Güvenlik Kodu :  

Güvenlik Resmi
Resmi Yenile
    
Yorum :  
Tasarım Desenleri ve Mimarileri