Node.js Üzerine – 1. Bölüm (kurulum ve hello world)

 

Merhaba dostlar, bugün sizinle node.js hakkında konuşacağız. Ne kadar istikrarlı bir şekilde bölüm bölüm yazarım şuan bilmiyorum ama öğrendiğim ve node.js ile kendimi geliştirdiğim sürece yazacağımı düşünüyorum şimdilik. Hemen başlayalım.

Öncelikle Node.js nedir sorusuna cevap verelim; Node.js’yi server-side JavaScript olarak tanımlayabiliriz. Bize server tarafında Javascript yazabilmemize imkan sağlayan muazzam bir teknolojidir kısaca. Peki neden PHP veya Java EE yerine node.js kullanmak tatlı geliyor? Bunun sebebi ise JavaScript’in event tabanlı bir dil olmasıdır. Bu yüzden Node.js çok hızlı ve güçlü bir server-side dili olabilmektedir. Bunların sayesinde çok hızlı chat uygulamaları, upload sistemleri veya veri alışverişinin hızlı gerçekleşmesi gereken her uygulamada bize inanılmaz bir güzellik sağlamaktadır.

 

İlk olarak node.js yi sitesinden bilgisayarımıza indirelim ve kuralım. şu linke tıklayarak indirme sayfasına ulaşabilirsiniz.

İkinci olarak ilk script’imizi yazalım.  C:\users\bilgisayar_adınız\ dizinine bir .js dosyası açalım ve adını myfirstnode.js koyalım. İçini ise şu şekilde dolduralım:

myfirstnode.js

1
2
3
4
5
6
7
8
var http = require('http');

var server = http.createServer(function(req, res) {
res.writeHead(200);
res.write('Hello World');
res.end();
});
server.listen(8080);

Scriptimizi kaydettikten sonra cmd‘yi açalım (windows tuşuna bastıktan sonra cmd yazmanız yeterli olacaktır.) ve serverımızı başlatalım. Bunun için cmd ekranına;

1
node myfirstnode.js

yazıp entera basalım. Her şeyi doğru yaptığınız takdirde browser’ınızı açarak localhost/8080 yazdığımız takdirde serverımızın kurulu ve “Hello World” mesajını yazdığınızı görebilirsiniz.

Şimdi yazdığımız kodu biraz anlamaya başlayalım.

1
var http = require('http');

‘require’ komutu Node.js kütüphanelerine bir çağrı yaparak http kütüphanesini kullanabilmemize olanak sağlıyor. ‘http‘ kütüphanesi ise bizim server oluşturabilmemize yarıyor. Bunun gibi bir çok kütüphaneye sahip Node.js, bunların bazıları Node.js’yi yüklediğimizde beraberinde geliyor diğerlerini ise NPM ile yükleyebiliyorsunuz. NPM; Node.js’nin paket yükleyicisidir, NPM’in kullanımı ve kütüphanelerin nasıl implement edildiklerine bir sonraki bölümlerde geleceğim. Şimdi kod ile devam edelim.

1
var server = http.createServer();

Http objesinin içinde yer alan createServer() fonksiyonunu çağırdık. Ve oluşturacağımız server’ı, ‘server‘ değişkenine atadık. Şimdi işin tricky kısmına gelirsek, koda baktığınız zaman göreceksiniz ki createServer ayar olarak bir function alıyor, bu fonksiyon ise kullanıcı sitemize bağlandığında çalıştırılacak olan fonksiyon. Okuması biraz karmaşık olabilir ama alıştıkça daha mantıklı gelecek emin olabilirsiniz kendimden biliyorum.

Şimdi ise createServer içindeki fonksiyonun aldığı değişkenleri açıklayalım;

req” yani sitemize gelen kullanıcının request’i. Bu obje kullanıcının tam olarak ne request ettiği hakkında her türlü bilgiye sahip olabilmekte. Hangi sayfayı istediğinden, form doldurduysa yazdığı bütün bilgileri request objesi ile alıyoruz.

res” yani kullanıcıya gönderdiğimiz respond. Genellikle html içeren bu objemiz ile kullanıcımıza cevap veya istediği sayfayı gönderiyoruz. Bu örneğimizde ‘Hello World’ gönderdik örneğin.

1
2
3
res.writeHead(200);
res.write('Hello World');
res.end();

Üsteki kodun ilk satırında serverın ‘OK’ olduğunu belirtmek için 200 kodunu yolladık.
Bir alttaki satırda respond’umuzu yazdırdık, şuan sadece bir string varmış gibi gözükebilir ama içine genelde html ile daha güzel cevaplar döndüreceğiz ileride.
.end fonksiyonu ile ise respond’umuzu bitiriyoruz.

1
server.listen(8080);

Son olarak ise 8080 portunu dinliyoruz ki her açıldığında cevabımızı yollayabilelim.

Evet arkadaşlar bugün Node.js’ye giriş yapmış bulunduk. Umarım benim yeni yeni alıştığım bu teknoloji hakkında bir kaç bilgi verebilmişimdir size de. Ben öğrendiğim ve yaptığım örnekleri buraya detaylı yazacağım ama isterseniz github profilimdeki node.js-Tutorials adlı repo ile de diğer örneklere ulaşabilirsiniz. Linki ise şurada.

Kendinize iyi bakın, tatlı kodlamalar.

ahmet

Ahmet Kılınç - Software Developer

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. 27 Aralık 2017

    […] fonksiyonu ile ne yazdırdıysak onu gördüğümüzü hatırlıyorsunuzdur. Hatırlamıyorsanız 1. bölüme tekrar göz atmayı […]

  2. 1 Mart 2018

    […] Node.js […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.