Yükleniyor...

Yerleşik Modüller

Node.js’te yerleşik modüller, ortamla birlikte gelen ve geliştirilmiş uygulamaların temel işlevlerini sağlayan modüllerdir. Bu modüller, dosya sistemi yönetimi, HTTP sunucuları oluşturma, dosya yollarını işleme, olay yönetimi ve daha fazlası gibi görevleri gerçekleştirir. Yerleşik modüller, projeye dış bağımlılık eklemeden bu işlevleri sunarak hem geliştirme sürecini hızlandırır hem de güvenlik risklerini azaltır.
Yazılım geliştirme ve sistem mimarisi bağlamında, yerleşik modüller uygulamaların ölçeklenebilir ve verimli bir şekilde tasarlanmasını sağlar. Algoritmalar ve veri yapılarıyla uyumlu çalışır, programlama mantığını açık ve anlaşılır tutar ve Nesne Yönelimli Programlama (OOP) prensiplerini uygulama imkânı verir.
Bu eğitimde, Node.js yerleşik modüllerinin nasıl kullanılacağını, doğru kullanım yöntemlerini ve sık yapılan hatalardan nasıl kaçınılacağını öğreneceksiniz. Örneklerle bu modüllerin pratik uygulamalarda nasıl kullanıldığını, performans ve güvenlik optimizasyonlarını göreceksiniz. Böylece, Node.js projelerinde yerleşik modülleri etkili şekilde kullanma becerisine sahip olacaksınız.

Temel Örnek

text
TEXT Code
// Node.js yerleşik modüllerinin temel kullanım örneği
// 'fs' ve 'path' modüllerini kullanarak bir dosya oluşturup okuma

const fs = require('fs');
const path = require('path');

// Dosya yolunu güvenli şekilde oluştur
const filePath = path.join(__dirname, 'ornek.txt');

// Dosyaya içerik yaz
fs.writeFileSync(filePath, 'Node.js yerleşik modüller örneği.');

// Dosyayı oku
const data = fs.readFileSync(filePath, 'utf-8');

// Sonucu ekrana yazdır
console.log('Dosya içeriği:', data);

Bu temel örnekte, Node.js’in iki yerleşik modülü olan fs ve path kullanılmıştır. require ile modüller projeye dahil edilir. path.join(__dirname, 'ornek.txt'), platform bağımsız olarak güvenli bir dosya yolu oluşturur ve hataları önler.
fs.writeFileSync ile dosya oluşturulup içerik yazılır. Bu senkron fonksiyon küçük uygulamalar için uygundur, çünkü işlemin tamamlanmasını bekler. Ardından fs.readFileSync ile dosya okunur ve ekrana yazdırılır.
Bu örnek, yerleşik modüllerin dosya yönetimi gibi temel backend görevlerini nasıl kolaylaştırdığını gösterir. Gerçek projelerde log tutma, veri işleme veya rapor oluşturma gibi senaryolarda kullanılabilir. Daha büyük projelerde asenkron versiyonları (fs.promises) tercih edilerek performans artırılır ve event loop bloklanması önlenir.

Pratik Örnek

text
TEXT Code
// OOP ve hata yönetimi ile yerleşik modüller kullanarak HTTP sunucusu oluşturma

const http = require('http');
const fs = require('fs');
const path = require('path');

class FileServer {
constructor(port) {
this.port = port;
}

start() {
const server = http.createServer((req, res) => {
const filePath = path.join(__dirname, req.url === '/' ? 'index.html' : req.url);

fs.readFile(filePath, (err, data) => {
if (err) {
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Dosya bulunamadı');
} else {
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(data);
}
});
});

server.listen(this.port, () => {
console.log(`Sunucu başlatıldı: http://localhost:${this.port}`);
});

}
}

const server = new FileServer(3000);
server.start();

Bu pratik örnek, yerleşik modüllerin gerçek bir uygulamada kullanımını gösterir: http, fs ve path modülleri ile basit bir web sunucusu oluşturulmuştur. FileServer sınıfı ile OOP prensibi uygulanarak kodun okunabilirliği ve tekrar kullanılabilirliği artırılmıştır.
http.createServer ile sunucu oluşturulur ve gelen her istek için callback çalışır. path.join ile güvenli dosya yolu sağlanır ve fs.readFile ile dosya okunur. Hata durumunda 404 mesajı döndürülür, başarı durumunda 200 kodu ile dosya sunulur. Bu yapı, dosya sunan web sunucularında, API’lerde veya statik içerik servislerinde yaygın olarak kullanılır.

Node.js yerleşik modülleri ile çalışırken en iyi uygulamalar, kodun verimli, güvenli ve bakımının kolay olmasını sağlar. Asenkron fonksiyonları tercih etmek, event loop’un bloklanmasını önler. Hata yönetimi önemlidir: callback’lerdeki err parametresi dikkate alınmalı ve kullanıcıya anlamlı hata mesajları sunulmalıdır.
Algoritma ve veri yapıları açısından sınıflar, async/await ve promesler kullanmak kod akışını netleştirir. Bellek sızıntılarını önlemek için kullanılmayan kaynaklar serbest bırakılmalıdır. Node.js’in sunduğu console.error, node --inspect ve util modülü ile debugging yapılabilir. Performans optimizasyonu için senkron dosya işlemlerinden kaçınmak ve buffer kullanımını optimize etmek gerekir. Güvenlik için dosya yollarının doğrulanması, HTTP başlıklarının korunması ve hassas verilerin dikkatli yönetilmesi önerilir.

📊 Referans Tablosu

Node.js Element/Concept Description Usage Example
fs Dosya sistemi yönetimi modülü fs.readFile('dosya.txt', 'utf-8', (err, data) => console.log(data));
path Dosya ve klasör yollarını yönetir const yol = path.join(__dirname, 'klasor', 'dosya.txt');
http HTTP sunucuları ve istekleri yönetir http.createServer((req, res) => res.end('Merhaba')).listen(3000);
events Olayları yönetir ve abone olunmasını sağlar const EventEmitter = require('events'); const em = new EventEmitter(); em.on('selam', () => console.log('Merhaba')); em.emit('selam');
os Sistem bilgilerini alır console.log(os.platform(), os.totalmem());

Özetle, Node.js yerleşik modülleri, projelerde dış bağımlılıklara ihtiyaç duymadan güçlü uygulamalar geliştirmeyi sağlar. Bu modüllerle dosya yönetimi, HTTP sunucuları ve sistem bilgisi gibi işlemler güvenli ve etkin bir şekilde yapılabilir.
Yerleşik modülleri iyi anlamak, Node.js’in temelini kavramak ve daha karmaşık framework’ler üzerinde etkili uygulamalar geliştirmek için önemlidir. Bir sonraki adımlar, asenkron modüller (fs.promises), streams ve güvenlik önlemleri üzerine çalışmak olmalıdır. Bu modülleri projelerde kullanmak, performanslı ve güvenli backend uygulamaları geliştirmenizi sağlar.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

4
Sorular
🎯
70%
Geçmek İçin
♾️
Süre
🔄
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek