اگر پیش از این با زبان 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 |
مشخصات دوره
- مدرس عباس مقدم
- زمان آموزش فعلا ۷۳ ساعت
- وضعیت دوره در حال تکمیل
- تعداد ثبت نام ۱۰۳ نفر
- تعداد درس ۱۱۷ درس
- سطح دوره پیشرفته
- امتیاز دوره ۵ از ۱۶۱ رای
- قیمت دوره ۶۰۰,۰۰۰ تومان
درباره مدرس
عباس مقدم
برنامه نویسی رو تقریباً از سال ۸۱ به صورت آماتور شروع کردم (در ابتدا با QBasic) و از سال ۸۲ برای اولین بار کار طراحی سایت رو شروع کردم (البته به صورت آماتور).
تقریباً از سال ۹۰ به صورت جدی کار برنامه نویسی وب و طراحی سایت رو دنبال میکنم.
رزومه کاریم هم تقریبا خالیه. یعنی نه پروژه آنچنانی انجام دادم و نه با شرکتها و سازمانهای بزرگی همکاری داشتم. نه با خارجیها کار کردم، نه خارج رفتم و نه قصد مهاجرت دارم.
ولی به یادگیری و یاد دادن خیلی علاقهمندم، و امیدوارم آموزشهای من در این سایت رضایت کاربران رو جلب کنه.
برچسب ها
جهت درج دیدگاه باید وارد حساب خود شوید
دیدگاه ها
جواد جی تی
تولدتون مبارک
عباس مقدم
خیلی ممنون
آروان شهیدی
راهی هست که یه مدرک معتبر خارجی هم تراز با مدرک لیسانس(مهندسی نرم افزار) دانشگاه های داخلی بگیرم
عباس مقدم
توی شبکه مدرک معتبر زیاده (مثل مدارک سیسکو یا میکروتیک)
ولی تو برنامه نویسی مدارکی که اونقدر اعتبار داشته باشه من نمیشناسم
معتبرترینش مدارک مایکروسافته. که باز هم اعتبارش تو بازار کار به اندازه مدارک سیسکو نیست
تو برنامه نویسی بیشتر تجربه و نمونه کار مهمه
مدرک زیاد ملاک نیست. چه دانشگاهی و چه غیر دانشگاهی
آروان شهیدی
مدرک دانشگاهی خودم تا حدود کمی مرتبط با برنامه نویسی است منتهی چندان معتبر نیست
علاقه داشتم اومدم سمت برنامه نویسی الان هم می خوام بعد گرفتن مدرک زبان انگلیسی سراخ یه مدرک معتبر برنامه نویسی برم که توی آینده به مشکل نخورم
در مورد مهارت ها هم روی javascript تمرکز کردم و تا حدودی هم یاد گرفتم.
مهدی ربانی
لطفا در مورد تفاوت ماژول و کتابخونه هم بفرمایید.
عباس مقدم
کتابخونه به مجموعه ای از توابع و کلاسها و ... گفته میشه که برای انجام کار خاصی نوشته شده که دیگران توی پروژه هاشون استفاده کنن و این کدها رو از اول ننویسن (مثل jQuery یا حتی React و Vue)
ماژول توی بعضی از زبانها با کتابخونه یکسان در نظر گرفته میشه
ولی تو جاوا اسکریپت تعریفش متفاوته.
تو جاوا اسکریپ به هر فایل برنامه یه ماژول گفته میشه (البته ممکنه یه ماژول داخل خودش از ماژولهای دیگه هم استفاده کنه، ولی از دید برنامه نویس هر فایلی که ازش import میکنیم یه ماژول حساب میشه)
نیلوفر خدابخشی
بنظرتون چرا سایت نود-جی اس فیلتر شده ؟
https://nodejs.org/en
عباس مقدم
فیلتر نیست. مشکل از اینترنت شماست احتمالا
آروان شهیدی
موقع نصب ماژول ها توی حالت idealTree buildDeps قرار می گیره؟
علی محمودی
در فصل MongoDB لطفا مباحث aggrocate ها رو کامل میگین؟
علی محمودی
عباس مقدم
بله
آروان شهیدی
فرق دو تا ماژول bcrypt و bcryptjs چی هست؟
bcryptjs 7 ساله بروز نشده ولی دانلود هفتگی بالایی داره
من bcrypt نصب میکنم اررور میده ،اررورش هم سرچ می کنم میگه نسخه node رو کاهش بدم(شاید هم اشتباهی متوجه شدم)
داخل گیت هاب هم issues داره برای چند سال قبله
ممنون میشم راهنمایی کنید
عباس مقدم
جفتشون یه کار انجام میدن. ولی بهتره از bcrypt استفاده کنید.
امکانات و انعطاف پذیری بیشتری داره (هرچند امکانات پایه تو هر دو یکیه و کار رو راه میدازه)
ضمنا من bcrypt رو با نسخه 20 نود استفاده کردم و مشکلی نداشته
آروان شهیدی
نمی دونم چرا اررور میده
npm ERR! Code 1
npm ERR! path C:\Users\ttl\Desktop\testnpm\node_modules\bcrypt
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node-pre-gyp install --fallback-to-build
البته اررورش خیلی طولانی تره
فعلا از bcryptjs استفاده میکنم
مهدی ربانی
عباس مقدم
اولا که خیلی تعریف دقیق و واضحی وجود نداره (مخصوصا دو مورد اول)، ولی سعی میکنم یه توضیحی بدم
مفسر به نرم افزاری گفته میشه که کدها یا دستورات یک زبان برنامه نویسی رو تفسیر و اجرا میکنه (یا دستورات خط فرمان و ...). مثل مفسر جاوا اسکریپت، مفسر PHP، مفسر خط فرمان لینوکس یا ویندوز و ...
موتور بسته به اینکه کجا استفاده میشه معنی متفاوتی داره. از موتور کولر یا موتور خودرو بگیر تا موتور جستجو و موتور بازی سازی
تو دنیای نرم افزار موتور معمولا به مجموعه ای از ابزارها گفته میشه که یه کار خیلی پیچیده رو، برای کاربر خیلی ساده میکنن. مثلا موتور جستجو کارش اینه که بین میلیاردها صفحه وب جستجو کنه و صفحاتی که عبارت مورد نطر شما رو دارن رو پیدا کنه. یا موتور بازی سازی کارش اینه که محاسبات پیچیده ای که برای ساخت یک بازی گرافیکی لازم هست رو برای برنامه نویس ساده کنه (مثل محاسبات مختصات سه بعدی، تاثیر جاذبه روی اجسام، تشخیص برخورد اجسام و واکنش بعد از برخورد و ...)
البته خیلی وقتها موتور و مفسر به یه معنی استفاده میشن. چون معمولا داخل هر موتوری، یه مفسر وجود داره
اما محیط اجرا کلا متفاوت با این دو مورده.
تنها نرم افزاری که مستقیما روی سخت افزار اجرا میشه، سیستم عامل شماست (در اصل هسته یا کرنل سیستم عامل). پس سخت افزار در واقع "محیط اجرا" برای کرنل سیستم عامل به حساب میاد
بقیه نرم افزارها روی سیستم عامل اجرا میشن. پس سیستم عامل میشه "محیط اجرای" اون نرم افزارها. یعنی بدون سیستم عامل قابل اجرا نیستن. مثلا نرم افزارهایی مثل ورد یا فوتوشاپ یا گوگل کروم، برای اجرا شدن به سیستم عامل نیاز دارن و روی سخت افزار خام قابل اجرا نیستن. پس سیتسم عامل برای اونها محیط اجرا محسوب میشه
اما سیستم عامل تنها محیط اجرای ممکن نیست. بعضی نرم افزارها علاوه بر سیستم عامل، به نرم افزارهای دیگه ای هم برای اجرا نیاز دارن. که در این صورت به اون نرم افزارهای دیگه میگیم "محیط اجرا"
مثلا مرورگر خودش یه محیط اجرا هست. چونکه کدهای HTML و CSS و JavaScript داخل مرورگر تفسیر و اجرا میشن و اگه مرورگری نباشه قابل اجرا نیستن. پس مرورگر میشه محیط اجرای این زبانها
در واقع تمام زبانهای مفسری (مثل JS یا PHP) برای اجرا شدن نیاز به یه مفسر دارن. که این مفسر باز نوعی "محیط اجرا" حساب میشه. چون بدون اون مفسر امکان اجرای برنامه نیست
حالا برای جاوا اسکریپت چندین محیط اجرا وجود داره. که یکیش همون مرورگر هست که گفتم
یکی دیگه Node.js هست.
یکی دیگه Bun.js هست
و ...
یعنی کد جاوا اسکریپت برای اجرا شدن باید داخل یکی از این محیطها اجرا بشه
البته محیط اجرا محدود به مفسر زبان جاوا اسکریپت (یا هر زبانی) نمیشه. و معمولا شامل ابزارهای دیگه ای هم میشه
مثلا Node.js داخل خودش یه مفسر جاوا اسکریپت داره (V8)، و همچنین ابزارهایی برای برقراری ارتباط با دیسک، شبکه، سیستم عامل و ...
مجموعه این ابزارها، محیط اجرای Node.js رو میسازن
کمال قادری
ولی یه چیزی مهمه اونم اینکه دوره تکمیل بشه اونم تو زمان خودش!
خواهش می کنم یه حدی تعیین کنید که با اطمینان بتونیم خرید کنیم.
این برای من خیلی خیلی مهمه
عباس مقدم
هیچ زمانی رو نمیتونم تعیین کنم
توی توضیحات دوره هم گفتم
سعی میکنم زودتر تموم بشه. ولی باید فرصتش پیش بیاد تا بتونم ادامه بدم
ولی مطمئن هستم که در بهترین حالت تا آخر امسال طول میکشه
علی حبیبی
ممنونم
عباس مقدم
هیچ کس به اندازه من دوست نداره این دوره زودتر تموم بشه
ولی متاسفانه فعلا نمیشه
علی حبیبی
عباس مقدم
هر وقت شرایط مساعد شد شروع میکنم. امیدوارم که هرچه زودتر بتونم ادامه بدم.
خودم واقعا خیلی مشتاقم که ادامه بدم. چون تازه به جاهای جذاب دوره رسیدیم
علی حبیبی
کمال قادری
استاد حقیقتاً اومدم دوره رو بخرم ولی دیدم اولین کامنتی که خورده مربوط به ۱۴۰۰/۱۲/۱۱ هست که خیلی وقت برده و تقریباً نصف سرفصل های دوره ضبط شدن، بنابراین نگران شدم که نکنه کلاً دوره به اتمام نرسه!
یه قول بدین که ببینیم دوره کی تموم می شه که با خیال راحت خرید کنیم.
تشکر فراوان
عباس مقدم
هیچ قولی نمیتونم بدم
کمال قادری
Amir Mohamad Mohamadi
عباس مقدم
متاسفانه هنوز معلوم نیست