دانلود ویدیو
_01 Introduction to NODE JS _ Fundamentals of NODE JS _ A Complete NODE JS Course.mp4 – 10.4 MB
متن ویدیو
با سلام و خوش آمدید به اولین سخنرانی این دوره کامل node.js در این دوره شما همه چیز را در مورد node.js از سطح مبتدی تا پیشرفته یاد خواهید گرفت. که توسط طیف گسترده ای از برنامه ها با استفاده از node.js مصرف می شود، اجازه دهید این دوره را با مروری کوتاه بر node.js شروع کنیم و سعی کنیم به برخی از سوالات اساسی مربوط به node.js پاسخ دهیم، به عنوان مثال node.js چیست و چرا به آن نیاز داریم چه مزیتی برای استفاده از node.js نسبت به سایر فناوری ها دارد و کجا باید از node.js استفاده کنیم و در کجا نه بنابراین اجازه دهید در این سخنرانی به این سؤالات پاسخ دهیم، تعریف رسمی node.js می گوید که node.js یک زمان اجرا جاوا اسکریپت ساخته شده بر روی موتور V8 منبع باز گوگل است.
در این تعریف دو نکته وجود دارد که می توان به نکته اول اشاره کرد این است که node.js یک محیط زمان اجرا جاوا اسکریپت است و نکته دوم این است که از موتور V8 گوگل استفاده می کند. شما باید قبلا از جاوا اسکریپت استفاده کرده باشید. احتمالاً از آن در داخل یک مرورگر استفاده کردهاید که هر مرورگری به طور بومی HTML CSS و جاوا اسکریپت را میفهمد و فرقی نمیکند که جاوا اسکریپت وانیلی یا فریمورک جاوا اسکریپتی مانند کد angular یا react بنویسید که همه فقط جاوا اسکریپت هستند که در داخل مرورگر توسط مرورگر اجرا میشوند. بنابراین در این مورد مرورگر زمان اجرا جاوا اسکریپت است. زیرا در اینجا مرورگر تمام ابزارها و کتابخانه ها را برای اجرا و اجرای کد جاوا اسکریپت فراهم می کند، به عنوان مثال زمانی که از جاوا اسکریپت در مرورگر مرورگر استفاده می کنیم، همچنین برخی از Api هایی مانند fetch API یا دریافت عنصر توسط تابع انتخاب کوئری تابع شناسه یا حتی کنسول را در اختیار ما قرار می دهد.
تابع log بنابراین وقتی جاوا اسکریپت را در مرورگر اجرا می کنیم می توانیم از این apis و توابع در کد جاوا اسکریپت خود استفاده کنیم زیرا مرورگر ]چیزی است که این توابع و api را ارائه می دهد و ما اکنون قبل از سال 2009 از این توابع و apis از کد جاوا اسکریپت خود استفاده می کنیم. در گذشته جاوا اسکریپت فقط قادر به اجرا در داخل یک مرورگر بود، هیچ راهی برای اجرای برنامه جاوا اسکریپت در خارج از محیط مرورگر وجود نداشت و در هر مرورگری یک موتور جاوا اسکریپت وجود دارد که وظیفه اجرای کد جاوا اسکریپت را بر عهده دارد. موتور جاوا اسکریپت ابزاری است که مورد نیاز مرورگرها است.
برای اجرا و اجرای کد جاوا اسکریپت، هر مرورگر موتور جاوا اسکریپت مخصوص به خود را دارد، به عنوان مثال فایرفاکس از میمون عنکبوتی استفاده می کند مایکروسافت اج از چاکرا استفاده می کند به همان روشی که موتور جاوا اسکریپت گوگل کروم به عنوان موتور V8 نامیده می شود، بنابراین این موتور V8 مسئول اجرای آن است. برنامه جاوا اسکریپت در مرورگر کروم تا قبل از سال 2009 امکان اجرای برنامه جاوا اسکریپت خارج از مرورگر وجود نداشت اما در سال 2009 یک برنامه نویس به نام رایان دال خالق node.js ایده درخشانی را ارائه کرد که فکر می کرد عالی خواهد بود.
برای اجرای جاوا اسکریپت در خارج از مرورگر و برای ایجاد این امکان، موتور V8 گوگل را که موتور جاوا اسکریپت سریع است، در آنجا گرفت و آن را در یک برنامه c plus جاسازی کرد و آن را node.js نامید که شبیه به یک مرورگر node.js است. محیط زمان اجرا برای اجرای کد جاوا اسکریپت و حاوی یک موتور جاوا اسکریپت است که می تواند یک کد جاوا اسکریپت را اجرا کند و آن موتور جاوا اسکریپت موتور V8 است و به همین دلیل است که می گوییم node.js یک زمان اجرا جاوا اسکریپت است که بر روی موتور جاوا اسکریپت V8 گوگل و node.js ساخته شده است.
همچنین دارای api های خاصی است که محیطی را برای کد جاوا اسکریپت در node.js فراهم می کند و این api ها با api هایی که ما در مرورگر داریم متفاوت هستند بنابراین در مرورگر برخی از api ها و توابع را به همان روشی که node.js نیز ارائه می دهد در اختیار ما قرار می دهد. ما برخی از ماژولها را apis میکنیم و میتوانیم از این ماژولها در برنامه node.js خود استفاده کنیم، بنابراین به طور خلاصه node.js برنامهای است که شامل موتور جاوا اسکریپت V8 و چند api اضافی است که به ما توانایی اجرای جاوا اسکریپت را در خارج از مرورگر میدهد و اکنون که ما جاوا اسکریپت را خارج از مرورگر در یک نوع محیط مستقل داریم که node.js است، میتوانیم کارهای زیادی را با جاوا اسکریپت انجام دهیم که قبلاً کاملاً غیرممکن بود، به عنوان مثال دسترسی به سیستم فایل یا قابلیتهای بهتر شبکه اکنون با node.js و همه امکانپذیر است.
این عوامل در کنار هم شرایط عالی را برای استفاده از node.js به عنوان یک زبان سمت سرور به ما میدهند، به این معنی که اکنون میتوانیم در نهایت از جاوا اسکریپت در سمت سرور توسعه وب استفاده کنیم تا برنامههای شبکه سریع و بسیار مقیاسپذیر را برای تأمین قدرت پشتیبان یک وبسایت یا ایجاد کنیم. برنامه وب بسیار خوب، اجازه دهید نگاهی بیاندازیم به این که چرا node.js بسیار مناسب برای توسعه بکند است و کجا باید از آن استفاده کنیم و در کجا نباید از node.js استفاده کنیم،
دلیل اینکه برنامه های نود بسیار سریع و مقیاس پذیر هستند به این دلیل است که node.js یک مدل IO غیر مسدود کننده مبتنی بر رویداد است که node.js را بسیار مناسب و کارآمد میکند. اکنون ممکن است کمی گیجکننده به نظر برسد، اما نگران نباشید، متوجه خواهید شد که یک رویداد غیرانسدادی و رویدادی چگونه رانده میشود. node.js برای ساخت برنامه های کاربردی داده سریع و مقیاس پذیر عالی است و این باعث می شود node.js برای ساخت انواع برنامه ها مناسب باشد، به عنوان مثال ما می توانیم با استفاده از node.js یک API با پایگاه داده پشت آن بسازیم. و ما این کار را انجام می دهیم در این دوره که با استفاده از node.js یک API بسازیم و از mongodb در backend به عنوان پایگاه داده استفاده می کنیم. و با استفاده از API که ایجاد می کنیم داده ها را از پایگاه داده mongodb واکشی می کنیم.
ما رکوردها را در پایگاه داده mongodb وارد می کنیم و رکوردها را از پایگاه داده و غیره به روز می کنیم و حذف می کنیم و نه فقط api ها بلکه ما می توانیم انواع برنامه ها را با node.js بسازیم. به عنوان مثال می توانیم برنامه های پخش جریانی مانند YouTube یا برنامه های چت بلادرنگ Netflix بسازیم. یا حتی برنامه های وب سمت سرور که در آن کل محتوا به سادگی روی سرور تولید می شود. بنابراین همانطور که می بینید امکانات بی پایان هستند، اکنون نوعی از برنامه ها نیز وجود دارد که ما نباید با node.js آن ها را بسازیم که به برنامه های بسیار سنگین نیاز دارند. پردازش سمت سرور مانند دستکاری تصویر سنگین یا تبدیل ویدیو یا فشردهسازی فایل یا هر چیزی شبیه به آن. ما نباید چنین برنامههایی را با node.js بسازیم و خواهید فهمید که چرا در آن زمان است که بیشتر به نحوه عملکرد node.js میپردازیم. js به سادگی برای این موارد استفاده توسعه داده نشده است.
اگرچه راه حل هایی برای مقابله با آنها وجود دارد، اما ما همیشه باید از ابزار مناسب برای مقابله با کار در دست برای چنین برنامه هایی استفاده کنیم، بنابراین باید از فناوری های دیگر مانند PHP یا پایتون استفاده کنیم، دلیل دیگری که باید یاد بگیرید. node.js بسیاری از شرکتهای برتر مانند Netflix Uber PayPal eBay و غیره است که قبلاً استفاده از node.js را شروع کردهاند و این ثابت میکند که این فناوری به اندازهای پایدار است که در تولید استفاده شود. مزیت اصلی استفاده از node.js این است که با node.js از آنجایی که ما از جاوا اسکریپت به عنوان زبان برنامه نویسی در فرانت اند استفاده می کنیم و می توانیم از فناوری یکسانی در کل پشته استفاده کنیم. به این معنی که می توانیم از جاوا اسکریپت هم برای توسعه front-end و هم برای توسعه back-end استفاده کنیم و این برای شما و تیم شما قبل از هر چیز بسیار آسان تر است.
مجبور نیستید یک زبان برنامه نویسی جدید را برای ساختن برنامه بک اند خود یاد بگیرید و مجبور نیستید بین زبان ها جابجا شوید و این باعث می شود کل فرآیند ساخت سریع تر و کارآمدتر شود. دلیل دیگر استفاده از node.js این است که یک کتابخانه عظیم از بسته های منبع باز که به صورت رایگان برای همه در دسترس است، این بسته ها در npm در دسترس هستند و احتمالاً نام آن را شنیده اید یا حتی قبلاً از آن استفاده کرده اید، ما قصد داریم از برخی از بسته های منبع باز در این دوره استفاده کنیم و در نهایت یک جامعه فعال بزرگی از توسعه دهندگان node.js در آنجا دائماً در حال بهبود node.js هستند و به مبتدیانی مانند شما کمک می کنند و بنابراین شما واقعاً می توانید برای همه پروژه های خود در سال های آینده به این فناوری تکیه کنید، بنابراین این یک مقدمه و نمای کلی از نود جی اس بود. در ویدیوهای آتی، نحوه ایجاد وب سرور خود را با استفاده از node.js و نحوه ارسال پاسخها از این سرور در آموزش های بعدی یاد خواهید گرفت.
مقداد علی بخشی هستم. موسیقی دان، برنامه نویس، متخصص هوش مصنوعی، علم داده، متخصص بلاکچین و توسعه دهنده ربات های هوشمند.
دانش آموخته مقطع ارشد و دکتری دانشکده فنی دانشگاه تهران هستم. با سابقه تدریس درس برنامه نویسی در دانشگاه (پردیس بین الملل کیش دانشگاه تهران)