آموزش نود جی اس (Node.js)

دسته بندی: آموزش طراحی وب

آموزش نود جی اس

آنچه در این صفحه می خوانید :

معرفی نود جی اس (Node.js)

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

گرچه js. فایل فرمت استاندارد برای کد JavaScript است، اما نام "Node.js" در این زمینه به فایل خاصی اشاره نمی کند و صرفاً نام محصول است. Node.js دارای معماری مبتنی بر رویداد است که توانایی ورودی/خروجی ناهمگام یا غیر همزمان را دارد. آپشن های طراحی با هدف بهینه سازی توان و مقیاس پذیری در برنامه های وب با عملیات ورودی/خروجی و همچنین برای برنامه های وب در Real-time (به عنوان مثال، برنامه های ارتباطی در Real-time و بازی های مرورگر) انجام می شود. پروژه توسعه توزیع شده Node.js که بنیاد Node.js آن را اداره می کند، توسط برنامه پروژه های همکاری بنیاد لینوکس تسهیل می شود.

فایل Node.js

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

جاوااسکریپت چیست؟

جاوااسکریپت زبان برنامه‌نویسی سطح بالا، پویا، مبتنی بر شی، چند رویه ای و تفسیری است. این زبان اغلب به عنوان بخشی از صفحات وب استفاده می شود که پیاده سازی آن ها به اسکریپت سمت کلاینت اجازه می دهد تا با کاربر ارتباط برقرار کرده و صفحات دینامیکی ایجاد کند. جاوااسکریپت زبان برنامه نویسی تفسیر شده با قابلیت های برنامه نویسی شی گرا است. Javascript زبان برنامه نویسی داینامیک اسکریپتی است که در کنار اچ تی ام ال و سی اس اس (CSS) یکی از مهم ترین عنصر فناوری های وب استاندارد به شمار می رود.

تاریخچه نود جی اس (Node.js)

نود جی اس در ابتدا توسط Ryan Dahl در سال 2009 نوشته شد. نسخه اولیه تنها از لینوکس و مک (Mac OS) پشتیبانی می کرد. توسعه و نگهداری آن توسط Dahl هدایت شد و بعداً توسط Joyent حمایت شد. Dahl این پروژه را در افتتاحیه JSConf اروپا در تاریخ 8 نوامبر 2009 نشان داد. Node.js موتور Google's V8 جاوااسکریپت، یک حلقه رویداد و یک API سطح پایین I / O را ترکیب کرد. در ژانویه 2010، یک مدیر پکیج برای محیط Node.js به نام ان پی ام (npm) معرفی شد. مدیر پکیج امکان انتشار و به اشتراک گذاری کد منبع کتابخانه های Node.js را برای برنامه نویسان آسانتر می کند و به منظور ساده سازی نصب، به روز رسانی و حذف کتابخانه ها طراحی شده است. در ژوئن 2011، مایکروسافت و Joyent نسخه ویندوز Node.js را اجرا کردند. اولین ساخت Node.js با پشتیبانی از ویندوز در ژوئیه 2011 منتشر شد.

در ژانویه 2012، Dahl کنار رفت و با همکاری Isaac Schlueter، همکار و سازنده npm، مدیریت این پروژه ارتقا یافت. در ژانویه سال 2014،Schlueter اعلام کرد که Timothy J. Fontaine هدایت این پروژه را بر عهده خواهد گرفت. در دسامبر سال 2014، Fedor Indutny نسخه ای از Node.js به نام آی او جی اس (io.js) را شروع کرد. با توجه به درگیری داخلی بر سر حاکمیت Joyent، io.js به عنوان یک گزینه جایگزین برای حاکمیت باز با کمیته فنی جداگانه ایجاد شد. برخلاف Node.js، نویسندگان برنامه ریزی کرده اند io.js را با جدیدترین نسخه های موتور Google V8 JavaScript به روز نگه دارند.

در فوریه 2015، هدف از تشکیل یک بنیاد Node.js اعلام شد. تا ژوئن سال 2015، انجمن های Node.js و io.js رای دادند که در بنیاد Node.js با هم همکاری کنند. در سپتامبر 2015، Node.js v0.12 و io.js v3.3 دوباره با هم در Node v4.0 ادغام شدند. این ادغام ویژگی های V8 ES6 را در Node.js با یک چرخه انتشار پشتیبانی طولانی مدت آورده است. از سال 2016، وب سایت io.js توصیه می کند که توسعه دهندگان به Node.js برگردند و به دلیل ادغام هیچ نسخه دیگری از io.js برنامه ریزی نشده است.

تفاوت نود جی اس (Node.js) با سایر زبان ها و پلتفرم های سمت سرور چیست؟

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

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

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

  • تک نخی یا Single Thread اما بسیار مقیاس پذیر

ویژگی های نود جی اس

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

  • عدم بافرینگ

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

ویژگی های نود جی اس (Node.js)

از ویژکی های فنی به موارد زیر می توان اشاره کرد:

  • Threading

Node.js با استفاده از فراخوانی های I / O بدون انسداد، با استفاده از یک فراخوانی بدون وقفه فعالیت می کند و به آن اجازه می دهد تا ده ها هزار اتصال همزمان را پشتیبانی کند بدون اینکه هزینه سوئیچ Thread زمینه را تحمل کند. طراحی به اشتراک گذاری یک موضوع واحد در بین تمام درخواست هایی که از الگوی مشاهده کننده استفاده می کنند، برای ساخت برنامه های کاملاً همزمان در نظر گرفته شده است، در حالی که هر تابعی که عملیات I / O را انجام دهد باید از یک فراخوانی برگشتی استفاده کند. برای قرار دادن حلقه رویداد تک رشته ای، Node.js از کتابخانه libuv استفاده می کند، که به نوبه خود، از یک مخزن با سایز ثابت استفاده می کند که برخی از عملیات I / O غیر همزمان را غیر مسدود می کند.

یک مخزن Thread، اجرای وظایف موازی در Node.js را انجام می دهد. تابع اصلی فراخوانی وظایف را به صف وظیفه اشتراکی ارسال می کند، که Thread ها را در مخزن Thread کشیده و اجرا می شوند. ذاتاً تابع های غیر مسدود کننده سیستم شبکه را به پریزهای غیر مسدود کننده هسته تبدیل می کنند، در حالی که ذاتاً تابع های سیستم مانند فایل I / O را مسدود می کنند و در Thread هایشان عمل می کنند. هنگامی که Thread یک کار را انجام می دهد، Thread اصلی این Thread را مطلع می کند، که به نوبه خود، پاسخ به فراخوانی ثبت شده را پاسخ دهد.

نکته منفی این رویکرد این است که Node.js با افزایش تعداد هسته های CPU دستگاه میزبان بدون استفاده از یک ماژول اضافی مانند کلاستر، StrongLoop Manager Manager یا pm2 اجازه مقیاس گذاری عمودی را نمی دهد. با این حال، توسعه دهندگان می توانند تعداد پیش فرض موضوعات را در مخزن Thread libuv افزایش دهند. سیستم عامل سرور (OS) احتمالاً این موضوعات را در چند هسته توزیع می کند. مشکل دیگر این است که محاسبات طولانی مدت و سایر وظایف محدود شده با CPU، کل حلقه رویداد را تا اتمام کار مسدود می کنند.

Node.js از libuv برای اداره حوادث ناهمزمان استفاده می کند. Libuv یک لایه انتزاع برای عملکرد سیستم شبکه و فایل در هر دو سیستم ویندوز و مبتنی بر POSIX مانند Linux، macOS، OSS در NonStop و یونیکس است. عملکرد اصلی Node.js در یک کتابخانه جاوااسکریپت قرار دارد. بایندینگ Node.js که به زبان سی پلاس پلاس نوشته شده است، این فناوری ها را به یکدیگر و به سیستم عامل وصل می کند.

  • V8

V8 موتور اجرای JavaScript است که در ابتدا برای Google Chrome ساخته شده است. سپس در سال 2008 توسط گوگل باز شد. با نوشتن در C++، V8 کد منبع جاوااسکریپت را در ران تایم (JIT) به جای تفسیر قبل از زمان (AOT) کامپایل می کند.

  • مدیریت پکیج NPM

ان پی ام (npm) مدیر پکیج از پیش نصب شده برای پلتفرم سرور Node.js است. این برنامه Node.js را از رجیستری npm نصب می کند، نصب و مدیریت برنامه های شخص ثالث Node.js را سازماندهی می کند. پکیج های موجود در رجیستری npm می توانند از کتابخانه های کمکی ساده مانند Lodash گرفته تا تسک رانر هایی مانند گرانت (Grunt) متغیر باشند.

  • API یکپارچه

Node.js را می توان با یک مرورگر، یک پایگاه داده که از داده های JSON پشتیبانی می کند (مانند پستگرس‌کیوال (PostgreSQL)، مانگو دی بی (MongoDB) یا CouchDB) و JSON در پشته توسعه JavaScript یکپارچه استفاده کرد. با تطبیق آنچه که در اصل الگوهای توسعه سمت سرور مانند MVC، MVP، MVVM و غیره وجود دارد، Node.js امکان استفاده مجدد از همان مدل و رابط سرویس را بین سمت کلاینت و سمت سرور فراهم می کند.

  • حلقه رویداد (Event loop)

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

نود جی اس امکان ایجاد سرورهای وب و ابزارهای شبکه را با استفاده از JavaScript و مجموعه ای از "ماژول ها" فراهم می کند که عملکردهای مختلف هسته را کنترل می کنند. ماژول ها برای سیستم فایل I / O، شبکه سازی ( DNS، HTTP، TCP، TLS / SSL یا UDP )، داده های باینری (بافر)، توابع رمزنگاری، جریان داده ها و سایر عملکردهای اصلی ارائه شده اند. ماژول های Node.js از API که برای کاهش پیچیدگی نوشتن برنامه های سرور طراحی شده استفاده می کنند.

اگرچه سیستم ماژول مبتنی بر الگوی ماژول های رایج است، اما معرفی جدید ماژول ها در مشخصات ECMAScript باعث شده است که مدل استفاده از ماژول های ECMAScript در Node.js به طور پیش فرض تغییر جهت دهد. نود جی اس به طور رسمی در لینوکس، macOS و مایکروسافت ویندوز 7 و سرور 2008 (و بعد از آن) پشتیبانی می شود. کد منبع ارائه شده همچنین ممکن است بر روی سیستم عامل های مشابه با آنهایی که از طرف اشخاص ثالث پشتیبانی یا ایجادمی شود نیز ساخته شود تا از بقیه مانند سرورهای NonStop و Unix پشتیبانی کند. می توان آن را با کافی‌ اسکریپت (CoffeeScript) (جایگزین جاوااسکریپت)، دارت (Dart) یا تایپ اسکریپت (TypeScript) یا هر زبان دیگری که می تواند به JavaScript کامپایل کند، نوشت.

ساختار نود جی اس (Node.js)

Node.js در طراحی مشابه و تحت تأثیر سیستم هایی مانند Ruby's Event Machine و Python's Twisted است. Node.js مدل رویداد را کمی بیشتر می کند و حلقه رویداد را به عنوان یک ران تایم به جای کتابخانه ارائه می دهد. در سیستم های دیگر، همیشه یک فراخوانی مسدود کننده برای شروع حلقه رویداد وجود دارد. به طور معمول، این رفتار از طریق فراخوانی های برگشتی در ابتدای اسکریپت تعریف می شود و در پایان، سرور از طریق فراخوانی مسدود کننده مانند ()EventMachine::run شروع می شود. در Node.js، چنین فراخوانی start-the-event-loop وجود ندارد. Node.js پس از اجرای اسکریپت ورودی، به سادگی وارد حلقه رویداد می شود. Node.js هنگامی که دیگر فراخوانی برگشتی برای انجام وجود ندارد، از حلقه رویداد خارج می شود. این رفتار مانند مرورگر جاواسکریپت است که حلقه رویداد از کاربر پنهان است.

HTTP یک تابه  first-class در Node.js است، با داشتن استریمینگ و با تأخیر کم طراحی شده است. این باعث می شود Node.js برای ایجاد کتابخانه وب یا فریمورک مناسب باشد.

مفهوم اینکه Node.js بدون thread طراحی می شود به این معنی نیست که نمی توانید از هسته های چندگانه در محیط خود استفاده کنید. پروسس های Child را می توان با استفاده از ()child_process.fork ایجاد کرد و به گونه ای طراحی شده اند که بتواند با آنها ارتباط برقرار کند. ماژول cluster که بر روی همان اینترفیس ساخته شده است، که به شما امکان می دهد تا سوکت ها را بین پردازش ها به اشتراک بگذارید تا تعادل بار بر روی هسته های شما فعال شود.

نود جی اس (Node.js) محیط بک اند است یا فرانت اند؟

Node.js در واقع یک محیط ران تایم بر اساس موتور V8 Javascript برای Chrome است، به این معنی که می تواند Javascript را از متن اجرای یک مرورگر خارج کند. برای ترسیم یک قیاس بسیار مبهم Node.js به جاوااسکریپت همان چیزی است که JRE به جاوا است، (اما مقایسه خیلی مناسبی نیست)

این بستگی به شما دارد که چگونه می خواهید Node.js. را بکار بگیرید. از آنجا که می تواند جاوااسکریپت را خارج از یک مرورگر اجرا کند و همچنین توانایی اجرای یک سرور HTTP مبتنی بر I / O غیر مسدود کننده (با کمک کتابخانه های HTTP) را دارد، می توانید از آن در سناریوهای بک اند / سرور استفاده کنید.

همچنین، می توانید از Node.js در قسمت فرانت اند استفاده کنید تا بتوانید کارهای روزانه خود را مانند بیلد، اجرای تست واحد کد فرانت اند خود به صورت خودکار انجام دهید. ابزاری مانند Grunt، Gulp، Bower قابلیت اهرم Node.js را برای بهبود و تقویت توسعه نرم افزار شما فراهم می آورند. همچنین در حال حاضر انگولار نیز از Node.js برای نصب پکیج ها و تدوین Typescript به Javascript استفاده می کند.

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

کاربردهای نود جی اس (Node.js)

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

نود جی اس برنامه نویسی event-driven را برای سرورهای وب به ارمغان می آورد و امکان توسعه سرورهای سریع وب در JavaScript را فراهم می سازد. توسعه دهندگان می توانند با استفاده از یک مدل ساده برنامه نویسی مبتنی بر رویداد که از لینک های برگشتی استفاده می کند، بدون استفاده از Thread، سرورهای مقیاس پذیر ایجاد کنند. Node.js سهولت یک زبان برنامه نویسی (JavaScript) را با قدرت برنامه نویسی شبکه یونیکس فراهم می کند. نود جی اس از وقتی که به صورت اوپن سورس تحت مجوز BSD قرار گرفت، روی موتور Java V8 GoogleS ساخته شد. با اصول اینترنت مانند HTTP، DNS، TCP تطابق دارد. جاوااسکریپت همچنین یک زبان شناخته شده بود که Node.js را در دسترس جامعه توسعه وب قرار داد.

هزاران کتابخانه اوپن سورس برای Node.js وجود دارد که اکثر آنها در وب سایت npm هستند. انجمن توسعه دهنده Node.js دارای دو لیست اصلی پستی و کانال IRC # node.js در freenode است. چندین کنفرانس و رویدادهای توسعه دهنده وجود دارد که از انجمن Node.js پشتیبانی می کند از جمله NodeConf، Node Interactive و Summit Summit و همچنین تعدادی از رویدادهای منطقه ای.

جامعه اوپن سورس برای سرعت بخشیدن به پیشرفت برنامه ها، فریمورک های وب را ایجاد کرده است. چنین فریمورک هایی شامل Connect، اکسپرس جی اس (Express.js)، Socket.IO،Feathers.js،کوا جی اس (Koa.js)،سالیس جی اس (Sails.js)،Hapi.js، میتیور (Meteor)، Derby و بسیاری دیگر است. پکیج های متنوعی نیز برای ایجاد ارتباط با سایر زبان ها یا محیط های اجرا مانند دات نت (NET.) ایجاد شده است.

IDE های مدرن دسکتاپ ویژگی های ویرایش و اشکال زدایی را به طور خاص برای برنامه های Node.js ارائه می دهند. IDE هایی شامل Atom، Brackets، JetBrains، وب استرم (WebStorm)،ویژوال استودیو (Visual Studio) (با ابزارهای Node.js برای ویژوال استودیو یا TypeScript با تعریف (Node،NetBeans،Nodeclipse Enide Studio و ویژوال استودیو کد (Visual Studio Code). برخی از IDE های مبتنی بر وب آنلاین همچنین از Node.js پشتیبانی می کنند، مانندCodeanywhere،Codenvy،Cloud9 IDE، Koding و ویرایشگر جریان تصویری در Node-RED.

  • نود جی اس می تواند صفحه با محتوای پویا ایجاد کند.
  • نود جی اس می تواند فایل ها را روی سرور create، open، read، write، delete و close کند.
  • نود جی اس می تواند داده های فرم را جمع آوری کند.
  • نود جی اس می تواند داده ها را در پایگاه داده اضافه، حذف و اصلاح کند.

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

نود جی اس (Node.js) و اکما اسکریپت (ECMAScript)

اکما اسکریپت (ECMAScript) زبان اسکریپت نویسی است که توسط ECMAScript International استاندارد شده است.ECMAScript معمولاً برای اسکریپت نویسی سمت کلاینت در وب استفاده می شود و به طور فزاینده ای برای نوشتن برنامه ها و سرویس های سرور با استفاده از نود جی اس مورد استفاده قرار می گیرد. ECMAScript تحت تاثیر زبان های برنامه نویسی مانند پرل، پایتون،جاوا، JavaScript، Jscript و ActionScript است. ECMAScript 6، همچنین به عنوان ECMAScript 2015 شناخته می شود.

ECMAScript برای استانداردسازی جاوااسکریپت جهت کمک به تقویت پیاده سازی مستقل ایجاد شده است. جاوااسکریپت از زمان انتشار اولین استاندارد، با کاربردهای دیگر از جمله JScript و ActionScript، بیشترین کاربرد را در ECMAScript داشته است.

Node.js برای نسخه های مدرن V8 ساخته شده است. با به روز بودن جدیدترین نسخه های این موتور، اطمینان حاصل می کنیم ویژگی های جدید JavaScript ECMA-262 را به موقع توسعه دهندگان Node.js دریافت می کنند.

کلیه ویژگی های ECMAScript 2015 (ES6) به سه گروه shipping، staged و in-progress تقسیم می شوند:

  • تمام ویژگی های shipping، که V8 را پایدار می داند، به طور پیش فرض در Node.js روشن می شوند و نیازی به هیچ نوع پرچم ران تایم ندارند.
  • ویژگی های Staged، که تقریباً ویژگی های کاملی دارند که توسط تیم V8 پایدار تلقی نمی شوند، به پرچم زمان اجرا نیاز دارند: harmony--
  • ویژگی های in-progress، می توانند به صورت جداگانه توسط پرچم harmony مربوطه فعال شوند.

نحوه نصب نود جی اس (Node.js)

  • نصب در ابونتو (Ubuntu)

دستور زیر را با نصب Node on و Ubuntu با استفاده از apt-get اجرا کنید. این کار NPM را با node.js نیز نصب می کند. این دستور همچنین بسیاری از پکیج های وابسته دیگر را روی سیستم شما نصب می کند.

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

بعد از نصب node.js نسخه نصب شده را تأیید و بررسی کنید.

node -v 
npm -v 

MacOS Installer را مستقیماً از وب سایت nodejs.org دانلود کنید.

اگر می خواهید پکیج را با bash بارگیری کنید:

curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"

  • روش های جایگزین

استفاده از Homebrew:

brew install node

استفاده از MacPorts:

port install nodejs<major version>

# Example port install nodejs7

با استفاده از pkgsrc پکیج باینری را نصب کنید:

pkgin -y install nodejs

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

cd pkgsrc/lang/nodejs && bmake install


مثال نود جی اس (Node.js)

به عنوان یک اجرا کننده رویدادهای ناهماهنگ در جاوااسکریپت، Node.js به شکلی طراحی شده است که بتوان با آن برنامه‌های تحت وب توسعه پذیر ساخت. در مثال "hello world" پایین، تعداد خیلی زیادی اتصال به صورت هم زمان انجام می گیرد. پس از هر اتصال یک فراخوان (callback) اجرا خواهد شد، اما اگر کاری برای انجام نباشد نود متوقف می شود.

const http = require('http');

const hostname = '127.0.0.1'; const port = 3000;

const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World'); });

server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });

آیا این نوشته را دوست داشتید؟
udemy-nodejs-the-complete-guide-mvc-rest-apis-grapgql-deno

دوره NodeJS - راهنمای کامل (MVC REST APIs ،GraphQL و Deno.js)


بر روی Node JS و Deno.js، ساخت REST APIs با GraphQL APIs، Node.js، افزودن احراز هویت، استفاده از MongoDB و SQL و غیره مسلط شوید. اکوسیستم NodeJS را بش...

1399/07/29 341 بازدید زیرنویس دارد
pluralsight-managing-files-with-node-js

آموزش مدیریت فایل ها با Node.js


شما در این دوره، دانش بنیادی را خواهید آموخت تا به صورت عملی با Node.js فایل ها را به طور موثر بخوانید و بنویسید. ابتدا، خواندن فایل ها به طور همزمان ...

1399/07/21 437 بازدید زیرنویس دارد
packtpub-full-stack-web-development-with-vue-js-and-node-js

توسعه وب فول استک با Vue.js و Node.js


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

1399/07/08 820 بازدید
pluralsight-using-mongodb-with-node-js

آموزش استفاده از MongoDB با Node.js


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

1399/07/05 804 بازدید
linkedin-building-serverless-apps-on-aws

آموزش ایجاد اپلیکیشن های Serverless در AWS


در این دوره یاد می گیرید که چگونه یک برنامه بدون سرور NodeJS در وب سرویس آمازون (AWS) تهیه کنید. ابتدا با چندین سرویس آشنا شوید: Lambda ،DynamoDB ،S3 ...

1399/01/23 1468 بازدید
linkedin-building-angular-and-node-apps-with-authentication

آموزش ساخت برنامه های Angular و Node با احرازهویت


آیا از قبل با Angular 2 و Node.js آشنایی دارید؟ اگر چنین است، این دوره می تواند به شما کمک کند تا این دو فریمورک محبوب را در ساخت یک وب اپلیکیشن کامل ...

1399/01/12 1375 بازدید
linkedin-building-bots-with-node-js

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


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

1399/01/12 2166 بازدید
linkedin-building-your-first-cli-app-in-node

ایجاد اولین اپلیکیشن CLI در Node


با ساختن یک برنامه CLI در Node.js. مهارت های Node.js خود را در عمل به نمایش در آورید. بسیاری از توسعه دهندگان نرم افزار معمولاً از رابط های خط فرمان (...

1399/01/08 1364 بازدید
linkedin-node-js-essential-training

آموزش اساسی Node.js


در این دوره شما ضرورت های Node.js  را فرا گرفته و شروع به ساخت اپلیکیشن های جاوااسکریپت خواهید نمود. مربی Alex Banks شما را با تمام مفاهیم پایه آشنا ک...

1398/12/25 6433 بازدید زیرنویس دارد
linkedin-node-js-essential-training-web-servers-tests-and-deployment

آموزش اساسی Node.js: وب سرورها، تست ها و گسترش


این دوره تمرینی یک پایه قوی در این موضوعات ایجاد می کند: کار کردن با وب سرورها و تست و اجرای برنامه ها. Alex Banks ماژول HTTP را برای ایجاد درخواست ها...

1398/12/22 2827 بازدید زیرنویس دارد
linkedin-building-vue-and-node-apps-with-authentication

آموزش ساخت برنامه های Vue و Node با احراز هویت


شما از قبل با فریمورک به روز Vue.js و Node.js که به یک استاندارد در تولید بک اند تبدیل شده است، آشنا هستید. در این دوره، Alexander Zanfir نشان می دهد ...

1398/12/10 2380 بازدید زیرنویس دارد
linkedin-cloud-native-development-with-node-js-docker-and-kubernetes

توسعه ابر نیتیو با Node.js ،Docker و Kubernetes


در حالی که اکثریت قریب به اتفاق برنامه های Node.js در ابر مستقر شده و اجرا می شوند، تعداد کمی از آن ها از آنچه که پلتفرم های رایانش ابری مدرن ارائه می...

1398/12/06 3383 بازدید زیرنویس دارد
linkedin-modernize-node-js-apps-with-azure-app-service

آموزش مدرنیزه کردن اپلیکیشن های Node.js با Azure App Service


در این دوره مبتنی بر پروژه، نحوه ی ریفکتور کردن، پیکربندی و استقرار اپلیکیشن های Node.js در Azure را با Azure App Service یاد خواهید گرفت. همچنین این ...

1398/12/01 1121 بازدید زیرنویس دارد
codewithmosh-the-complete-nodejs-course

دوره کامل نود جی اس - Codewithmosh The Complete Node.js Course


شما می خواهید Node.js را بیاموزید، اما نمی دانید از کجا شروع کنید؟ به کمک این دوره بیاموزید که API های بسیار مقیاس پذیر، سریع و ایمن را با Node ،Expre...

1398/11/30 7619 بازدید
teamtreehouse-node-js-basics

آموزش مبانی Node.js


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

1398/11/03 2443 بازدید
teamtreehouse-build-a-simple-dynamic-site-with-node-js

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


Node.js یک پلتفرم همه کاره برای ساخت انواع اپلیکیشن ها است. در این دوره، ما می خواهیم یک وب سایت پویا ایجاد کنیم که اطلاعات پروفایل دانش جویان Treehou...

1398/10/17 2550 بازدید
packtpub-mern-stack-front-to-back-full-stack-react-redux-and-node-js-video

آموزش MERN Stack: برنامه نویسی فول استک React, Redux و Node.js


در این دوره شما با استفاده از Node.js، Express، React، Redux و MongoDB در کنار ES6+ یک برنامه شبکه اجتماعی جامع ایجاد خواهید کرد. شما با نحوه ایجاد مد...

1398/08/21 4742 بازدید
packtpub-consuming-python-apis-with-react-video

بکار بردن API‌های پایتون با React [ویدئویی]


در این دوره شما با راه اندازی سریع ابزارهای جاوا اسکریپت، Node.js و React.js برای ساخت یک پروژه کامل شروع خواهید کرد. سپس، نحوه تعامل کد فرانت اند با ...

1398/08/12 2759 بازدید
skillshare-learn-future-technologies-of-web-development-in-2019-beginner-to-advance-be-a-full-stack-developer

یادگیری تکنولوژی های آینده توسعه وب در 2019 - از مبتدی تا پیشرفته - توسعه دهنده Full Stack


در این دوره با تمامی تکنولوژی های جدید توسعه وب در 2019 آشنا می شوید. این تکنولوژی ها شامل NodeJS، Redux، ReactJS، MongoDB و ExpressJS می شود....

1398/06/26 4609 بازدید
packtpub-microservice-development-on-azure-node-js

آموزش توسعه میکروسرویس در آژور - Node.js


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

1398/06/20 1505 بازدید