Node.js Kullanımı

20 Kasım 2018 0 Yazar: Onur Cici

Bu yazımla itibaren bildiğim kadarıyla hem kafamdakileri oturtmak hemde memlekete bir katkım olsun diyerekten Node.js derslerine başlıyorum. Hata, problem vs. görürseniz yorumlayın, hata olmasın 😀

Öncelikle bu node.js nedir kısmıyla başlamak gerekirse; node.js, server-sidejavascript yazmamıza imkan tanıyan, google’ın süperdüper hızlı V8 engine‘ini kullanan bir yazılım mimarisi. Ancak benim açımdan (ve sanırım çoğu insan için) en önemli özelliği asenkron çalışması, IO bloklamadan çoklu event yaratması ve aşırı hızlı olması olsa gerek. Çünkü en azından ASP.NET’te projeler yapanlar için asenkron çalışma ve event özelliği herşey demek oluyor. Şöyle bir örnek verirsem daha iyi olacak. Diyelim ki bir chat web app yapacaksınız. Anlık olarak yazışmanız için Asp.net’te ya taklalar atmanız gerek, ya third-party library’ler kullanmanız gerek. Node.js işte bu gibi durumlarda sizi kurtarıyor diyebilirim. Asenkron olarak bir http server yazmanız sadece 50 satır kodu buluyor ve Ruby’deki gibi package mantığı sayesinde kod yazma işiniz bir o kadar azalıyor. Zaten İnternette arama yaptığınızda çoğu örnekte anlık paylaşımları, chat programı tutorial’ları görüyorsunuz. Kıssadan hisse; anlık yazım basımları, chat app’ları yada mmo oyunlar yapmak istiyorsanız node.js tam size göredir.

Tabii biraz daha detaya inersek kötü kısımları da yok değil. Örneğin sayfanızda değişiklik yapmak istiyorsunuz veya yeni bir sayfa eklemek istiyorsunuz, herşeyi hallettikten sonra server’ı restart etmeniz gerekiyor. Yoksa yaptıklarınızı kabul etmiyor (Tabii ki bunun da çözümleri mevcut ammavelakin bu bir başlangıç yazısı :D). Yada server’da modüller yazmadan tek dosya üzerinden çalışmanız gerekiyor. Ancak başlangıçta da dediğim gibi node.js bence basit bir websitesi yapımından ziyade web servisleri, asenkron çalışmalar için kullanılmalı. Haliyle bu gibi durumlar, eğer doğru mantıkta kullanıyorsanız çok sorun çıkarmayacaktır.
[the_ad id=”144″]
Gelelim şimdi kurulum işine;

Öncelikle belirtiyim Windows üzerinde çalışacağım. İnternetteki çoğu yazıda mac üzerinden çalışma yapılmıştır. O yüzden bu ne diyo yahu demeyin.

  1. Öncelikle http://nodejs.org/ adresinden windows setup’ımızı yüklüyoruz.

  2. Sonrasında yükleme tamamlandıktan sonra çift tıklayıp kuruluma başlıyorsunuz. Burada özel bir durum olmadığından resim koymama gerek yok. Next diyin geçin 😀
  3. Kurulum bittikten sonra herşey hazır. Artık istediğiniz gibi node.js’de kod yazabilirsiniz diye bitirmeyeceğim tabii. Şimdi cmd ile command prompt’u açıyoruz ancak command prompt’u açarken yönetici ile çalıştır demeyi unutmayın.
  4. Aşağıdaki resimdeki yazdığı gibi nodejs’nin kurulduğu klasöre gidin ve nodejs yazıp enter’a basarsanız node.js’yi çalıştırmış olacaksınız.

     

  5. Şimdi ise artık istediğiniz javascript kodunu server-side olarak deneyebilirsiniz. Örneğin;console.log(“Selam birader nassın?”);Yazıp enter’a bastığınızda ekrana  “Selam birader nassın?” yazısı çıkacaktır.
  6. Eğer takıldığınız bir durum veya standart komutları görebilmeniz için “.help” yazmanız yeterli. Çıkmak istediğinizde ise “.exit” yazıp çıkabilirsiniz.
  7. Şimdi “.exit” yazıp çıkalım. Ve nodejs.org‘un anasayfasında bulunan örneği deneyelim. Anasayfaya bakmaya üşenenler için kod şu;

  8. Şimdi herhangi bir klasörde (adresini kolay kopyalayabileceğiniz olması makbül) bir JS dosyası oluşturun ve içine yukarıdaki kodu yapıştırın. Kaydedikten sonra açık olan command prompt’a gidip “node C:\Node_Test\IlkDeneme.js” yazıp (benim yazdığım dosya adresini değiştirmeyi unutmayın tabii.) enter’a bastığınızda command prompt’ta “Server running at http://127.0.0.1:1337/” yazısı çıkacak.
  9. Şimdi ise hangi browser’ı kullanıyorsanız onu açıp http://127.0.0.1:1337/ sayfasını açtığınız takdirde görüldüğü üzere Hello World yazısı çıkacak.
  10. Eğer hiçbir problem çıkmadan çalıştırdıysanız şuan küçükte olsa bir HTTP Server yazmış oldunuz demektir. Hayırlı uğurlu olsun. 😀 Şimdi bunu yaptıkta ne oldu ne bitti hiçbirşey anlamadım dememeniz için sırasıyla ne oldu ne bitti o kodda nesi diyerek başlıyorum.
    1. require komutu birnevi class çağırma olarak görebilirsiniz. require(‘http’)kısmında http library’sini kullanmak istediğimizi belirtiyoruz. Böylelikle server yaratma, çağrı atma, çağrı yönlendirme gibi işlerimizi yapabileceğimiz fonksiyonları getirmiş oluyoruz.
    2. http.createServer(function (req, res) {” ise yazıldığından da anlaşıldığı üzere http server’ımızı yaratıyoruz. req verisine request’ler, res verisine ise response’lar düşüyor.
    3. Yarattığımız server’a yapılan çağrılarda content-type olarak text/plainolduğunu söylüyoruz. Örneğin bunu application/json yaparak bu json verisidir yada application/png diyerek bu bir resimdir diyebilirsiniz.
    4. Burada ise response write yapıp sayfamızın response’unu bitiriyoruz.
    5. İşte burada server’ımızın hangi portu dinleyeceği ve hangi ip’yi kullanacağını belirtiyoruz. Haliyle localde çalışacağımız için buraya “127.0.0.1” yazıyoruz.
    6. Burada ise server’ın çalıştığını ve adresini ekrana basıyoruz.

İşte hepsi bu. Şuana kadar nodejs’nin nasıl kurulduğunu, command prompt’tan nasıl kullanıldığını ve bir http server nasıl yapıldığını anlattım