تالار گفتگوی کیش تک/ kishtech forum
  • سردر
  • جستجو
  • فهرست اعضا
  • سالنامه
  • راهنما
درود مهمان گرامی! ورود ثبت‌نام
ورود
نام کاربری:
گذرواژه‌:
گذرواژه‌تان را فراموش کرده‌اید؟
 
تالار گفتگوی کیش تک/ kishtech forum › پردیس فناوری کیش › فناوری اطلاعات و ارتباطات › سایر موضوعات v
« قبلی 1 … 6 7 8 9 10 … 38 بعدی »

Node.js در برنامه نویسی به چه معنایی است؟

امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
حالت موضوعی
Node.js در برنامه نویسی به چه معنایی است؟
Mehdi_Shams آفلاین
عضو جوان
**
ارسال‌ها: 8
موضوع‌ها: 8
تاریخ عضویت: Jul 2020
اعتبار: 0
#1
10-07-2020, 03:00 PM
Node.js یک پلتفرم بر اساس زبان جاوا اسکریپت است که امروزه توانسته با استفاده از تکنولوژی رویداد محوری که درون خود پایه گذاری کرده است، بسیاری از برنامه‌نویسان را جذب خود کند. همراه لیداوب با
Node.js یک پلتفرم بر اساس زبان جاوا اسکریپت است که امروزه توانسته با استفاده از تکنولوژی رویداد محوری که درون خود پایه گذاری کرده است، بسیاری از برنامه‌نویسان را جذب خود کند. همراه لیداوب باشید تا در این مقاله، این پلتفرم جذاب را بیشتر بشناسیم.

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

[تصویر:  RIMG10776.JPG]

js بر اساس موتور جاوا اسکریپتی گوگل موسوم به V8 طراحی شده است. اگر بخواهیم درباره این موتور توضیحی مختصر بدهیم باید بگوییم که این موتور توسط گوگل طراحی شده تا کدهای جاوا اسکریپتی را درون خودش سریع‌تر از قبل کامپایلر و اجرا نماید. این موتور به صورت متن باز منتشر شده و به زبان برنامه‌نویسی ++C نوشته‌شده است. ضمن اینکه از استاندارد اکما اسکریپت نیز بهره می‌برد. هر جا که شما دوست دارید تا جاوا اسکریپت را اجرا کنید، این موتور می‌تواند به شما کمک کند. امروزه یکی از دلایل استفاده زیاد از Node.js را همین موتور قدرتمند می‌دانند.
در ادامه مقاله می‌خواهیم درباره ویژگی‌های Node.js بگوییم که شامل:
پلتفرم Node.js محدود به هیچ مرورگری نیست ضمن اینکه قابلیت اجراشدن در انواع سیستم‌عامل‌های ویندوز، لینوکس و مک را نیز دارد.
جامعه بزرگی از مصرف‌کنندگان Node.js می‌تواند یک عامل مهم در انتخاب این پلتفرم باشد. شرکت‌های بزرگی همچون Yahoo ،Microsoft ،Paypal ،eBay و ... که از Node.js استفاده می‌کنند و می‌تواند ملاکی برای اعتبار این پلتفرم به‌حساب آورد.
 پلتفرم Node.js خودش صاحب یک وب سرور است لذا اگر شما از یک وب سرور استفاده می‌کنید، Node.js از آن استفاده نمی‌کند، چون خودش دارد و برای اینکه برنامه شما را اجرایی کند از طریق خطوط دستوری به نام Command Line استفاده می‌کند (Command Line درواقع یک راه تعاملی برای برقراری ارتباط با سرور است و همانطور که از اسمش هم پیداست، زمانی که می‌خواهیم سرور کاری را برای ما انجام دهد می‌توانیم به صورت نوشتن یک سری دستورات مشخص و تعیین شده این کار را انجام دهیم که طبعا سرعت بالاتری را هم در آخر نصیب ما خواهد کرد)

 در این مورد می‌خواهیم درباره مهم‌ترین ویژگی Node.js صحبت کنیم. عاملی که باعث شده است تا بسیاری از برنامه‌نویسان امروزه به دنبال استفاده از Node.js باشند.  قبل از اینکه بخواهیم درباره این ویژگی صحبت کنیم، باید روال عادی در وب سرورهای سمت سرور را بررسی کنیم تا مزیتی که Node.js در اختیار ما قرار می‌دهد، پررنگ‌تر جلوه کند.
شما در حال تایپ آدرس یک وب‌سایت هستید یا وارد صفحه‌ای در یک وب‌سایت می‌شوید یا هرگونه ارتباطی که شما به‌عنوان کاربر با سرور ایجاد می‌کنید، در زبان‌های برنامه‌نویسی سمت سرور، باعث ایجاد یک Thread (یک موضوع یا یک بحث جدید) می‌کند و این Thread زمانی بسته می‌شود که شما به درخواست خود رسیده باشید، مثلا صفحه‌ی وب‌سایتی که می‌خواهید برای شما بازشده باشد.
حالا فرض کنید که شما قرار است وارد یک وب‌سایت پرطرفدار شوید، وب‌سایتی که بازدیدکنندگان آن بسیار زیاد هستند و طبعاً همه این افراد در بین صفحات این وب‌سایت در حال جستجو کردن هستند یا مطالب مختلف را مشاهده می‌کنند، در این حالت است که Thread های بسیار زیادی ایجاد می‌شوند. اینجاست که سرور احتمالاً به سقف می‌چسبد و بایستی که سرورهای موجود را افزایش دهیم که خود یک هزینه اضافی است. البته باید بگوییم که مشکل اصلی ما در اینجا، حجم بالای اطلاعات ورودی و خروجی است که به روشی که در بالا گفتیم صورت می‌گیرد.
[تصویر:  using-nodejs-for-realtime-web-5-638.jpg]

در مثال بالا حالتی را گفتیم که معمول بود اما حال می‌خواهیم برخورد Node.js را در این مواقع بررسی کنیم. تفاوتی که Node.js دارد این است که از عملیات ورودی-خروجی یا I/O به‌صورت رویداد محور استفاده می‌کند که دارای ویژگی non blocking است و مسدود شونده نیست (اصطلاحا به این روش non blocking I/O می‌گویند). درواقع در این روش، هر اتصالی که کاربر با سرور ایجاد می‌کند به‌صورت یک رویداد تعریف می‌شود نه یک Thread (تمامی درخواست‌ها و اتصالات به‌صورت رویدادها مدیریت می‌شوند درحالی‌که فقط یک Thread شکل‌گرفته است). در یک جمله اگر بخواهیم این مورد را خلاصه کنیم این است که با ایجاد حالت رویداد محور، ما برای رسیدن به نتیجه‌ای که مخاطب به دنبال آن است، دیگر نباید منتظر عملیات ورودی-خروجی باشیم، اینجا صرفا رویدادها هستند که دریافت نتیجه را سبب می‌شوند.
آخرین ویژگی که درباره آن می‌خواهیم صحبت کنیم، ماژول‎‌ها و امکاناتی است که Node.js آن‌ها را دارد و کار شما در استفاده از این پلتفرم راحت‌تر خواهد کرد.
نتیجه‌گیری
در این مقاله درباره یک پلتفرم سریع صحبت کردیم. پلتفرمی که می‌تواند برای وب‌سایت شما با بازدیدکنندگان زیاد، بسیار خوب عمل کند. پلتفرمی که دارای ماژول‌ها و امکانات زیادی است که شمارا می‌تواند کمک کند. Node.js مرتبط با سرعت و کیفیت بیشتر کار خود را انجام می‌دهد و این باعث شده است که حتی برنامه‌نویسان غیرحرفه‌ای هم به سراغ آن بروند و برنامه‌های حرفه‌ای بر اساس آن طراحی کنند. اگر به دنبال یک فضایی هستید که کدهای جاوا اسکریپتی خود را اجرایی کنید و خیلی سریع به درخواست مخاطب خود جواب دهید، Node.js می‌تواند یک انتخاب خوب برای شما باشد ضمن اینکه برای داشتن یک انتخاب خوب و مطالعه راجع به سایر زبان‌های برنامه‌نویسی و آموزش‌های حوزه وب، می‌توانید در لیداوب به اهداف خود برسید.
خلاصه مقاله معرفی Node.js را در نقشه ذهنی زیر می‌بینید:
[تصویر:  photo_%DB%B2%DB%B0%DB%B1%DB%B7-%DB%B0%DB...%DB%B5.jpg]
 
ارسال‌ها
پاسخ
« قدیمی‌تر | جدیدتر »


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تاثیر فناوری اطلاعات و ارتباطات در برنامه درسی AliEtemadi 1 946 29-05-2021, 10:40 PM
آخرین ارسال: aram
  چگونه از دسترسی برخی برنامه‌های اندروید به اینترنت جلوگیری کنیم؟ Amin esfanjani 0 1,591 19-07-2020, 02:50 PM
آخرین ارسال: Amin esfanjani
  راه های برطرف کردن مشکل توقف برنامه ها در اندروید Amin esfanjani 0 595 19-07-2020, 02:02 PM
آخرین ارسال: Amin esfanjani
  رفع مشکل دانلود نشدن برنامه از اپ استور ویندوز mb.kkkk 0 703 14-05-2020, 09:40 PM
آخرین ارسال: mb.kkkk
Photo آموزش برنامه نویسی اندروید به صورت پروژه محور و آمادگی برای ورود به بازار کار elecomco 0 909 31-03-2020, 11:59 AM
آخرین ارسال: elecomco
  برنامه ریزی روزانه برای طراحی سایت magbot 0 719 31-07-2019, 05:14 PM
آخرین ارسال: magbot

  • مشاهده‌ی نسخه‌ی قابل چاپ
پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان
  • تیم انجمن
  • صفحه‌ی تماس
  • تالار کیش تک / kishtech forum
  • بازگشت به بالا
  • بایگانی
  • نشانه‌گذاری تمامی انجمن‌ها به عنوان خوانده شده
  • پیوند سایتی RSS
زمان کنونی: 21-07-2025، 09:45 PM Persian Translation by MyBBIran.com - Ver: 6.5
Powered by MyBB, © 2002-2025 MyBB Group.