Nodejs چیست؟ به همراه کاربرد ها و آموزش نصب

Nodejs چیست؟

Nodejs چیست؟

تا قبل از ارائه Node Js جاوا اسکریپت یک زبان سمت کلاینت بود.

نودجی‌اس یک محیط سمت سرور برای اجرای کدهای JavaScript است، در حقیقت، Node.js در نتیجه تلاش‌های دولوپرهای زبان جاوا اسکریپت برای توسعه محیطی به وجود آمد که دولوپرها بتوانند کدهای جاوااسکریپت خود را علاوه بر داخل مرورگر، در سمت سرور نیز در قالب یک اپلیکیشن مستقل اجرا کنند.

بر اساس تعریف ارائه‌شده در وب‌سایت رسمی Node.js:

node js یک محیط اجرای جاوا اسکریپتی است که روی موتور اجرای کد جاوا اسکریپت مرورگر کروم تحت عنوان V8 ساخته شده است.

هدف این پلتفرم این است که سرعت اجرای برنامه تحت وب یا شبکه را افزایش دهد و فشار زیاد سرور را در زمان های افزایش بازدید کم کند.

Node.js در سال ۲۰۰۹ معرفی شده است. پلتفرم Node.js محدود به هیچ مرورگری نیست و قابلیت اجرا شدن در انواع سیستم‌عامل‌های ویندوز، لینوکس و مک را داراست.

کاربرد node js
کاربرد node js


کاربرد 
node js

چرا باید از Node.js استفاده کنیم؟

نودجی‌اس در مقایسه با PHP و Ruby سریع تر است.

از امنیت بیشتر در مقابل بار اضافی اعمال شده به سرور برخوردار است، به خصوص در زمان وقوع حمله‌های DDOS که بقیه نرم‌افزارهای سرور مانند SSH قابل دسترسی و پاسخ دهنده باقی می‌مانند.

بیشترین موارد استفاده از نودجی‌اس مربوط به نوشتن API است، که باعث می شود توسعه دهنده های سمت کلاینت بتوانند به اطلاعات دسترسی داشته و از آن‌ها استفاده کنند.

پایین بودن زمان پاسخگویی در Node.js : Node.js یک پلتفرم single-threaded و asynchronous است. هیچ کدام از پردازش های مرتبط با I/O سایر پردازش ها را متوقف نمیکند.

این به معنای آن است که شما می‌توانید در یک زمان هم از روی دیسک یک فایل را بخوانید هم یک ایمیل بفرستید و هم بر روی پایگاه داده Query بزنید.

بسیاری از وب‌سرورها بر مبنای تکنیک Threading کار می‌کنند یعنی برای هر درخواست (request)، یک thread ایجاد می‌کند و به تبع آن بخشی از رم (مثلا ۱ مگابایت) از RAM سرور اشغال می‌شود و این کار تا جایی که RAM سرور اجازه دهد ادامه می‌یابد. تکنیک Threading برای کارهایی که نیاز به تعداد بالایی کانکشن هم‌زمان دارند، مناسب نیست.

اما در  Node.js هر کدام از درخواست هایی که به وب سرویس میرسند یک Process جدید Node.js ایجاد نمی کنند، بجای آن در اغلب اوقات فقط و فقط یک Process مربوط به Node.js در حال اجرا است که به ارتباطات و درخواست‌ها گوش می دهد.

کدهای جاوااسکریپت در Thread اصلی و عملکردهای مرتبط با I/O در Thread های دیگری اجرا می‌شوند.

ماشین مجازی (Google V8) در Node.js که کدهای جاوا اسکریپت را اجرا میکند دارای ویژگی کامپایل در زمان اجرا می باشد. وقتی این ماشین مجازی کدهای جاوا اسکریپت را می‌گیرد در زمان اجرا آنها را به کدهایی نزدیک به کدهای زبان ماشین کامپایل می‌کند.

این کار باعث می‌شود توابعی که به دفعات صدا زده می‌شوند با تبدیل شدن به کدهای شبیه کد ماشین به طور قابل ملاحظه‌ای سرعت اجرای کدها را بهبود دهد.

دلیل آخر استفاده از  Node.js جامعه بزرگ برنامه نویس‌های آن و وجود کتابخانه‌های open source زیاد آن است. در اغلب مواردی که شما نیاز خواهید داشت، کتابخانه از قبل تعریف شده ای وجود دارد که می توانید از آن استفاده کنید و نیاز نیست برای خیلی از اصول اولیه و مفاهیم پایه‌ای خودتون کد نویسی کنید.

در نمودار زیر بخش هایی مهم از Node.js قابل مشاهده است:

کاربرد node js
کاربرد node js

مزایا Node.js

پاسخگوی تعداد زیادی کاربر و بسیار سریع

پایین بودن زمان پاسخگویی در Node.js

خطایابی بسیار ساده و سریع در این تکنولوژی

جامعه کاربری بزرگ

متن باز بودن

سازگاری با سیستم عامل های مختلف لینوکس، ویندوز، مک

پشتیبانی از Caching

معایب Node.js

nodejs هم معایب خاص خودش را دارد. سیستم‌های نوشته شده با Node JS شدیدا وابسته به برنامه نویس خود هستند چون به دلیل نداشتن یک کتابخانه استاندارد برای JavaScript از استانداردهای پراکنده‌ای برای نوشتن سورس کدها استفاده می‌شود.

یک مشکل دیگر این است که هنوز nodejs نسبتا جدید است و در واقع هنوز مراحل ابتدایی خود را پشت سر می گذارد.

Nodejs به آسانی در تمام پلتفرم ها موجود نیست و بیشتر هاست های اشتراکی از آن پشتیبانی نمی کنند و این موضوع در زمانیکه موضوع بودجه مطرح باشد، مشکل ایجاد می کند،  اما به آسانی قابل راه اندازی روی سرور یا vps است .

در مجموع باید بگوییم Node.js در آینده‌ای نه چندان دور به یکی از زبان‌های مهم توسعه کسب‌وکار تبدیل خواهد شد.

در این رابطه بخوانید: داکر چیست؟

بانک اطلاعاتی node js

MongoDB محبوب‌ترین انتخاب در بین توسعه‌دهندگان مختلف نودجی‌اس است، اما به نظر می‌رسد که جایگاه دوم از آن بانک‌های اطلاعاتی Redis، PostgreSQL و MySQL باشد.

آموزش نصب Node.js در لینوکس

راهکار اول :

همیشه آخرین نسخه stable را از طریق لینک زیر دانلود کنید.

https://nodejs.org/dist/

در دستورات نصب نیز با توجه به نسخه دانلود شده، نسخه جدید را جایگزین v10.8.0 در دستورات زیر نمائید.

جهت نصب دستورات زیر را در سرور اجرا نمایید:

wget https://nodejs.org/dist/v10.8.0/node-v10.8.0.tar.gz

tar zxvf node-v10.8.0.tar.gz

cd node-v10.8.0

./configure

make ; make install

حال جهت اطمینان از صحت نصب دستور زیر را درج کنید:

node -v

درصورتیکه نصب بدون مشکل انجام شده باشد در خروجی شماره نسخه نصب شده را مشاهده خواهید نمود.

راهکار دوم – نصب Nodejs و NPM در CentOS

نصب Nodejs و NPM در CentOS
نصب Nodejs و NPM در CentOS

جهت نصب دستورات زیر را اجرا کنید:

yum install -y gcc-c++ make

curl--silent --location https://rpm.nodesource.com/setup_10.x|sudobash-

توجه داشته باشید بجای عدد ۱۰ در دستور بالا همیشه آخرین نسخه stable را از اینجا مشاهده و جایگزین نمایید.

سپس دستور زیر را اجرا کنید:

yum –y installnodejs

حال جهت اطمینان از صحت نصب دستور زیر را درج کنید:

node -v

و برای اطمینان از نصب NPM نیز دستور زیر را درج کنید:

npm –v

درصورتیکه نصب بدون مشکل انجام شده باشد در خروجی شماره نسخه نصب شده را مشاهده خواهید نمود.

میزبانی وب با Node JS

اگر به دنبال کار با Node JS هستید می توانید از سرور های مجازی یا اختصاصی ما استفاده کنید که با زبان Node JS کاملا سازگار می باشد و بهینه شده است.

آموزش کاربردی سی پنل
وبلاگ طاها سرور
وبلاگ طاها سرور

ارائه پهنای باند و ترافیک نامحدود بدون هیچگونه محدودیتی و همچنین ارائه سرویس های باکیفیت با قیمتی مناسب ، خرید راحت و امن و تحویل سریع سرویس ها

There are no comments yet

  • Hello, guest

مقالات آموزشی تصادفی

جزئیات سرویس ها

1- سرویس های مخصوص بورس ، برای آپلود / دانلود فایل های حجیم نیستند، کاربر نباید صد ها گیگابایت فایل بر روی سرور ها به طور مداوم دانلود کنید .

2-  سرور های بورس نهایتا قابلیت اتصال 2 سیستم همزمان را دارد .

3- سرعت آپلود و دانلود در سرور های بورس به شرح زیر میباشد ( سرعت ها در اکثر موارد از این مقادیر بسیار بالاتر است و این موارد به صورت پیش فرض میباشند ) :
پلن اول : 60 مگ بر ثانیه ، پلن دوم : 80 مگ برثانیه ، پلن سوم : 150 مگ بر ثانیه ، پلن چهارم : 350 مگ بر ثانیه ، پلن پنجم : 800 مگ بر ثانیه
 
4- هیچگونه تضمینی طبق قوانین ، در مورد رتبه ، زمان و سرعت سرخطی به کاربر قابل ارائه نیست و ما توانایی دادن تضمین در رتبه شما را نداریم .
 
5- امکان بازگشت وجه و کنسلی سرویس  با توجه به راه اندازی زمان بر سرویس ها و هزینه هایی که برای اجاره اینترنت داده میشود وجود ندارد در صورت مشکل داشتن سرویس ، سرویس تعویض می گردد .
 
6- قوانین یک تا پنج را مجدد بخوانید و اقدام به خرید نمایید .