Sanallaştırma

Node.js Kurulumu ve Kullanımı: Server-Side JavaScript’e Başlangıç

Node.js kurulum ve kullanım rehberi, sunucu tarafı JavaScript geliştirmede çığır açan bu çalışma zamanı ortamına adım atmak isteyen geliştiriciler için kritik bir kaynak niteliğinde. Geliştiricilerin JavaScript’i tarayıcı dışında çalıştırmasına olanak tanıyan bu çapraz platform araç, modern web’in temel taşlarından biri haline geldi. Geniş ekosistemi, kullanım kolaylığı ve dikkat çekici performansıyla Node.js, sistem yardımcı programlarından REST API’lere, veri işlemeye kadar birçok alanda tercih ediliyor. Bu rehber, Node.js ve beraberindeki NPM paket yöneticisini kurmaktan, temel bir web sunucusu oluşturmaya ve çoklu CPU çekirdeklerinden faydalanmaya kadar adım adım bir yol haritası sunuyor.

Node.js Neden Bu Kadar Önemli?

Node.js, JavaScript’in tarayıcı sınırlarını aşarak sunucu tarafı uygulamalarda kullanılmasının önünü açan ilk çalışma zamanı ortamıdır. Bu yenilik, geliştiricilere tek bir dil ile hem ön yüz hem de arka yüz geliştirebilme esnekliği sunarak büyük bir kolaylık sağladı. Node.js’in başarısının ardında devasa bir paket ekosistemi yatar. NPM (Node Package Manager) aracılığıyla binlerce hazır modüle erişmek mümkündür, bu da geliştirme süreçlerini hızlandırır ve tekrarlayan iş yükünü azaltır.

Performans açısından bakıldığında, Node.js asenkron, olay tabanlı mimarisi sayesinde yüksek eşzamanlı bağlantıları düşük gecikmeyle yönetebilir. Bu özellikleri, onu gerçek zamanlı uygulamalar, mikroservisler ve yoğun veri akışı olan sistemler için ideal bir tercih haline getirir. Deno ve Bun gibi yeni çalışma zamanları sahneye çıksa da, Node.js sunucu tarafı JavaScript için endüstri standardı konumunu korumaktadır. Gerek kurumsal projelerde gerekse bağımsız geliştiricilerin çalışmalarında geniş kabul görmeye devam etmesi, platformun sağlamlığını ve topluluğunun gücünü göstermektedir. Node.js’in sunduğu olanaklar, modern web altyapılarının şekillenmesinde kilit bir rol oynamıştır.

Node.js ve NPM Kurulumunun Temelleri

Node.js’i sisteminize kurmanın çeşitli yolları bulunsa da, sürüm yöneticisi kullanmak en tavsiye edilen yöntemdir. Bu yaklaşım, farklı Node.js sürümleri arasında kolayca geçiş yapmanızı ve proje bazında spesifik sürümleri yönetmenizi sağlar. En yaygın kullanılan sürüm yöneticisi NVM (Node Version Manager) olarak bilinir. Windows kullanıcıları için ise nvm-windows adı verilen özel bir sürüm mevcuttur. NVM, komut satırı arayüzü (CLI) veya bir yükleyici aracılığıyla kurulabilir.

NVM’i yüklemek için genellikle curl komutu kullanılır. Aşağıdaki örnek, NVM’in kurulum betiğini indirip çalıştırma adımlarını göstermektedir:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

NVM kurulduktan sonra, Node.js’in en güncel sürümünü yüklemek oldukça basittir. Terminalinizde nvm install latest komutunu çalıştırarak en son stabil sürümü edinebilirsiniz. Yükleme tamamlandığında, genellikle size hangi sürümün yüklendiği bilgisi verilir. Örneğin, Node 24.9.0 yüklendiyse, bu sürümü etkinleştirmek için aşağıdaki komutu kullanmanız gerekir:

$ nvm use 24.9.0

Artık komut isteminizde Node.js’in hazır olduğunu node -v komutuyla kontrol edebilirsiniz. Bu yöntemle kurulum yapıldığında, Node.js’in ayrılmaz bir parçası olan NPM (Node Package Manager) de otomatik olarak sisteminize kurulur. NPM’in sürümünü kontrol etmek için npm -v komutunu kullanabilirsiniz. Ayrıca, NVM kullanarak yapılan kurulumlar, doğrudan yükleyici ile kurulumda ortaya çıkabilecek olası izin sorunlarını da ortadan kaldırır.

Basit Bir HTTP Sunucusu Oluşturma

Node.js ile bir web sunucusu oluşturmak şaşırtıcı derecede kolaydır. Başlangıç olarak, Node.js ana sayfasında yer alan basit HTTP sunucusu örneğini kullanabiliriz. Aşağıdaki kod bloğunu kopyalayarak favori kod düzenleyicinize yapıştırın ve example.js adıyla kaydedin:

const http = require(‘node:http’);
const hostname = ‘127.0.0.1’;
const port = 3000;

const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader(‘Content-Type’, ‘text/plain’);
res.end(‘Hello, InfoWorld!n’);
});

server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

Dosyayı kaydettiğiniz dizinde bir terminal açın ve sunucuyu çalıştırmak için node example.js komutunu girin. Konsolunuzda “Server running at http://127.0.0.1:3000/” mesajını görmelisiniz. Artık tarayıcınızda http://127.0.0.1:3000 adresine giderek basit “Hello, InfoWorld!” mesajını görüntüleyebilirsiniz. Sunucuyu durdurmak için terminalde Control-C tuşlarına basmanız yeterlidir.

Bu kodun temel işleyişini incelediğimizde, ilk satırda http modülünün require(‘node:http’) ile dahil edildiğini görüyoruz. Bu modül, Node.js ile birlikte gelir ve harici bir bağımlılık olarak eklenmesine gerek yoktur. http modülü, createServer ve listen gibi kritik fonksiyonları sağlar. createServer metoduna bir geri arama (callback) fonksiyonu verilir; bu fonksiyon, her gelen HTTP isteği için çalışır. İçinde, res.statusCode = 200 ile başarılı bir yanıt kodu belirlenir, res.setHeader ile yanıt başlığı ayarlanır ve res.end ile istemciye gönderilecek metin sonlandırılır. Son olarak, server.listen metodu ile sunucu belirli bir IP adresi (hostname) ve port üzerinde dinlemeye başlar. Burada kullanılan require ifadesi, CommonJS modül sistemine aittir ve Node.js’in eski ancak hala yaygın olarak kullanılan bir yöntemidir.

Çoklu Çekirdek Kullanımı ve İleri Modüller

Node.js, varsayılan olarak tek iş parçacıklı bir yapıya sahiptir; bu durum, CPU yoğun işlemlerle karşılaşıldığında tüm işlemci çekirdeklerinin potansiyelini tam olarak kullanamayacağı anlamına gelebilir. Bu kısıtlamayı aşmak ve çoklu çekirdek mimarilerinden faydalanmak için Node.js’in cluster modülü devreye girer. cluster modülü, aynı uygulamanın birden fazla örneğini aynı port üzerinde çalıştırmanıza olanak tanır ve böylece gelen istekler arasında yük dengelemesi yaparak performansı önemli ölçüde artırabilir. Genellikle bir “master” işlem, “worker” işlemlerini yönetir ve gelen bağlantıları bunlar arasında dağıtır. Bu sayede, uygulamanız daha fazla eşzamanlı kullanıcıya hizmet verebilir ve daha yüksek işlem gücünden faydalanabilir.

Web uygulamaları geliştirirken genellikle daha kapsamlı işlevsellik sunan çatılara (framework) ihtiyaç duyulur. NPM, bu tür ek modülleri ve JavaScript paketlerini kolayca kurmanızı sağlar. Örneğin, Node.js ekosistemindeki en popüler web çatılarından biri olan Express.js, daha zengin özelliklere sahip ve esnek sunucular oluşturmak için kullanılır. Express.js, rotalama, ara yazılımlar (middleware) ve şablon motorları gibi özellikleriyle web uygulaması geliştirmeyi basitleştirir. npm install express gibi basit bir komutla Express.js’i projenize dahil edebilir ve karmaşık web API’lerini veya dinamik web sitelerini çok daha hızlı bir şekilde inşa etmeye başlayabilirsiniz. PM2 gibi süreç yöneticileri ise Node.js uygulamalarınızı canlı tutmak, otomatik yeniden başlatma sağlamak ve performans izlemesi yapmak için kritik öneme sahiptir.

Sunucu Tarafı JavaScript Gelişiminin Geleceği

Node.js, piyasaya sürülmesinden bu yana sunucu tarafı JavaScript ekosisteminin tartışmasız lideri olmuştur ve bu konumunu korumaya devam etmektedir. Deno ve Bun gibi daha yeni alternatifler ortaya çıkarken, Node.js’in sahip olduğu olgunluk, devasa topluluk desteği ve geniş paket deposu, geliştiriciler için hâlâ vazgeçilmez bir tercih olmasını sağlamaktadır. Mevcut projelerin büyük çoğunluğu Node.js altyapısı üzerinde çalışmakta ve yeni başlayanlar için öğrenme eğrisi nispeten daha düzdür.

Geliştiricilerin, Node.js ile çalışmaya başlarken modern JavaScript standartlarını, asenkron programlama desenlerini ve NPM paket yönetimini iyi kavramaları büyük önem taşır. Ekosistemin sürekli genişlemesi, yeni araçların ve kütüphanelerin ortaya çıkması, Node.js ile geliştirme yapan herkesin sürekli öğrenmeye açık olmasını gerektirir. Bir REST API geliştirmek, gerçek zamanlı sohbet uygulamaları kurmak veya mikroservis mimarileri oluşturmak olsun, Node.js sunduğu esneklik ve performansla, sunucu tarafı uygulamaların geleceğinde kritik bir rol oynamaya devam edecektir. Bu platformu derinlemesine anlamak, modern web geliştirme dünyasında rekabet avantajı sağlayacaktır.

Sık Sorulan Sorular

Node.js nedir ve neden bu kadar önemlidir?

Node.js, JavaScript'i tarayıcı dışında, sunucu tarafında çalıştırmaya olanak tanıyan bir çalışma zamanı ortamıdır. Geniş ekosistemi, performansı ve tek dil (JavaScript) ile tam yığın geliştirme imkanı sunması nedeniyle modern web geliştirmede kritik bir rol oynar.

NPM nedir ve Node.js ile birlikte mi kurulur?

NPM (Node Package Manager), Node.js'in paket yöneticisidir. Node.js modüllerini ve kütüphanelerini kolayca kurmak, yönetmek ve paylaşmak için kullanılır. NVM ile Node.js kurulumu yapıldığında NPM de otomatik olarak kurulur.

Node.js kurulumunda NVM kullanmak neden tavsiye edilir?

NVM (Node Version Manager), farklı Node.js sürümleri arasında kolayca geçiş yapmayı ve proje bazında spesifik Node.js sürümlerini yönetmeyi sağlar. Ayrıca, doğrudan yükleyici ile kurulumda ortaya çıkabilecek izin sorunlarını da ortadan kaldırır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu