Kod Ekranı

Node.js, ölçeklenebilir ve yüksek performanslı uygulamalar geliştirmek için popüler bir JavaScript çalıştırma ortamıdır. Ancak, verimli bir Node.js uygulaması oluşturmak için bazı performans optimizasyonları uygulanmalıdır.

Hata yönetimi (Error Handling) ve hata ayıklama (Debugging), yazılım geliştirmenin önemli bileşenlerindendir. Node.js gibi dinamik ve asenkron çalışan bir ortamda, hataları yakalamak ve yönetmek uygulamanın güvenilirliğini artırır.

Worker Threads modülü, CPU yoğunluklu işlemleri ana iş parçacığını (event loop) bloklamadan yürütmek için kullanılan bir Node.js özelliğidir.

Stream API, Node.js'in yüksek miktarda veriyi etkili bir şekilde işlemesini sağlayan güçlü bir araçtır. Büyük dosyaları okuma, yazma ve dönüştürme gibi işlemler, Stream API sayesinde bellek kullanımını optimize ederek gerçekleştirilir.

Async/Await, Node.js uygulamalarında asenkron işlemleri daha okunabilir ve yönetilebilir hale getiren modern bir JavaScript yapısıdır.

Node.js gibi platformlarda asenkron işlemler uygulamaların performansını artırmak için kritik bir rol oynar.

Node.js'te iki temel modül sistemi bulunmaktadır: CommonJS (CJS) ve ES Modules (ESM). CommonJS, Node.js'in varsayılan modül sistemidir, ES Modules ise modern Javascript standardına uygun olarak geliştirilmiştir.

Node Package Manager (NPM), Node.js ekosisteminin en önemli bileşenlerinden biridir. NPM, JavaScript projeleri için paket yönetimi sağlayan bir araçtır.

Node.js, modüler bir yapıya sahiptir ve uygulamaları daha düzenli ve yönetilebilir hale getirmek için modül sistemini kullanır.

Node.js'in en önemli özelliklerinden biri, asenkron ve tek iş parçacıklı (single-threaded) bir mimari kullanmasıdır. Bu yapı, Node.js'in yüksek performanslı ve ölçeklenebilir uygulamalar geliştirmek için tercih edilmesini sağlar.

Node.js'in yerleşik http modülü sayesinde, ekstra bir kütüphane gerektirmeden basit ve güçlü bir web sunucusu oluşturabilirsiniz.

Node.js, JavaScript'i sunucu tarafında çalıştıran, ölçeklenebilir ve yüksek performanslı uygulamalar geliştirmek için kullanılan açık kaynaklı bir teknolojidir.

Paylaşın

Küçük İpuçları

C#: Bir sınıf içinde tanımladığınız değişkene sadece sınıf içinde değer atıyorsanız private set kullanabilirsiniz.


public Name { get; private set; }

C#: string değişkenler içerisinde format işlemleri


int a = 18, b = 22;
string text;
text = String.Format("number1: {0}, number2: {1}", a, b);
//yerine
text = $"number1: {a}, number2: {b}";
//kullanabilirsiniz

Javascript: metinlerin içerisine değişkenleri yerleştirmek


var text = `Name: ${data.name} Age: ${data.age}`;

MS-SQL: İki tablodan ilişkili veriler çekmek için iç içe sorgu yerine join kullanabilirsiniz.


select UrunAdi,
	(select top 1 MarkaAdi 
	from tabloMarkalar m
	where m.MarkaID = u.MarkaID)
from tabloUrunler u
-- İç içe sorgu yerine
select UrunAdi, m.MarkaAdi
from tabloUrunler u
	left join tabloMarkalar m on
		m.MarkaID = u.MarkaID

HTML: daha iyi bir seo kalitesi için web sayfanızdaki görsellere alt ve title özelliği ekleyin


<img src="image.png" alt="Resim Başlığı" title="Resim Başlığı" />

jQuery: Sınıf değeri verilmiş html öğelerini jQuery' de each fonksiyonu ile tarayıp her biri için işlem yapabilirsiniz.


$('.element').each(function (index) {
    $(this).text('metin ' + index);
    // $(this) jQuery cinsinden elementi verecektir.
    // index kaçıncı indis olduğunu verecektir.
});

MS-SQL: Bir tablonun artan id değerini tekrar sıfırlamak için şu komutu kullanın.


dbcc checkident('tabloStok', reseed, 0)

MS-SQL: Eğer tablodaki bir alanın null değerleri yerine başka bir değer olarak gelmesini istiyorsanız isnull kullanın.


select UrunAdi, 
	isnull(Fiyat, 0) as Fiyat
from tabloFiyat
-- Fiyat null ise 0 gelsin

MS-SQL: Bir tabloda bir alana göre tekrarlı olmayan değerlerin kaç adet olduğunu görmek için,


select count(distinct colCountry) from tblCompanies

C#: null değerlerde hata verilmesi isteniyorsa


DataModel data = getData();
if (data == null)
    throw new NullException();
var newData = data;
// yerine
var newData = data ?? throw new NullException();
// kullanabilirsiniz