اگر پیش از این با زبان JavaScript در مرورگرها کار کرده باشید، شاید این سوال برای شما هم پیش آمده باشد که "آیا می‌توان JavaScript را خارج از محیط مرورگر استفاده کرد؟". اگر اینطور است باید بدانید که پاسخ سوال شما مثبت است.

Node.js یک Runtime Environment (یا محیط زمان اجرا) برای زبان جاوا اسکریپت است که امکان اجرای برنامه‌های جاوا اسکریپت را خارج از محیط مرورگر فراهم می‌کند.

با استفاده از Node.js می‌توان برنامه‌های جاوا اسکریپت را مستقیما روی سیستم عامل اجرا کرد. در نتیجه امکان دسترسی به منابع سیستم عامل (مانند فایل‌ها و یا دیتابیس) با استفاده از Node.js فراهم خواهد بود.

امروزه Node.js کاربردهای گسترده‌ای در دنیای نرم‌افزار دارد. اما مهمترین کاربرد آن برنامه نویسی سمت سرور یا Backend برای وبسایت‌ها می‌باشد. و جالب است بدانید که بسیاری از وبسایت‌های مشهور جهان با Node.js کار می‌کنند. و تعداد این سایت‌ها روز به روز در حال افزایش است.

از جمله مشهورترین سایت‌هایی که با Node.js کار می‌کنند می‌توان به مواردی مانند Uber، Netflix، Mozilla، NASA، Paypal و ... اشاره کرد.

در این دوره آموزشی قصد داریم تا این تکنولوژی قدرتمند را به صورت جامع مورد بررسی قرار داده و با جزئیات آن جهت برنامه نویسی Backend آشنا شویم. البته Node.js علاوه بر برنامه نویسی Backend کاربردهای دیگری نیز دارد که در این دوره به آنها نمی‌پردازیم. و تمرکز ما در این دوره بر روی برنامه نویسی Backend است.

البته بعد از یادگیری مباحث این دوره، یادگیری کاربردهای دیگری مانند برنامه نویسی Desktop با Node.js و فریمورک‌هایی مانند Electron کار بسیار ساده‌ای خواهد بود.

توجه : این دوره در حال ضبط و تکمیل شدن است. نهایت سعیم را خواهم کرد که این دوره هرچه سریعتر تکمیل شود. اما هیچ زمان دقیقی را برای تکمیل شدن دوره نمی‌توانم تعیین کنم. لطفا در این مورد سوال نفرمایید و جهت اطلاع از به روز رسانی دوره، اینستاگرام یا لینکدین مدرس را دنبال کنید

توجه : ویدئوهای جدید این دوره یک یا دو بار در ماه آپلود می‌شوند و به صورت درس به درس آپلود نخواهند شد. تعداد ویدئوهایی که در هر به روز رسانی آپلود می‌شوند هم مشخص نیست. هر تعداد که ضبط شده باشد آپلود خواهد شد.




فهرست دروس دوره
  • آشنایی اولیه با Node.js و ویژگی‌های آن
    • معرفی دوره و پیش‌نیازها
      ۱۴ دقیقه
    • معرفی سرفصل‌های دوره
      ۲۸ دقیقه
    • نصب Node.js بر روی ویندوز و تفاوت نسخه‌های Node.js
      ۱۹ دقیقه
    • نصب Node.js بر روی لینوکس
      ۱۴ دقیقه
    • Node.js چیست؟ - بخش اول
      ۲۰ دقیقه
    • Node.js چیست؟ - بخش دوم
      ۱۹ دقیقه
  • شروع کار با Node.js و آشنایی با برخی ماژول‌های آن
    • اشیاء سراسری در Node.js
      ۲۴ دقیقه
    • کار با ماژول fs - بخش اول
      ۴۰ دقیقه
    • کار با ماژول fs - بخش دوم
      ۳۸ دقیقه
    • کار با ماژول‌های os و path
      ۲۶ دقیقه
  • آشنایی با Node Module System و مدیریت پکیج‌ها با NPM
    • ایجاد ماژول‌های جدید
      ۴۶ دقیقه
    • شروع کار با NPM
      ۳۳ دقیقه
    • آشنایی با Semantic Versioning و فایل package-lock.json
      ۳۵ دقیقه
    • نکات تکمیلی NPM و مدیریت پکیج‌ها - بخش اول
      ۳۶ دقیقه
    • نکات تکمیلی NPM و مدیریت پکیج‌ها - بخش دوم
      ۴۵ دقیقه
    • نکات تکمیلی NPM و مدیریت پکیج‌ها - بخش سوم
      ۴۵ دقیقه
    • انتشار پکیج روی NPM
      ۳۵ دقیقه
    • آشنایی با ماژول سیستم ESM - بخش اول
      ۴۱ دقیقه
    • آشنایی با ماژول سیستم ESM - بخش دوم
      ۴۸ دقیقه
  • آشنایی با برخی مفاهیم مهم در Node.js و معرفی چند ماژول دیگر
    • مقدمه‌ای بر شی‌گرایی در جاوا اسکریپت - بخش اول
      ۵۲ دقیقه
    • مقدمه‌ای بر شی‌گرایی در جاوا اسکریپت - بخش دوم
      ۶۲ دقیقه
    • مقدمه‌ای بر شی‌گرایی در جاوا اسکریپت - بخش سوم
      ۵۶ دقیقه
    • آشنایی با رویدادها و ماژول events
      ۵۱ دقیقه
    • نمونه‌هایی از کاربرد رویدادها
      ۴۴ دقیقه
    • آشنایی با ماژول buffer
      ۳۸ دقیقه
    • آشنایی با ماژول zlib
      ۴۶ دقیقه
    • آشنایی با Stream ها در Node.js - بخش اول
      ۵۴ دقیقه
    • آشنایی با Stream ها در Node.js - بخش دوم
      ۵۳ دقیقه
    • آشنایی با ماژول‌های url و http
      ۴۵ دقیقه
  • آشنایی با چند پکیج پرکاربرد و انجام اولین پروژه در CLI
    • آشنایی با پکیج‌های chalk و dotenv
      ۵۷ دقیقه
    • کار با فایل‌های CSV در Node.js
      ۵۲ دقیقه
    • آشنایی با پکیج axios
      ۴۹ دقیقه
    • آشنایی با پکیج inquirer
      ۳۰ دقیقه
    • پروژه Task Manager در خط فرمان - بخش اول
      ۵۲ دقیقه
    • پروژه Task Manager در خط فرمان - بخش دوم
      ۴۴ دقیقه
    • پروژه Task Manager در خط فرمان - بخش سوم
      ۴۲ دقیقه
    • پروژه Task Manager در خط فرمان - بخش چهارم
      ۴۱ دقیقه
    • پروژه Task Manager در خط فرمان - بخش پنجم
      ۴۰ دقیقه
  • آشنایی اولیه با فریمورک Express
    • ایجاد وب سرور با ماژول http
      ۶۱ دقیقه
    • شروع کار با فریمورک Express
      ۵۳ دقیقه
    • آشنایی با Middleware ها - بخش اول
      ۵۵ دقیقه
    • آشنایی با Middleware ها - بخش دوم
      ۵۲ دقیقه
    • آشنایی با Middleware ها - بخش سوم
      ۵۲ دقیقه
    • پروژه Task Manager با Express - بخش اول
      ۴۶ دقیقه
    • پروژه Task Manager با Express - بخش دوم
      ۶۰ دقیقه
    • پروژه Task Manager با Express - بخش سوم
      ۵۰ دقیقه
  • آشنایی با معماری MVC و Template Engine ها
    • آشنایی با معماری MVC
      ۵۸ دقیقه
    • آشنایی با موتور قالب EJS
      ۵۶ دقیقه
  • آشنایی با مفهوم و کاربرد REST API
    • آشنایی با مفهوم API
      ۹۶ دقیقه
    • آشنایی با REST API - بخش اول
      ۵۱ دقیقه
    • آشنایی با REST API - بخش دوم
      ۶۵ دقیقه
    • آشنایی با REST API - بخش سوم
      ۵۸ دقیقه
    • آشنایی با REST API - بخش چهارم
      ۵۹ دقیقه
  • کار با پایگاه داده MySQL
    • آشنایی با مفهوم پایگاه داده
      ۱۹ دقیقه
    • مفاهیم اولیه در رابطه با پایگاه‌های داده رابطه‌ای
      ۱۹ دقیقه
    • مروری بر تاریخچه پایگاه‌های داده رابطه‌ای
      ۱۶ دقیقه
    • نصب MySQL بر روی ویندوز
      ۱۲ دقیقه
    • نصب MySQL بر روی لینوکس
      ۹ دقیقه
    • آشنایی با محیط MySQL Workbench
      ۲۴ دقیقه
    • آشنایی با قوانین اولیه زبان SQL
      ۱۶ دقیقه
    • ساخت دیتابیس و آشنایی با مفاهیم Charset و Collation
      ۲۲ دقیقه
    • آشنایی اولیه با ساخت جدول‌ها
      ۲۹ دقیقه
    • آشنایی با دستور INSERT
      ۳۳ دقیقه
    • آشنایی با دستور SELECT - بخش اول
      ۲۹ دقیقه
    • آشنایی با دستور SELECT - بخش دوم
      ۲۶ دقیقه
    • آشنایی با دستور UPDATE
      ۱۹ دقیقه
    • آشنایی با دستورهای DELETE و TRUNCATE
      ۱۷ دقیقه
    • متغیرها در MySQL
      ۲۳ دقیقه
    • آشنایی با دستورهای آماده در MySQL
      ۱۶ دقیقه
    • جزئیات بیشتر در رابطه با ساخت جدول‌ها
      ۲۵ دقیقه
    • انواع داده‌های عددی در MySQL
      ۳۲ دقیقه
    • انواع داده‌های رشته‌ای در MySQL
      ۳۳ دقیقه
    • آشنایی با انواع داده ENUM و SET
      ۲۴ دقیقه
    • انواع داده تاریخ و زمان در MySQL
      ۳۹ دقیقه
    • اعمال محدودیت بر روی جدول‌ها
      ۲۵ دقیقه
    • کلید خارجی و روابط بین جدول‌ها
      ۳۰ دقیقه
    • ویرایش ساختار دیتابیس‌ها و جدول‌ها
      ۳۳ دقیقه
    • پیوند جدول‌ها - بخش اول
      ۴۰ دقیقه
    • پیوند جدول‌ها - بخش دوم
      ۳۰ دقیقه
    • انواع روابط بین جدول‌ها
      ۳۸ دقیقه
    • آشنایی با توابع تجمعی در MySQL
      ۱۰ دقیقه
    • آشنایی با گروه بندی در MySQL
      ۴۶ دقیقه
    • توابع پنجره‌ای (Window Functions) در MySQL
      ۳۲ دقیقه
    • پرس و جوهای فرعی (Subquery) در MySQL
      ۶۲ دقیقه
    • آشنایی با عملگرهای LIKE و REGEXP
      ۳۵ دقیقه
    • آشنایی با برخی توابع پرکاربرد در MySQL
      ۳۹ دقیقه
    • آشنایی با تراکنش‌ها
      ۱۴ دقیقه
    • ایندکس گذاری در MySQL
      ۵۰ دقیقه
    • کار با MySQL در Node.js
      ۴۱ دقیقه
    • اصلاحیه ای بر فصل هشتم
      ۲۳ دقیقه
    • پروژه Task Manager با MySQL - بخش اول
      ۳۹ دقیقه
    • پروژه Task Manager با MySQL - بخش دوم
      ۳۲ دقیقه
    • شروع کار با پکیچ Sequelize
      ۴۵ دقیقه
    • تعریف مدل ها در Sequelize - بخش اول
      ۳۲ دقیقه
    • تعریف مدل ها در Sequelize - بخش دوم
      ۲۶ دقیقه
    • عملیات CRUD در Sequelize - بخش اول
      ۳۹ دقیقه
    • عملیات CRUD در Sequelize - بخش دوم
      ۳۰ دقیقه
    • عملیات CRUD در Sequelize - بخش سوم
      ۴۲ دقیقه
    • پروژه Task Manager با Sequelize
      ۴۱ دقیقه
    • روابط بین جدول ها (مدل ها) در Sequelize - بخش اول
      ۲۸ دقیقه
    • روابط بین جدول ها (مدل ها) در Sequelize - بخش دوم
      ۲۶ دقیقه
    • روابط بین جدول ها (مدل ها) در Sequelize - بخش سوم
      ۳۱ دقیقه
    • روابط بین جدول ها (مدل ها) در Sequelize - بخش چهارم
      ۲۷ دقیقه
    • خواندن داده ها به صورت Eager Loading
      ۳۸ دقیقه
    • آشنایی با Setter ها، Getter ها و فیلدهای مجازی
      ۳۰ دقیقه
    • مباحث تکمیلی Sequelize - بخش اول
      ۳۳ دقیقه
    • مباحث تکمیلی Sequelize - بخش دوم
      ۲۷ دقیقه
    • مباحث تکمیلی Sequelize - بخش سوم
      ۳۵ دقیقه
    • مباحث تکمیلی Sequelize - بخش چهارم
      ۳۸ دقیقه
  • آشنایی با فریمورک React
    • React چیست؟ (کتابخانه یا فریمورک)
      ۵۴ دقیقه
    • آشنایی با ابزار Vite و شروع کار با React
      ۲۴ دقیقه
    • آشنایی با مفهوم Component و کاربرد آن
      ۲۲ دقیقه
    • آشنایی با JSX و قواعد آن
      ۵۰ دقیقه
    • آشنایی با مفهوم Props و کاربرد آن
      ۳۶ دقیقه
    • رویدادها در React
      ۳۳ دقیقه
    • آشنایی با مفهوم State - بخش اول
      ۵۲ دقیقه
    • آشنایی با مفهوم State - بخش دوم
      ۷۱ دقیقه
  • پروژه عملی اول
  • کار با پایگاه داده MongoDB
  • مباحث پیشرفته در رابطه با فریمورک Express
  • آشنایی با برخی مباحث متفرقه
  • احراز هویت و امنیت در Node.js
  • پروژه عملی دوم
  • ارتباطات Real-time در Node.js
  • پروژه عملی سوم
  • انتقال پروژه به سرور (Deployment)
  • Performance در برنامه‌های Node.js

ارتباط با مدرس (مشاهده رزومه)
ایمیل abbassac@gmail.com
مشخصات دوره
  • مدرس عباس مقدم
  • زمان آموزش فعلا ۷۳ ساعت
  • وضعیت دوره در حال تکمیل
  • تعداد ثبت نام ۱۰۶ نفر
  • تعداد درس ۱۱۷ درس
  • سطح دوره پیشرفته
  • امتیاز دوره ۵ از ۱۶۳ رای
  • قیمت دوره ۶۰۰,۰۰۰ تومان
ثبت نام
درباره مدرس
avatar
عباس مقدم

برنامه نویسی رو تقریباً از سال ۸۱ به صورت آماتور شروع کردم (در ابتدا با QBasic) و از سال ۸۲ برای اولین بار کار طراحی سایت رو شروع کردم (البته به صورت آماتور).
تقریباً از سال ۹۰ به صورت جدی کار برنامه نویسی وب و طراحی سایت رو دنبال می‌کنم.
رزومه کاریم هم تقریبا خالیه. یعنی نه پروژه آنچنانی انجام دادم و نه با شرکتها و سازمانهای بزرگی همکاری داشتم. نه با خارجی‌ها کار کردم، نه خارج رفتم و نه قصد مهاجرت دارم.
ولی به یادگیری و یاد دادن خیلی علاقه‌مندم، و امیدوارم آموزش‌های من در این سایت رضایت کاربران رو جلب کنه.

جهت درج دیدگاه باید وارد حساب خود شوید

دیدگاه ها


علی بیگی
پاسخ دهید
سلام استاد وقتتون بخیر باشه
میخواستم یه پروژه دسکتاپ با استفاده از الکترون و ویت بنویسم .ممنون میشم اگه منبعی در این مورد سراغ دارید بهم معرفی کنید
ممنون از شما
عباس مقدم
سلام
متاسفانه آموزش خاصی رو سراغ ندارم. چون خیلی از الکترون استفاده نکردم. آخرین باری هم که استفاده کردم چند سال پیش بوده
ارمین قوچکانلو
پاسخ دهید
استاد عزیز دوره ادامه نخواهد داشت؟ :(
عباس مقدم
سلام
احتمالا یکماه دیگه میتونم ادامه بدم
ابراهیم شعبانپور
پاسخ دهید
آقای مقدم عزیز سلام.
یه سوال درمورد استریم ها داشتم . واقعیتش 5بار فیلم رو در بازه زمانی متفاوت دیدم و برداشتی که از استریم ها نصیبم شد اینه که استریم کردن (ساختن یا استریمینگ) روی یک فایل در واقع یه جورایی واچر(watcher) گذاشتن روی اون فایله.مثلا وقتی یک استریم readable می سازیم این استریمه که میاد محتویات اون فایل رو هر بار چک میکنه و بخشی از اون رو می خونه وتو بافر قرار میده و بعد خبر میده که تکه ای از فایل آماده خوندنه و اون هندلر صدا زده میشه و... . خواستم بگم این تحلیل درسته یا اشکال داره .
متشکرم.
عباس مقدم
سلام
بستگی داره منظورتون از واچر چی باشه
ما یه واچر دیگه هم داریم که روی فایلها عمل میکنه و تغییرات محتوای فایل رو watch میکنه. اگه منظورتون اونه. نه برداشتتون درست نیست
اما اگه منظورتون یه جور Event handler باشه که خونده شدن تکه از فایل رو هندل میکنه. بله درسته
امیرحسین محمودی
پاسخ دهید
سلام استاد
روزتون مبارک 🎉
عباس مقدم
سلام
خیلی ممنون
آروان شهیدی
پاسخ دهید
سلام استاد وقت بخیر
می خواهم با socket.io یه سرویس چت آنلاین ایجاد کنم
فقط نمی دونم سمت بک اند چه جوری چت ها رو باید نمایش بدم
سمت فرانت اند توی بیشتر سایت ها می دونیم که میان گوشه پایین معمولا یه باکسی رو که با کلیک باز و بسته میشه قرار میدن که داخلش یه اینپوت و شاید یه فرمی جهت اطلاعات کاربر قرار داره
این قسمت فرانتشو پیاده کردم ولی سمت بک اند نمی دونم منطقش چه جوریه؟!
مثلا چه جوری چت ها رو نمایش میدن.
اگه امکانش بود راهنمایی کنید

کد ها رو نمی تونم داخل گیت پابلیک کنم ولی اگه سوالم گنگ باشه می تونم براتون ارسالش کنم
عباس مقدم
سلام
این یه چیز سلیقه ایه و نمیشه براش یه قانون ثابت گفت
میتونید یه سری از پلاگین های مربوط به چت و پشتیبانی توی وردپرس رو بررسی کنید و از اونها ایده بگیرید
آروان شهیدی
باشه مرسی
جواد جی تی
پاسخ دهید
سلام استاد
تولدتون مبارک
عباس مقدم
سلام
خیلی ممنون
آروان شهیدی
پاسخ دهید
سلام استاد
راهی هست که یه مدرک معتبر خارجی هم تراز با مدرک لیسانس(مهندسی نرم افزار) دانشگاه های داخلی بگیرم
عباس مقدم
سلام
توی شبکه مدرک معتبر زیاده (مثل مدارک سیسکو یا میکروتیک)
ولی تو برنامه نویسی مدارکی که اونقدر اعتبار داشته باشه من نمیشناسم
معتبرترینش مدارک مایکروسافته. که باز هم اعتبارش تو بازار کار به اندازه مدارک سیسکو نیست
تو برنامه نویسی بیشتر تجربه و نمونه کار مهمه
مدرک زیاد ملاک نیست. چه دانشگاهی و چه غیر دانشگاهی
آروان شهیدی
خیلی ممنون استاد

مدرک دانشگاهی خودم تا حدود کمی مرتبط با برنامه نویسی است منتهی چندان معتبر نیست
علاقه داشتم اومدم سمت برنامه نویسی الان هم می خوام بعد گرفتن مدرک زبان انگلیسی سراخ یه مدرک معتبر برنامه نویسی برم که توی آینده به مشکل نخورم
در مورد مهارت ها هم روی javascript تمرکز کردم و تا حدودی هم یاد گرفتم.

مهدی ربانی
پاسخ دهید
بسیار سپاسگزارم بابت پاسخ به سوال قبلی.
لطفا در مورد تفاوت ماژول و کتابخونه هم بفرمایید.
عباس مقدم
با توجه به زبان برنامه نویسی، تعریف اینها متفاوته
کتابخونه به مجموعه ای از توابع و کلاسها و ... گفته میشه که برای انجام کار خاصی نوشته شده که دیگران توی پروژه هاشون استفاده کنن و این کدها رو از اول ننویسن (مثل jQuery یا حتی React و Vue)
ماژول توی بعضی از زبانها با کتابخونه یکسان در نظر گرفته میشه
ولی تو جاوا اسکریپت تعریفش متفاوته.
تو جاوا اسکریپ به هر فایل برنامه یه ماژول گفته میشه (البته ممکنه یه ماژول داخل خودش از ماژولهای دیگه هم استفاده کنه، ولی از دید برنامه نویس هر فایلی که ازش import میکنیم یه ماژول حساب میشه)
نیلوفر خدابخشی
پاسخ دهید
وقتتون بخیر

بنظرتون چرا سایت نود-جی اس فیلتر شده ؟
https://nodejs.org/en
عباس مقدم
سلام
فیلتر نیست. مشکل از اینترنت شماست احتمالا
آروان شهیدی
سلام

موقع نصب ماژول ها توی حالت idealTree buildDeps قرار می گیره؟
علی محمودی
پاسخ دهید
سلام استاد.
در فصل MongoDB لطفا مباحث aggrocate ها رو کامل میگین؟
علی محمودی
Aggregate منظورم بود
عباس مقدم
سلام
بله

سایر دوره‌های آموزشی

آموزش API های جاوا اسکریپت در مرورگر

۴۰۰,۰۰۰ تومان ۴.۷

اصول برنامه نویسی با JavaScript

رایگان ۴.۹

آموزش جامع عبارات منظم (Regular Expressions)

رایگان ۴.۹