🚨 $100K in Sight: Follow Bitcoin’s Final Push Live! TRACK NOW
Kripto Terimleri:  Harfi N
Ağu 24, 2023 |
güncellendi: Haz 17, 2024

Node.js Nedir?

Node.js Anlam:
Node.js - JavaScript kodunun bir web tarayıcının dışında çalıştıran V8 motoruna dayalı bir back-end JavaScript çalıştırma ortamı.
zor
5 dakika

Hadi Node.js anlamını, kriptodaki tanımını, node.js Nedir ve diğer tüm ayrıntılı gerçekleri öğrenelim.

Node.js, V8 motoru kullanarak bir web tarayıcı dışında JavaScript kodu çalıştıran çapr az platformlu açık kaynaklı back-end JavaScript çalıştırma ortamıdır. Çoğunlukla olağan siteler ve back-end API hizmetleri gibi olaya dayalı sunucularda kullanılır. Basit ifadeyle Node.js tek bir “stack”te tam site çalıştırır. Geliştirme ve bakımdan ziyade projenin iş hedeflerine odaklanmanıza izin veri r.

Node.js hakkında dikkat edilmesi gereken önemli noktalardan biri bir framework veya kütüphane değil geleneksel uygulama yazılımlarındaki gibi çalıştırma ortamı olmasıdır. Çalışma ortamı (RTE) bir geliştiricinin koda yazmak için kullanabileceği ve bir JavaScript motorunun okuyabileceği bir Web API’ler grubudur. Bu da hafif, uyumlu, kullanımı kolay olmasını sağlar. Tüm bunlar uy gulama geliştirme projenizi optimize etmenize ve hızlandırmanıza yardımcı olur.

Ayrıca Node.js ücretsizdir. Açık kaynaklı olduğundan global geliştirici topluluğu tarafından sürekli olarak geliştirilir.

Node.js’nin Basit Mimarisi

Node.js mimarisinden ötürü programcılar arasında popülerdir. Multi-threaded processing’de çalışan diğer çoğu çalıştırma ortamının aksine Node.js tek thread’de çalışıyor.

Multi-threaded processing yaptılandırmasındaki her sunucu erişebileceği bir thread pool’a sahiptir. Bu yüzden bir sunucu bir istek aldığında havuzdan bir thread seçer ve işlemek için bunu isteğe atar. Bu senaryoda işlem senkronize ve ardışıktır. Yani aynı anda sadece bir işlem gerçekleştirilebilir.

Multiple-thread processing kullanırken tüm thread’ler kullanılana kadar her isteğe bir thread atanır. Bu gerçekleştiğinde sunucu thread kullanılabilir hale gelene kadar beklemek zorundadır . Bu da uygulamaların yavaş ve verimsiz çalışmasına sebep olur. Kullanıcı deneyiminden müşteri kazanmaya kadar her şeyi olumsuz etkileyebilir. Uygulamanızın aynı anda çok sayıda istek gerçekl eştirmesi gerekiyorsa özellikle karmaşıktır.

Node.js ise tek thread’de çalışıyor. Aradaki fark tek thread’li sistemlerin engelsiz Input/Output faaliyetleri gerçekleştirmek için event loop’ları kullanmasıdır. Tek thre ad tasarımının ilkesi çoklu thread tasarımlarından daha hızlı ve etkili çalışabilmesidir. Ryan Dahl Node.js’yi tasarlarken bunu düşünerek ilerledi. Web uygulama geliştiricileri arasında bu kadar popül er olmasının sebeplerinden biri bu.

Uygulama Geliştirmede Node.js Kullanım Örnekleri

Geliştirmede Node.js kullanan en meşhur uygulama örneklerinden bazılarına göz atalım.

NASA

Node.js riskli uzay uçuşlarında astronotları güvende tutuyor. NASA erişim süresini minimuma çekmek için EVA uzay giysilerine bağlı verileri tek bir bulut veri tabanında birleştirmek adına bir yol bulması gerekiyordu. Birçok konumda saklanan yetersiz veriden kaynaklı neredeyse ölümcül kazadan sonra bunu yapmaları gerekti. Yeni Node.js tabanlı sistem işlem adım sayısını 28’den 7’ye düşürdü.

Walmart

Walmart dünyanın en büyük perakendecisi ve online alışveriş sahnesine giriyor. Organizasyon mobil uygulamasını yeniden tasarlamak için Node.js trenine atladı. Daha kompleks bir fonksiyonellik eklemek istediler. Node.js sahip olduğu asenkron I/O ve tek thread’li event loop mimarisinden dolayı Walmart’ın övgüsünü aldı. Aynı anda çok sayıda sorguyla başa çıkabilir hale geldi.

LinkedIn

Dünyanın en büyük iş odaklı sosyal ağ sitesi mobil uygulamasını Ruby on Rails’den Node.js’ye taşıdı. O zamanlar hala olgunlaşmamış bir çalıştırma ortamı olsa da mantıklı bir fikir olduğu ortaya çıktı. Yeni yazılım eskisinden 2-10 kat daha hızlı ve çok daha hafif. Ek olarak geliştirme süresi gerçekten kısa.

Netflix

Muhtemelen herkes Netflix nedir biliyor. Ancak herkes 195 milyondan fazla global kullanıcısına zengin bir deneyim sunmak için sıkı A/B testi yapan veri odaklı bir platform olduğunu herkes bilmiyordu. Her push cycle’da çıkan çok sayıda eşsiz paket koşullu bağımlılıklara ve uygulama ölçeklenebilirliğine karmaşıklı kattı. Bu yüzden şirket hızlı ve hafif olan Node.js’yi seçti. Node.js’yi seçmenin en büyük artılarından biri yükleme sürelerinin %70 azalması oldu.