Node.js Tanıtımı
Node.js, JavaScript’in tarayıcı dışında çalışmasını sağlayan bir sunucu tarafı çalışma ortamıdır. Yazılım geliştirme ve sistem mimarisi açısından oldukça önemlidir, çünkü yüksek eşzamanlılık ve hızlı veri işleme gerektiren uygulamalar için ideal bir çözüm sunar. Web sunucuları, API’ler ve gerçek zamanlı uygulamalar geliştirmek için yaygın olarak kullanılır.
Node.js’in temel kavramları arasında JavaScript sözdizimi, diziler ve nesneler gibi veri yapıları, verimli algoritmalar ve nesne yönelimli programlama (OOP) prensipleri bulunur. Bu kavramları anlamak, modüler, sürdürülebilir ve optimize edilmiş kod yazmayı mümkün kılar.
Bu rehberde, Node.js ile basit uygulamalar oluşturmayı, asenkron fonksiyonları kullanmayı, dosya ve ağ isteklerini yönetmeyi ve temel API’ler geliştirmeyi öğreneceksiniz. Ayrıca, bellek sızıntıları, hatalı hata yönetimi ve verimsiz algoritmalar gibi yaygın hataları ele alacak ve daha güvenilir bir backend geliştirme deneyimi sağlayacaksınız.
Temel Örnek
textconst http = require('http');
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Merhaba, Node.js!');
});
server.listen(3000, () => {
console.log('Sunucu [http://localhost:3000](http://localhost:3000) adresinde çalışıyor');
});
Bu temel örnekte, Node.js kullanarak bir HTTP sunucusu oluşturulmaktadır. require('http')
modülü, HTTP isteklerini ve yanıtlarını yönetmek için kullanılır. createServer
fonksiyonu, her isteğe nasıl yanıt verileceğini tanımlar. Bu örnekte basit bir metin mesajı gönderilmektedir.
res.statusCode = 200
HTTP başarılı durum kodunu belirtir. res.setHeader('Content-Type', 'text/plain')
yanıtın metin formatında olduğunu bildirir. res.end('Merhaba, Node.js!')
ise yanıtı gönderir ve işlemi sonlandırır.
server.listen(3000, ...)
sunucuyu 3000 portunda dinlemeye başlatır ve console.log
ile sunucunun çalıştığı doğrulanır. Bu örnek Node.js’in temel sözdizimini, veri yapıları kullanımını ve asenkron olay modelini göstermektedir; web uygulamaları ve API geliştirme için iyi bir başlangıçtır.
Pratik Örnek
textclass Kullanici {
constructor(ad, email) {
this.ad = ad;
this.email = email;
}
selamla() {
console.log(`Merhaba, benim adım ${this.ad}`);
}
}
const kullanicilar = \[new Kullanici('Ayşe', '[[email protected]](mailto:[email protected])'), new Kullanici('Mehmet', '[[email protected]](mailto:[email protected])')];
kullanicilar.forEach(kullanici => kullanici.selamla());
Bu pratik örnek, Node.js’de OOP ve veri yapıları kullanımını gösterir. Kullanici
sınıfı ad
ve email
özelliklerini ve selamla
metodunu tanımlar. kullanicilar
dizisi, birden fazla Kullanici
nesnesi içerir ve forEach
döngüsü ile her kullanıcının selamla
metodu çağrılır.
Bu model, backend uygulamalarında nesne koleksiyonlarını yönetmek ve işlemler uygulamak için yaygındır. OOP ve veri yapıları kullanmak, kodu daha modüler, okunabilir ve sürdürülebilir hale getirir.
Node.js’de iyi uygulamalar, modüler kod yazmak, uygun veri yapıları ve verimli algoritmalar kullanmak, bloklayıcı işlemlerden kaçınmak ve bellek sızıntılarını önlemeyi içerir. Hata ayıklama için console.log
, Node.js debugger ve birim testler önerilir.
Performansı optimize etmek için asenkron fonksiyonlar, stream’ler ve bağlantı yönetimi kullanılmalıdır. Güvenlik açısından, kullanıcı girişlerini doğrulamak, rotaları korumak ve oturum yönetimini güvenli yapmak önemlidir. Bu uygulamalar, sağlam ve ölçeklenebilir backend sistemleri oluşturur.
📊 Referans Tablosu
Element/Concept | Description | Usage Example |
---|---|---|
http | HTTP sunucusu oluşturma modülü | http.createServer(...) |
Classes | OOP ile nesne tanımlama | class Kullanici {...} |
Arrays | Veri listesini tutma yapısı | kullanicilar.forEach(...) |
console.log | Bilgi ve hata mesajı gösterimi | console.log('Mesaj') |
Event Loop | Node.js’in asenkron çalışma modeli | server.listen(...) |
Node.js Tanıtımı öğrenmek, hızlı ve ölçeklenebilir backend uygulamaları geliştirmek için gerekli araçları sağlar. Sözdizimi, veri yapıları, algoritmalar ve OOP konularını anlamak, modüler ve sürdürülebilir kod oluşturmayı mümkün kılar.
Sonraki adımlar olarak Express.js, veritabanı yönetimi ve RESTful API geliştirme konuları önerilir. Gerçek örneklerle pratik yapmak, performans ve güvenlik uygulamalarını deneyimlemek, Node.js ile başarılı backend projeleri için önemli bir temeldir.