هیچ دوره ای در سبد خرید شما وجود ندارد
شروع کار با Node JS
Node.js پلتفرمی ( ویکی پدیا ) است بر پایه موتور جاوااسکریپت کروم که به منظور طراحی و تولید برنامه های سریع و قابل گسترش ایجاد شده است. در گذشته جاوااسکریپت بیشتر در صفحات وب و در قسمت کلاینت برنامه های وبی مورد استفاده قرار میگرفت. با ظهور nodejs امکان تولید نرم افزار سمت سرور با استفاده از جاوااسکریپت به راحتی امکان پذیر شده است.
چرا باید از Node JS استفاده کرد؟
زبانهای برنامه نویسی PHP و Ruby و Java واقعا عالی هستند ولی با تعداد کانکشن بالا مشکل دارند، مثلا اگر یک سرور با 10 گیگ رم داشته باشیم حداکثر در این سرور میتوان 4 هزار کانکشن ایجاد کرد و برای افزایش امکان پذیرش کاربران باید سرورهای بیشتری اجاره کرد و این یعنی هزینههای سرسام آورNodeJS بدلیل ماهیت خاصی که دارد پاسخگوی تعداد زیادی در خواست است به نحوی که در سرور فوق الذکر میتواند تعداد بسیار زیادی Connection ایجاد کرده و به همه آنها پاسخگو باشد.
مزایای Node JS
- پاسخگوی تعداد زیادی کاربر و بسیار سریع
- نیاز نداشتن به درگیر شدن در مباحثی پیچیده مانندthread-safety و Multithreading
- جامعه کاربری بزرگ و Package Manger بزرگ
- متن باز بودن
- در هر سیستم عاملی از جمله لینوکس، ویندوز، مک قابل پیاده سازی است.
Node Js و پکیج هایش !
Node.jsرا دنیای packageهای بیشمار آن قدرتمند کرده است.
تا کنون packageهای زیادی برای پلتفرم Nodejs نوشته شده است.
سیستم مدیریت پکیجهای Nodejs با عنوان NPM مخفف (Node Packages Manager) وظیفهی مدیریت Packageهای Nodejs را بر عهده دارد.
کجا از Node JS استفاده کنیم؟
اگر سایت یا اپلیکیشنی مد نظر دارید که تبادل اطلاعات سنگین نیاز دارد و میخواهیم چند ارتباط همزمان داشته باشیم Nodejs انتخاب خوبی نسبت به زبانهایی نظیر Php خواهد بود.
بهطور کلی برای موارد زیر نود جی اس انتخاب خوبی هست :
- نرمافزارهای محدودهی I/O
- نرمافزارهای جریان دادهای (Data Streaing)
- دادههای نرمافزارهای در لحظه (Real-Time)
- برنامههای مبتنی بر Json API
- برنامههای تک صفحهای
Node JS محبوب دل بزرگان !
شرکتهای غولپیکر نظیر مایکروسافت، یاهو، ebay ،Paypal ، نت فلیکس، و … از نود جی اس استفاده میکنند.
این اعتماد خود نشان از قدرت Nodejs است که به راحتی نمیتوان از آن گذشت.
مثلا اگر سایتی داریم که صرفا عملیات ساده CRUD دارد حتی یک وردپرس ساده انتخاب بهتری هست اما اگر یک سایت با عملیات I/O بالا یا به صورت Realtime نیاز داریم آنجا هست که نود جی اس گزینه خوبی هست.
پس انتخاب ما صرفا نباید برای مبنای اینکه نود جی اس خفن یا محبوب یا جدید هست باشد بلکه باید دقیقا مبتنی بر نیازها باشد.
بازار کار Node JS
کافیست به سایتjobinja که در حوزه اشتغال فعال هست نگاهی بیاندازیم، آگهی هایی مشاهده خواهیم کرد که برای برنامه نویس نود جی اس، دستمزدهای ماهیانه بین ۵ میلیون تا ۸ میلیون ثبت کرده اند
یادگیری Nodejs ارزشش را دارد پس حرفه ای شوید و تلاش کنید تا سوپراستار این حوزه باشید.
پیش نیاز های دوره آموزش NodeJS و RESTfull API
آشنایی جزئی با JavaScript
پروژه دوره
در انتهای دوره آموزش NodeJS و RESTfull API پروژه ای کاربردی با Angular و Node JS برای درک بیشتر مفاهیم زده خواهد شد
سرفصل های آموزش NodeJS و RESTfull API
بخش اول: مقدمه
- Node Js چیست؟
- معماری Node JS
- Node Js چگونه کار می کند؟
- نصب Node JS
- اولین پروژه Node JS
بخش دوم: سیستم Node Module
- مقدمه
- Global Object ها
- ماژول ها
- ساخت ماژول
- اجرای ماژول
- فانکشن Module wrapper
- Path Module
- Os Module
- ماژول File System
- Event Module ها
- Event Arguments
- مبحث Event Emitter
- HTTP Module ها
بخش سوم: NPM
- مقدمه
- فایل Package.json
- نصب Node Package
- وابستگی های پکیج ها
- NPM Package و Source control
- Sematic Versioning
- لیست کردن پکیج های نصب شده
- مشاهده اطلاعات رجیستری برای یک بسته
- نصب ورژن خاصی از یک پکیج
- به روزرسانی پکیج
- DevDependencies
- حذف پکیج ها
- کار با Global Package ها
- انتشار یک بسته
- به روز رسانی پکیج منتشر شده
بخش چهارم: ساخت RESTful API به وسیله Express
- مقدمه
- سرویس RESTful
- مقدمه Express
- ساخت اولین وب سرور
- Nodemon
- Environment Variables
- پارامتر های Route
- درخواست های GET
- درخواست های POST
- استفاده از Postman
- Input Validation
- درخواست های PUT
- درخواست های DELETE
- پروژه – ساخت API
بخش پنجم: مباحث پیشرفته Express
- مقدمه
- Middleware ها
- ساخت Middleware
- Middleware های داخلی
- Third-party Middleware
- Environments
- Configuration
- عیب یابی
- Templating Engine
- ادغام DataBase
- احرازهویت
- قالب نرم افزار های Express
- پروژه – بازسازی برنامه
بخش ششم: Asynchronous JavaScript
- Synchronous and Asynchronous
- الگو برخورد با کد های Asynchronous
- Callbacks
- Callback hell
- نام گزاری توابع برای بهتر شدن برنامه
- Promise
- جایگزاری Callback به جای Promise
- Promise های پرمصرف
- ایجاد Promise های تنظیم شده
- Promise های موازی
- Async and Await
- تمرین
بخش هفتم: عملیات CRUD با استفاده از MongoDB
- مقدمه MongoDB
- نصب MongoDB بر روی Mac
- نصب MongoDB برروی Windows
- اتصال به MongoDB
- Schema
- Models
- ذخیره اسناد
- Querying Documents
- مقایسه Query Operators
- Query Operator های منظقی
- عبارات با قائده
- شمارش
- صفحه بندی
- تمرین 1
- تمرین 2
- تمرین 3
بخش هشتم: Mogoose – اعتبار سنجی داده ها
- اعتبار سنجی
- اعتبار سنج های داخلی
- Custom Validation
- Validation Async
- Validations Error
- Schema Type Options
- پروژه – اضافه کردن پایداری به API ها
- پروژه – ساخت API مشتریان
- بازسازی پروژه
بخش نهم: Mongoose – مدل سازی و رابطه بین داده های متصل
- مدل سازی رابطه ها
- Refrencing Documents
- Population
- Embedding Documents
- استفاده از آرایه Sub-Document
- پروژه – ساخت API
- پروژه – ساخت API
- معاملات
- Object ID
- اعتبارسنجی Object ID ها
- پیاده سازی بهتر
بخش دهم: Authentication and Authorization
- مقدمه
- ساخت مدل کاربران
- ثبت نام کاربران
- استفاده از Lodash
- هش کردن رمز عبور
- احرازهویت کاربران
- تست کردن احرازهویت
- JWT (JSON Web Token)
- ساخت توکن احرازهویت
- ذخیره اطلاعات در Environment Variables
- ست کردن Header
- مفاهیم Encapsulation
- Authorization Middleware
- محافظت از Route ها
- اطلاعات کاربر جاری
- خروج کاربران
- سمت بر حسب Authorization
- تست احرازهویت
بخش یازدهم: پروژه کاربردی
- انجام یک پروژه کاربردی به وسیله Angular و Node JS
سید محسن قاضی مرعشی
از بهترین دوره های node js هست، خیلی عالی
ممنون از سایت دانشجویار بابت این دوره
forge1803
سلام، خواستم بدونم این دوره برای بک اند نویسی برای اندروید خوبه؟ برای فلاتر و برنامه نویسی اندروید و بک اند؟!
amirhossein.Kh مدرس دوره
سلام وقت بخیر
بله این دوره پایه های node js رو شامل میشه
شما هم میتونید از خود فریم ورک express برای بکند اندروید و بقیه اپ ها استفاده کنید و هم میتونید از parse platform استفاده کنید
forge1803
سلام مجدد، ممنون بابت پاسخگویی، میشه یکم مفصل تر و واضح تر توضیح بدید؟؟ من تو مبحث بک اند تازه واردم و میشه گفت هیچی نمیدونم و میخوام زودتر شروع به یادگیری کنم در حدی که بتونم ازش تو برنامه نویسی فلاتر و اندروید استفاده کنم
و خواهش دارم که راهنمایی کنید چیکار کنم؟ اگه این دوره شما روببینم به اون درجه که میخوام میرسم؟ یا باید دوره دیگری یا مبحث دیگری رو دنبال کنم؟؟؟
amirhossein.Kh مدرس دوره
خیلیم عالی
با این دوره میتونید کاملا یک اپ بکند با Node.JS بسازید و اون رو با هر فریم ورک فرانت متصل کنید
lost2121 دانشجوی دوره
سلام وقت بخیر
بخش چهارم – قسمت دوم – کار با Express مشکل داره و صدا و تصویر هماهنگ نیست و به هیچ وجه قابل استفاده نیست.
محمد تیموری
سلام ممنونم بابت دوره
باتوجه به سرفصل های که گفتین دوره کامل و جامعی هست و تمامی مطالب رو بیان کردین. بازم ممنون
amirhossein.Kh مدرس دوره
سلام
خواهش می کنم
نظر لطف شماست.
بهنام
سلام با این می تونیم api های آماده مثلا api های خرید بلیط هواپیما و قطار و غیره رو روی سایت نصب کنیم ؟
امیرحسین خجسته مدرس دوره
سلام وقتتون بخیر
بله شما میتونید از api های مختلف توی پروژه node js خودتون استفاده کنید
mr.mrk
قسمت ششم بخش دوم این آموزش مشکل داره لطفآ تصحیح و منتشر کنید و رایگان لینکش رو به عنوان نمونه بگذارید که راحت و بی دردسر بگیریم دوباره نریم توی ایمیل
amirhossein.Kh مدرس دوره
وقت بخیر
بنده به پشتیبانی اطلاع میدم
mr.mrk
این قسمت موقع دانلود جلوش یه یک داره که گفتن پشتیبانی مخصوصآ گذاشتیم ملت دانلود نکنند مشکل داره اما من یک رو برداشتم دانلود کردم قسمتش مشکلی نداشت ! حالا نفهمیدم مشکلش چیه و بالا هم پخش نمیشه در سایت
امیرحسین خجسته مدرس دوره
وقت بخیر
این قسمت مشکلش حل شد
میتونید دانلود کنید
developer056
معذرت میخوام،اصلا از آموزشتون راضی نبودم و انگار شما برا کسی دارید درس میدید که ده ساله داره nodejs کار میکنه
amirhossein.Kh مدرس دوره
خواهش میکنم.
این دوره نیاز به آشنایی جزئی با JavaScript داره.
در عین حال بنده سعی کردم مطالب آموزشی رو از پایه شروع کنم.
hosein.janalipour1
سلام
با توجه به اینکه برای عنوان nodejs آموزش ویدیویی فارسی خیلی کم هستش جا داره از شما برای انجام این کار تشکر کرد ولی بنده یه سوال دارم از خدمتتون :
برای nodejs در سرور حتما باید ترمینال داشته باشیم؟
و با توجه به مطلب فوق این کار در هاست های اشتراکی غیر ممکن نخواهد بود
درس میگم یا خیر؟
amirhossein.Kh مدرس دوره
با سلام و خسته نباشید
بله کاملا فرمایش شما درست هستش.بهتره که از هاست های مجازی (VPS) یا هاست های اختصاصی استفاده بشه.