NodeJs Nedir - ihan3t

ihan3t

Kadim Üye
7 Şub 2012
5,018
22
Merhabalar, yakın zamanda bir projemizde nodejs kullanmayı düşünüyoruz. Nodejs i merak edip daha önce ufak tefek kullanmışlığım var. Hatta forumun facebook sayfasındaki chat botunu da nodejs ile yaptım.

Peki nedir bu nodejs ? Javascript ile server side işlemlerimizi yapmamızı sağlar. Google'ın v8 motoru üzerine kuruludur. Nodejs bir dil değil, platformdur.

Kendi sitesindeki açıklamasını buraya koyuyorum :

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

Nodejs tek bir main thread üzerinde çalışır, javascript ile siz yeni bir thread oluşturamazsınız. Asenkron yapısı sayesinde tek bir thread üzerinde birçok isteği karşılamayı sağlar.

Npm ile projenizde ihtiyacınız olabilecek binlerce kütüphaneye erişebilirsiniz.

Nodejs single thread - event loop mimarisiyle çalışır. Bunu daha iyi anlamak için aşağıdaki görseli inceleyebilirsiniz :

NodeJS-Single-Thread-Event-Model-700x525.png


Nodejs kullanan büyük şirketler arasında linkedin de mevcut. Hatta linkedin api altyapılarını nodejs e geçirdikten sonra sunucu sayılarını 30dan 3 e indirdikleri söyleniyor : LinkedIn Moved from Rails to Node: 27 Servers Cut and Up to 20xÂ*Faster - High Scalability -

Geçtiğimiz zamanlarda Twitter da altyapısını nodejs e geçirdi. (bkz : https://twitter.com/necolas/status/829128165314306048)

Peki ben neden projemizde nodejs kullanmayı seçtim ?

- Hızlıca prototip oluşturmak için uygun olduğunu düşünüyorum
- Projeyi birlikte geliştireceğim kişi/kişiler javascript altyapısına sahip
- Çok fazla taklalar attırmadan eş zamanlı istek problemini çözüyor (async yapısı sayesinde)
- Front-end ve mobil tarafında da javascript kullanacağız, tek dil ile çalışmış olacağız

Nodejs ile geliştirme yaparken sıkça kullanılan, ihtiyaç duyulan birkaç kütüphane ismi vermek gerekirse :

- Express

*Nodejs ile web uygulaması yaparken yaygın olarak kullanılan frameworklerden birisi.

- Nodemon

*Nodejs ile uygulama geliştirirken kodlarınızda değişiklik yaptığınızda terminalden serverı her seferinde tekrar durdurup başlatmanız gerekiyor, nodemon bu sorunu ortadan kaldırıyor.

- Mongoose
*
*Nodejs ile mongodb işlemlerini yapabileceğiniz kütüphane.

- Socketio

*Web socket işlemi yapmak istiyorsanız adından da anlaşılacağı gibi tam sizin aradığınız işi gerçekleştiren kütüphane..

Vakit bulduğum zamanlarda muhtemelen paylaşacağım yazılar arasında nodejs de olacak.

Herkese iyi forumlar dilerim, ihan3t.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.