قیمت محصول : $0.00
شروع کار با Node JS
Node.js پلتفرمی ( ویکی پدیا ) است بر پایه موتور جاوااسکریپت کروم که به منظور طراحی و تولید برنامه های سریع و قابل گسترش ایجاد شده است. در گذشته جاوااسکریپت بیشتر در صفحات وب و در قسمت کلاینت برنامه های وبی مورد استفاده قرار میگرفت. با ظهور nodejs امکان تولید نرم افزار سمت سرور با استفاده از جاوااسکریپت به راحتی امکان پذیر شده است.
چرا باید از Node JS استفاده کرد؟
زبانهای برنامه نویسی PHP و Ruby و Java واقعا عالی هستند ولی با تعداد کانکشن بالا مشکل دارند، مثلا اگر یک سرور با ۱۰ گیگ رم داشته باشیم حداکثر در این سرور میتوان ۴ هزار کانکشن ایجاد کرد و برای افزایش امکان پذیرش کاربران باید سرورهای بیشتری اجاره کرد و این یعنی هزینههای سرسام آور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
- برنامههای تک صفحهای
محبوب دل بزرگان !
شرکتهای غولپیکر نظیر مایکروسافت، یاهو، 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 های منظقی
- عبارات با قائده
- شمارش
- صفحه بندی
- تمرین ۱
- تمرین ۲
- تمرین ۳
بخش هشتم: 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