Node.js, JavaSctipt ile server side uygulamalar yazabileceğimiz, Joyent tarafından 2009 yılında geliştirilmeye başlanmış bir Javascript Runtime platformudur. V8 denilen javascript motoru üzerinde çalışır. V8, Google tarafından geliştirilen, Chrome web browserlarının da üzerinde çalıştığı C, C++ ve javascript dilleri ile kodlanan bir enginedir. Tek amacı javascript kodunu makine koduna çevirmektir. Kesinlikle çok performanslıdır.
Node.js günümuzde oldukca yaygin bir platformdur. Bunun kanıtı ise asağıdaki tanıdık web sitelerinin hepsi node.js kullanmasıdır.
> PayPal
> NetFlix
> Uber
> Linkedln
> Ebay
> NASA
Kaynak : https://thinkmobiles.com/blog/node-js-app-examples/
Ve daha bircokları Node.js ile serverlarılını yapilandırmaktadır.
Node.js'nin en buyuk atrılarından biri ise JavaScript'in sağladığı bloklanmayan(non-blocking) yapisina sahip olmasıdır.
Nedir bu non-blocking yapısı:
Programlama ile ilgilenen bazi arkadaşlar bilirler, Bir I/O işlemi yaptiğınızda (mesela bir dosya okuma işlemi) okuyacak kodu yazdiğınız yer geldiğinde programlama dili okuma işlemi için sizi durdurur(Extra Threadlarla uğraşmazsanız). Burada siz bloklanmış olursunuz. Ama non-blocking yapısını destekleyen dillerde okuma işlemini arkaplanda yapar ve size daha sonradan haber verir. Bu işlem Node.js de callback fonksyonlarının temel mantığını açıklar.
Hadi simdi biz de bir kaç tane ornek yaparak Node.js yi anlamaya çalışalım.
Oncelikle yaptığımız işlemleri anlamak icin temel JavaScript syntaxına sahip olmanız gerekmekte
----BASLAYALIM---
Node.js yi oncelikle kuralım. Verdiğim linkten Node.js'nın nasil kurulduğuna bakabilirsiniz.
https://gelecegiyazanlar.turkcell.c...1-node.js/node.jsin-windows-uzerinde-kurulumu
Daha sonra 'server.js' isminde bir .js dosyası oluştralım ve kod yazmaya başlayalım.
Gerekli modulu bir nevî import etmemiz gerekmekte.
Http modulu, Node.js'nin temel http protokollerini kontrol etmemizi saglayan yapıdır. Bu modül ile server oluşturmak oldukça basittir.
[/FONT]
Kodlari açıklayalım:
* createServer() ile http modulunde yer alan standart server dinleyicisini calıştırıyoruz. createServer() methodu parametre olarak bir callback fonksyonuna ihtiyaç duyar. Yani createServer() islemi bittiğinde hangi fonksyonun çalişmasi gerektiğini soyleriz. Gorüldüğü gibi callback fonksyonu iki parametre alir req ve res;
req(request): Servera baglanan clientler(orn: web browserlar), bağlanırken sunucuya bir istek gonderir. Bu istek req parametresinde tutulur. req parametresinin içinde bizim kulanabileceğimiz bir cok değisken vardir. Ornek olarak, baglanan browser in user-agent'i gibi.
res(response): Servera baglanan clientlere gonderecegimiz baglanti objesi bunun içinde saklidir.
* res.write(), kullanıcıya geri dönüt yapmamızı sağlayan methodtur.
* res.end() ile geri dönüt (response) işlemini kapatiriz.
* .listen() ile hangi portu kullanacagımızı belirtiriz.
Simdi bu kodlari kaydedelim ve:
ile çalıştıralım.
Web Browserinizda 127.0.0.1:8000 ' e girelim.
Web serverimiz gayet güzel bir sekilde çalışıyor.
Kodumuzda birkaç değişiklik yapalim.
Goruldüğü gibi kodumuza bir koşul ifadesi ekledik. Buradaki req.url, gelen bağlantının hangi url adresinden geldiğini tutar.
Simdi bir test edelim.
Gördüğü gibi Node.js ile bir web server kurmak bu kadar kolay.
Tabikii yazdığımız seyler bir web sitesi tadında değil. Ben amacim Node.js öğrenmeniz için sizi teşvik etmektir.
Kaynak:
https://www.w3schools.com/nodejs/nodejs_http.asp
Node.js Nedir? Bazıları Hayal Eder Bazıları Yapar Bora Kaşmer www.borakasmer.com
http://www.wiki-zero.com/wiki/tr/Node.js
Node.js günümuzde oldukca yaygin bir platformdur. Bunun kanıtı ise asağıdaki tanıdık web sitelerinin hepsi node.js kullanmasıdır.
> PayPal
> NetFlix
> Uber
> Linkedln
> Ebay
> NASA
Kaynak : https://thinkmobiles.com/blog/node-js-app-examples/
Ve daha bircokları Node.js ile serverlarılını yapilandırmaktadır.
Node.js'nin en buyuk atrılarından biri ise JavaScript'in sağladığı bloklanmayan(non-blocking) yapisina sahip olmasıdır.
Nedir bu non-blocking yapısı:
Programlama ile ilgilenen bazi arkadaşlar bilirler, Bir I/O işlemi yaptiğınızda (mesela bir dosya okuma işlemi) okuyacak kodu yazdiğınız yer geldiğinde programlama dili okuma işlemi için sizi durdurur(Extra Threadlarla uğraşmazsanız). Burada siz bloklanmış olursunuz. Ama non-blocking yapısını destekleyen dillerde okuma işlemini arkaplanda yapar ve size daha sonradan haber verir. Bu işlem Node.js de callback fonksyonlarının temel mantığını açıklar.
Hadi simdi biz de bir kaç tane ornek yaparak Node.js yi anlamaya çalışalım.
Oncelikle yaptığımız işlemleri anlamak icin temel JavaScript syntaxına sahip olmanız gerekmekte
----BASLAYALIM---
Node.js yi oncelikle kuralım. Verdiğim linkten Node.js'nın nasil kurulduğuna bakabilirsiniz.
https://gelecegiyazanlar.turkcell.c...1-node.js/node.jsin-windows-uzerinde-kurulumu
Daha sonra 'server.js' isminde bir .js dosyası oluştralım ve kod yazmaya başlayalım.
Gerekli modulu bir nevî import etmemiz gerekmekte.
Kod:
[FONT="Courier New"]var http = require('http');[/FONT]
Http modulu, Node.js'nin temel http protokollerini kontrol etmemizi saglayan yapıdır. Bu modül ile server oluşturmak oldukça basittir.
Kod:
[FONT="Courier New"]var http = require('http');
var server = http.createServer(function (req,res){
res.write('Merhaba Node.js');
res.end()
}).listen(8000)
Kodlari açıklayalım:
* createServer() ile http modulunde yer alan standart server dinleyicisini calıştırıyoruz. createServer() methodu parametre olarak bir callback fonksyonuna ihtiyaç duyar. Yani createServer() islemi bittiğinde hangi fonksyonun çalişmasi gerektiğini soyleriz. Gorüldüğü gibi callback fonksyonu iki parametre alir req ve res;
req(request): Servera baglanan clientler(orn: web browserlar), bağlanırken sunucuya bir istek gonderir. Bu istek req parametresinde tutulur. req parametresinin içinde bizim kulanabileceğimiz bir cok değisken vardir. Ornek olarak, baglanan browser in user-agent'i gibi.
res(response): Servera baglanan clientlere gonderecegimiz baglanti objesi bunun içinde saklidir.
* res.write(), kullanıcıya geri dönüt yapmamızı sağlayan methodtur.
* res.end() ile geri dönüt (response) işlemini kapatiriz.
* .listen() ile hangi portu kullanacagımızı belirtiriz.
Simdi bu kodlari kaydedelim ve:
Kod:
[FONT="Courier New"]node server.js[/FONT]
Web Browserinizda 127.0.0.1:8000 ' e girelim.
Web serverimiz gayet güzel bir sekilde çalışıyor.
Kodumuzda birkaç değişiklik yapalim.
Kod:
[FONT="Courier New"]var server = http.createServer(function (req,res){
if (req.url == '/merhaba') {
res.write('Merhabalar!');
res.end();
}
else {
res.write('Merhaba Node.js');
}
}).listen(8000)[/FONT]
Goruldüğü gibi kodumuza bir koşul ifadesi ekledik. Buradaki req.url, gelen bağlantının hangi url adresinden geldiğini tutar.
Simdi bir test edelim.
Gördüğü gibi Node.js ile bir web server kurmak bu kadar kolay.
Tabikii yazdığımız seyler bir web sitesi tadında değil. Ben amacim Node.js öğrenmeniz için sizi teşvik etmektir.
Kaynak:
https://www.w3schools.com/nodejs/nodejs_http.asp
Node.js Nedir? Bazıları Hayal Eder Bazıları Yapar Bora Kaşmer www.borakasmer.com
http://www.wiki-zero.com/wiki/tr/Node.js
Son düzenleme: