وبلاگ شخصی ایمان رسولی

هرچی به ذهنم بیاد و جالب باشه براتون میزارم

وبلاگ شخصی ایمان رسولی

هرچی به ذهنم بیاد و جالب باشه براتون میزارم

۱ مطلب با کلمه‌ی کلیدی «nodejs» ثبت شده است

Node.js به عنوان یک زمان اجرا جاوا اسکریپت مبتنی بر رویداد غیرهمزمان ، برای ایجاد برنامه های شبکه مقیاس پذیر طراحی شده است. در مثال زیر ، "سلام جهان" ، بسیاری از اتصالات را می توان همزمان انجام داد. با هر تماس ، تماس روشن است ، اما در صورت عدم کار ، Node.js. قدیمی

 

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

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}/`);

 

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

اگر برخی از این زبان ناآشنا هستند ، یک مقاله کاملاً در مورد ممنوعیت در قبال منع وجود دارد.

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

HTTP یک کلاس اول بومی Node.js است که با جریان و شکاف کم طراحی شده است. این باعث می شود Node.js برای تنظیم یک فهرست وب یا چارچوب بهینه شود.

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

  • ایمان رسولی