قبل از اینکه به توضیح این دوره آموزشی بپردازیم باید به سوال اصلی شما پاسخ دهیم.
نود جی اس (Nodejs) چیست؟
در تعریفی که خود وب سایت نود جی اس ارائه کرده است، Nodejs یک پلتفرم بر مبنای موتور جاوا اسکریپت کروم (گوگل) است که به منظور توسعه پذیری سریع سمت سرور (Backend) مورد استفاده قرار می گیرد. در اصل در زبان های سمت سرور مانند PHP یا Java وقتی یک کاربر به سرور وصل می شود، یک درخواست یا Thread به ازای آن کاربر در سرور بوجود می آید. اگر تعداد اتصالات کاربران (به صورت همزمان) افزایش پیدا کند آنگاه باید منابع (مانند RAM) را ارتقاء داد و این امر باعث افزایش هزینه ها می گردد. Nodejs (نود جی اس) این مشکل را توسط روش تغییر اتصال به سرور حل می کند. بدین صورت که به جای اتصال از طریق یک درخواست (Thread)، از اتصال به صورت Event یا رویداد استفاده می کند.
از آنجا که Nodejs (نود جی اس) از موتور جاوا اسکریپت V8 استفاده می کند بنابراین این امکان برای شما فراهم است که با استفاده از زبان جاوا اسکریپت (Javascript) در سمت سرور (Backend) کدنویسی کنید و تمام درخواست ها را به صورت رویداد مدیریت نمایید.
چه سایت هایی از نود جی اس استفاده کرده اند؟ امروزه سایت های داخلی و بین المللی بسیاری از نود جی اس در پروژه های خود بهره برده اند: والمارت (Walmart)، ای بی و پی پال (Ebay - Paypal)، ماکروسافت (Microsoft)، لینکدین (LinkedIn)، یاهو (Yahoo) و گوگل (Google) و ... .
چه مهارت هایی در دوره آموزش Node js کسب می کنید؟
- ایجاد، تست و اجرای نرم افزارهای نود
- ساخت وب سرور Express و API ها
- ذخیره سازی داده ها در پایگاه داده Mongoose و MongoDB
- استفاده از جاوا اسکریپت ES6 و ES7
- ساخت نرم افزار واقعی چت با استفاده از Socket.io
- بارگذاری نرم افزار نود در نسخه پروداکشن (محصول نهایی) روی سرور
پیش نیازها
یک کامپیوتر یا لپ تاپ که روی آن ویندوز، لینوکس یا مک نصب شده باشد!
آشنایی مقدماتی با مفاهیم زبان جاوا اسکریپت (Javascript)، مفاهیمی مانند: متغییرها، توابع، اشیاء، آرایه ها و جملات شرطی و ...)
شرح دوره
دوره ویدیویی آموزش Nodejs (نود جی اس - مقدماتی تا پیشرفته) تمامی مفاهیم و مبانی آموزش Nodejs (نود جی اس) را قبل از دسترسی به ابزارهایی مانند Express, Mongoose و MongoDB ارائه داده خواهد شد. در کل هدف اصلی این دوره تبدیل کردن شما به یک توسعه دهنده حرفه ای نود جی اس است. یعنی شما بتوانید پس از گذراندن این دوره تمامی نرم افزارها را با پلتفرم نود جی اس پیاده سازی کنید.
گذشته از مفاهیم آموزشی، در این دوره چهار پروژه آموزش داده خواهد شد:
- نرم افزار یادداشت برداری (نوت برداری)
- نرم افزار آب و هوا که با گوگل مپ و Dark Sky Api در ارتباط است
- نرم افزار to-do list به صورت REST API با حساب کاربری و احراز هویت (Authentication)
- نرم افزار پیام رسان (چت)
این دوره بر اساس آخرین نسخه نود جی اس (به تاریخ ضبط دوره) Nodejs 8 ارائه شده است.
اگر شما در یک شرکت مشغول به فعالیت هستید که به برنامه نویس Nodejs نیاز دارند اصلا نگران نباشید، مسئولیت برنامه نویسی Nodejs را به عهده بگیرید چون در این دوره تمام فنون و تکنیک های مورد نیاز برای ساخت اپلیکیشن ها را به شما آموزش می دهیم.
در انتهای این دوره شما با مفاهیم زیر به صورت حرفه ای آشنا می شوید:
- Node.js
- Npm
- Asynchronous programming
- ES6/ES7
- MongoDB
- Express
- Socket.IO
- JWT Authentication
- Mongoose
- Version control with Git
- GitHub
- REST API Design
- Code testing
- Debugging
- Mocha
حقوق یک برنامه نویس Node js
در کشور ایران یکی از علت هایی که برنامه نویسان به سمت نود جی اس (Nodejs) آمده اند، حقوق بسیار بالای این افراد است. در ایران به صورت متوسط یک برنامه نویس نود جی اس (Nodejs) به ازای یک ماه کار کردن مبلغی بین ۸ الی ۲۴ میلیون تومان را دریافت می کند. مطمئن هستم شما هم از این بازه بسیار عجیب و غریب شگفت زده شده اید. ولی حقیقت دارد! شرکت ها و کپمانی ها به شدت نسبت به این پلتفرم اعلام نیاز کرده اند.
پشتیبانی ۶ ماهه رایگان
دوستان عزیزی که این دوره را خریداری می کنند از ۶ ماه خدمات پشتیبانی رایگان بهره مند هستند. این خدمات به شما اجازه می دهد که از طریق بخش پیشخوان -> تیکت پشتیبانی سوالات خود را با مدرس مطرح کرده و در نهایت از مشاوره های فنی و تکنیکی در پروژه خود استفاده کنید. البته در صورتیکه تمایل دارید بیش از ۶ ماه (یک سال) از این خدمات بهره مند باشید لطفا تیک «۶ ماه پشتیبانی بیشتر» را بفشارید.
سرفصل ها
مقدمه و معرفی
- مقدمه و معرفی دوره و مدرس
- نصب نود
- نود جی اس چیست
- چرا باید از نود جی اس استفاده کنیم؟
- استفاده از ویرایشگر
- اولین برنامه Nodejs
مبانی نود جی اس (Nodejs)
- معرفی بخش
- استفاده از پیش نیازها
- معرفی فایل های مورد نیاز
- استفاده از ماژول های خارجی
- ری استارت کردن نرم افزار با استفاده از Nodemon
- دریافت ورودی از کاربران
- ساده سازی ورودی ها با استفاده از Yargs
- کار با JSON
- اولین پروژه: راه اندازی نرم افزار یادداشت برداری (نوت برداری)
- افزودن و ذخیره یادداشت ها
- ریفکتور کردن کدها برای استفاده مجدد
- حذف یک یادداشت
- خواندن یادداشت ها و استفاده مجدد از آنها
- دیباگ کردن نرم افزار Nodejs
- دیباگ کردن با استفاده از ابزار Dev Tools گوگل کروم
- لیست کردن یادداشت ها
- استفاده از آرگومان ها و سطح پیشرفته Yargs
- توابع Arrow
Nodejs به صورت غیر همزمان
- معرفی بخش
- مفاهیم اولیه غیر همزمانی (آسنکرون = Async)
- فراخوانی حلقه رویداد (Event) و پشته (Stack)
- توابع کال بک (بازگشتی) و API ها
- نمایش اشیاء
- چطوری یک درخواست HTTP ایجاد می شود
- رمزگذاری ورودی کاربران
- خطاها (Callbacks Errors)
- کال بک های چکیده (Abstracting Callbacks)
- دومین پروژه: نرم افزار تشخیص آب و هوا
- نوشتن یک سیستم جستجوی آب هوا
- اتصال کال بک ها به یکدیگر
- معرفی Promise ها در اکما اسکریپت ۶ (ES6)
- سطح پیشرفته Promise ها
- اعمال Promise ها به نرم افزار تشخیص آب و هوا
وب سرور ها و نرم افزار توسعه
- معرفی بخش
- نمایش متن Hello در Express
- ساخت یک وب سرور
- رندر کردن قالب ها به همراه داده
- سطح پیشرفته قالب ها
- معرفی Middleware وب سرور Express
- افزودن Git
- نصب GitHub و کلیدهای SSH
- بارگذاری نرم افزارها روی سرور
تست کردن پروژه
- معرفی بخش
- معرفی Mocha و آزمایش مقدماتی
- معرفی ابزارهای Watch و Auto Restart
- استفاده از کتابخانه Assertion
- تست کردن کدهای آسنکرون
- تست کردن وب سرور اکسپرس
- بهینه سازی تست با استفاده از describe
منگو دی بی (MongoDB) و Mongoose و REST API ها
- معرفی بخش
- نصب MongoDB و Robomongo
- ساخت یک NoSQL
- اتصال به Mongo و نوشتن داده روی آن
- معرفی ObjectId
- فراخوانی داده
- نصب Repo
- حذف مستندات و داده ها
- بروزرسانی داده
- آشنایی با Mongoose ORM
- نصب Mongoose
- اعتبارسنجی، انواع داده و Default ها
- نصب ابزار Postman
- سومین پروژه: نرم افزار Todo-list
- ساخت منابع POST برای todo
- تست POST برای todo
- نمایش منابع GET برای todo
- تست GET برای todo
- دریافت کوئری های Mongoose و اعتبارسنجی شناسه
- دریافت یک منبع GET مشخص برای یک todo
- تست منبع مشخص ٍGET برای todo
- استخراج API از هاست
- محیط های Postman
- حذف یک منبع DELETE برای یک todo
- تست یک منبع DELETE برای یک todo
- بروزرسانی یک منبع PATCH برای یک todo
- تست کردن یک منبع PATCH برای یک todo
- ایجاد یک دیتابیس تست
امنیت و احراز هویت
- معرفی بخش
- راه اندازی مدل User
- معرفی JWT و Hashing
- ایجاد توکن Auth و پیاده سازی آن روی Header ها
- ایجاد مسیرهای (Routes) اختصاصی و Auth Middleware
- رمزگذاری پسوردها
- قرار دادن اطلاعات تصادفی روی دیتابیس با استفاده از مدل Users
- تست کردن کاربران با متد POST در جدول users
- ورود کاربران (Log in)
- تست کردن ورود کاربران
- خروج کاربران و حذف توکن با استفاده از متد DELETE
- تست کردن خروج کاربران
- ایجاد مسیرهای خصوصی (محافظت شده) Todo
- بهبود تنظیمات نرم افزار
- بارگذاری نرم افزار روی هاست
نرم افزار پیام رسان (چت) با استفاده از Socket.io
- معرفی نرم افزار
- ساخت پروژه جدید
- افزودن پلتفرم Socket.io به پروژه
- اعمال رویدادها و گوش دادن به آنها با استفاده از Emit و Listen
- یادگیری Broadcasting Event
- ایجاد پیام ها و تست آنها
- فرم های ارسال پیام و استفاده از jQuery
- موقعیت جغرافیایی کاربر
- استایل دادن به صفحه چت کاربران
- نمایش پیام ها
- استفاده از کتابخانه Moustache.js
- راه اندازی قابلیت اسکرول خودکار (Autoscolling)
- ساخت یک صفحه Join
- ارسال اطلاعات به اتاق ها
- استفاده از Socket.io در اتاق ها
- ذخیره کاربران با استفاده از کلاس ها در ES6
- ذخیره لیست کاربران
- ارسال پیام ها به اتاق ها
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای دوره پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.