آموزش Node.js

معرفی Node.js

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

رایان دال به کمک زبان های سی، سی پلاس پلاس و جاوااسکریپت یک پلتفرم سمت سرور به نام Nude.js را بر اساس موتور جاوا اسکریپت گوگل V8 طراحی کرد که بر روی سیستم عامل های mac، linux و ویندوز قابل اجرا است.

Node.js چیست؟

Node.js توسط Ryan Dahl در سال 2009 توسعه یافت. Node.js فریمورک زبان جاوااسکریپت، چندسکویی و متن باز است که برای توسعه اپلیکیشن های سمت سرور و شبکه مورد استفاده قرار می گیر. با این فریمورک تنها یک thread ایجاد کنید و همه ی درخواست‌ها را به صورت event مدیریت کنید.

Node.js همچنین یک کتابخانه غنی از ماژول های مختلف جاوا اسکریپت را فراهم می کند که توسعه برنامه های وب را با استفاده از آن به میزان قابل توجهی ساده می کند.

هدف از طراحی این پلتفرم بهبود عملیات I/O بوده است. Nude.js در نوشتن برنامه ای که بصورت realtime باشد کاربرد دارد. این پلتفرم می تواند اجرای برنامه را تسریع بخشد و فشار زیاد ناشی از بازدیدهای بالا را از سرور کم کند.

 

ویژگی های Node.js

  • غیرهمزمانی و مبتنی بر رویداد

تمام API های کتابخانه Node.js غیرهمزمان هستند. ساسا به این معنی است که یک سرور مبتنی بر Node.js هرگز منتظر API برای بازگشت داده ها نیست. سرور بعد از فراخوانی آن به API بعد حرکت می کند و مکانیزم اعلان رویدادهای Node.js به سرور کمک می کند تا از فراخوانی API پیشین پاسخی دریافت کند.

  • بسیار سریع

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

  • تک Threaded اما بسیار مقیاس پذیر

Node.js از یک مدل Threaded با حلقه رویداد استفاده می کند. مکانیزم رویداد به سرور کمک می کند که به یک روش غیر مسدود کننده پاسخ دهد و سرور را بسیار مقیاس پذیر می کند، به نحوی که در مقایسه با سرورهای سنتی که threads محدودی را برای رسیدگی به درخواست ایجاد می کنند، Node.js از یک برنامه ی تک threaded استفاده می کند و همان برنامه می تواند برای سرویس تعداد زیادی درخواست فراهم کند که از سرویس های سنتی مثل Apache HTTP Server بیشتر می باشد.

  • بدون Buffering

اپلیکیشن های Node.js هرگز هیچ داده ای را بافر نمی کنند. این برنامه ها به سادگی داده ها را درون chunks قرار می دهند.

  • مجوز

Node.js تحت مجوز MIT منتشر می شود.

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

شرکت هایی نظیر eBay، General Electric، GoDaddy، مایکروسافت، PayPal، Uber، Wikipins، یاهو و Yammer از آن استفاده می کنند.

کاربرد Nodejs

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

از Nodejs در موارد زیر استفاده می شود:

  • طراحی وب
  • طراحی وب سرویس
  • در IoT
  • اپلیکیشن های مبتنی بر JSON APIs
  • اپلیکیشن های تک صفحه ای
  • Data Intensive Real-time Applications (DIRT)
  • اپلیکیشن های جریان داده
  • اپلیکیشن های I/O bound
  • دوره مقدماتی Node.js

دوره مقدماتی Node.js

چهارشنبه ۲۵ مهر ۱۳۹۷ - ساعت ۱۴:۰۰
  • آشنایی با Sequelize ORM برای Node.js

آشنایی با Sequelize ORM برای Node.js

چهارشنبه ۲۵ مهر ۱۳۹۷ - ساعت ۰۸:۰۰
  • آموزش Code Coverage با Istanbul

آموزش Code Coverage با Istanbul

شنبه ۲۱ مهر ۱۳۹۷ - ساعت ۱۴:۰۰
  • آموزش تکنیک ها، نکات و ترفندهای توسعه Node.js

آموزش تکنیک ها، نکات و ترفندهای توسعه Node.js

سه شنبه ۰۳ مهر ۱۳۹۷ - ساعت ۱۷:۰۰
  • آموزش امنیت در Node.js

آموزش امنیت در Node.js

سه شنبه ۲۷ شهریور ۱۳۹۷ - ساعت ۰۳:۰۰
  • آموزش ساخت میکروسرویس ها با Node.js

آموزش ساخت میکروسرویس ها با Node.js

پنج شنبه ۰۸ شهریور ۱۳۹۷ - ساعت ۱۹:۰۰
  • آموزش ساخت اپلیکیشن های خط فرمان در Node.js

آموزش ساخت اپلیکیشن های خط فرمان در Node.js

پنج شنبه ۰۱ شهریور ۱۳۹۷ - ساعت ۰۲:۰۰
  • آموزش پیشرفته Node.js

آموزش پیشرفته Node.js

دوشنبه ۲۲ مرداد ۱۳۹۷ - ساعت ۰۸:۰۰
  • آموزش اشکال زدایی و بهینه سازی عملکرد در Node.js

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

شنبه ۲۰ مرداد ۱۳۹۷ - ساعت ۰۳:۰۰
  • آموزش ایجاد اپلیکیشن های خط فرمان با Node.js

آموزش ایجاد اپلیکیشن های خط فرمان با Node.js

سه شنبه ۱۶ مرداد ۱۳۹۷ - ساعت ۱۱:۰۰
  • آموزش ادغام PayPal با استفاده از Node.js و Express

آموزش ادغام PayPal با استفاده از Node.js و Express

جمعه ۱۲ مرداد ۱۳۹۷ - ساعت ۰۱:۰۰
  • آموزش 10 آسیب پذیری رایج OWASP 

آموزش 10 آسیب پذیری رایج OWASP 

شنبه ۰۶ مرداد ۱۳۹۷ - ساعت ۲۳:۰۰
  • آموزش ساخت سایت پویا و ساده با Node.js

آموزش ساخت سایت پویا و ساده با Node.js

چهارشنبه ۰۳ مرداد ۱۳۹۷ - ساعت ۰۳:۰۰
  • آموزش اشکال زدایی اپلیکیشن های Node با Google Chrome

آموزش اشکال زدایی اپلیکیشن های Node با Google Chrome

سه شنبه ۲۶ تیر ۱۳۹۷ - ساعت ۱۵:۰۰
  • آموزش راه اندازی Travis CI با Node.js

آموزش راه اندازی Travis CI با Node.js

دوشنبه ۱۸ تیر ۱۳۹۷ - ساعت ۰۷:۰۰
  • آموزش استقرار اپلیکیشن با Node.js

آموزش استقرار اپلیکیشن با Node.js

یکشنبه ۱۰ تیر ۱۳۹۷ - ساعت ۲۲:۰۰
  • آموزش رندر سمت سرور در فریمورک React

آموزش رندر سمت سرور در فریمورک React

شنبه ۲۹ اردیبهشت ۱۳۹۷ - ساعت ۰۳:۰۰
  • آموزش DevOps با AWS CodePipeline  و Jenkins و AWS CodeDeploy

آموزش DevOps با AWS CodePipeline  و Jenkins و AWS CodeDeploy

پنج شنبه ۲۷ اردیبهشت ۱۳۹۷ - ساعت ۰۲:۰۰
  • آموزش طراحی API در Node.js به همراه Express و Mongo

آموزش طراحی API در Node.js به همراه Express و Mongo

شنبه ۱۵ اردیبهشت ۱۳۹۷ - ساعت ۱۱:۰۰
  • آموزش Node.js – استقرار اپلیکیشن ها

آموزش Node.js – استقرار اپلیکیشن ها

دوشنبه ۱۰ اردیبهشت ۱۳۹۷ - ساعت ۱۷:۰۰
  • آموزش Node.js – ایمن سازی RESTful API

آموزش Node.js – ایمن سازی RESTful API

دوشنبه ۱۰ اردیبهشت ۱۳۹۷ - ساعت ۱۵:۰۰