ETİKETLER
web-programlama
Yol (Path) Kontrolü
exists() fonksiyonu ile verilen bir yolun (path) mevcut olup olmadığı kontrol edilebilir. Aşağıdaki örnek kodda, mevcut olan '/usr/local/bin' yolu ve mevcut olmayan '/xxx' yolu kontrol ediliyor. İlki için true (doğru), ikinci içinse false (yanlış) sonucu elde edilmektedir.
Node.js'te Dosya Yönetimi (File Management)
JavaScript, yıllar boyunca dosya sistemine erişim bakımından çok sınırlı olanaklar sağlıyordu. JavaScript büyük çoğunlukla, web tarayıcıyla ilişkili diğer işlemlere konsantre olmuştu. Aslına bakılırsa, dosyalara erişim ve dosya işlemleri, bir web betik dili için (JavaScript gibi) en büyük risk alanını oluşturmaktaydı. Node.js'in gelişimiyle durum biraz farklılaşmıştır.
Modül (Module) Oluşturmak
Yapmanız gereken ilk şey, oluşturacağınız projenin içinde faaliyetini sürdüreceği bir dizin (directory) oluşturmak ve bir package.json dosyası hazırlamaktır. package.json dosyası, projenizin detaylı bilgilerini, bağımlılıklarını ve kullandığı paketleri içerir.
{
"name":"http-form",
"description":"FORMLARI İŞLEYEN BİR HTTP SUNUCUSU",
"version":0.0.1"
}
Sunucuya Gelen İstemci Miktarını Saymak
Aşağıda, yine basit sayılabilecek bir sunucu uygulamasında, sunucuya gelen istemciler bir sayaç ile sayılmaktadır. Bununla ilişkili Node.js kodu şu şekildedir:
Basit Bir Web Sunucu
Node.js'in en ilginç özelliklerinden biri, hiç şüphesiz event-based programming (olaya dayalı programlama) özelliğidir. Bu özellik JavaScript'te, istemci (client) tarafında vardı. Node.js ile server (sunucu) tarafına da aktarılmıştır. Node.js ile bir HTTP sunucusu oluşturmak için, HTTP kütüphanesine (library) ihtiyaç bulunmaktadır. Bir HTTP sunucusunu aşağıdaki şekilde çağırabiliriz:
HTTP - Hypertext Transfer Protocol
HTTP, Web'i güçlendiren bir haberleşme protokolüdür. Ayrıca TCP yığınının (stack) da en tepesindedir.
HTTP'nin yapısı
Modül, içinde protokol, talepler (requests) ve cevaplar (responses) barındırır. Aslında JavaScript, http.ServerRequest ve http.ServerResponse yapıcılarının (constructors) nesnelerinden ibarettir.
Bir Buffer'ı Parçalama
Buf.slice([basla],[son])
Buf.slice() metodu, bir buffer'ın alt parçası ya da parçalarını oluşturmak için kullanılır.
Bir Buffer'ın Kopyasını Oluşturma
buf.copy(hedefBuffer, [hedefBasla], [kaynakBasla], [kaynakSon]) metodu
buf.copy() metodu, bir buffer'ın içeriğini, diğer bir buffer içine kopyalamak amacıyla kullanılır.
Buffer Uzunluğu
Buf.length metodu
Buf.length metodu, bir buffer'ın uzunluğunu byte cinsinden bulur. Böylece, ne kadar bellek kullanıldığı konusunda bir fikir sahibi olunur. Bu değer, buffer'ın içeriğiyle aynı uzunlukta olmayabilir. Genellikle bir buffer'ın üçte biri doldurulur.
> var buf1 = new Buffer(20);
undefined
> buf1.write("viyana");
6
> buf1.length
20
>
İki Buffer'ı Birbirine Ekleme
Buffer.concat(liste, [toplamuzunluk]) metodu
Buffer.concat() metodu, iki ya da daha fazla buffer'ı ya da string'i birbirine eklemek için kullanılır.