یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی یه تابستون متفاوت با یه تصمیم هوشمندانه! دوره هوش مصنوعی
🎯 ثبت نام

دوره NodeJS

دوست داری Node.js رو از پایه تا پیشرفته یاد بگیری و به یه برنامه‌نویس حرفه‌ای تبدیل بشی؟ تو این دوره، ما از مبانی جاوااسکریپت و اکما اسکریپت شروع می‌کنیم و قدم به قدم می‌ریم جلو. با MongoDB و Mongoose کار می‌کنیم، معماری MVC رو یاد می‌گیریم و با مفاهیم پایه Node.js و مدیریت پکیج‌ها آشنا می‌شیم. حتی به TypeScript، NPM و ماژول‌های پیشرفته هم می‌پردازیم. در نهایت، با ساخت API، کار با Socket و PostgreSQL، مهارت‌هامون رو کامل می‌کنیم. این دوره کاملاً عملی و پروژه‌محوره، پس اگه می‌خوای تو دنیای برنامه‌نویسی بدرخشی، این فرصت رو از دست نده!

تعداد دانشجو 121 نفر
مدت زمان دوره 97 ساعت و21 دقیقه
سطح دوره متوسط تا پیشرفته
روش دریافت تماشای آنلاین
پیش نیاز ندارد
آخرین بروزرسانی 1404/02/16

سرفصل های دوره

تعداد ویدیوها : 148

برای مشاهده ویدیوها ابتدا دکمه شرکت در دوره را بزنید

فصل اول: آموزش اکما اسکریپت

آموزش نرم‌افزارهای تحت وب
28 دقیقه

در این جلسه، مفاهیم نرم‌افزارهای تحت وب شامل بک‌اند و فرانت‌اند، حوزه‌های کاری با Node.js، چرخه درخواست و پاسخ، و آشنایی با نرم‌افزارهای مقیاس‌پذیر را آموزش می‌دهیم. همچنین دانشجویان با مفاهیم Client و Server آشنا خواهند شد.

آشنایی با معماری Nodejs
34 دقیقه

در این جلسه با معماری و ویژگی‌های Node.js آشنا می‌شوید. همچنین تفاوت زبان‌های مفسری و کامپایلی را بررسی کرده و با زمان‌های اجرای برنامه‌نویسی آشنا خواهید شد. در ادامه، با استاندارد ECMAScript 262 و نقش آن در توسعه نرم‌افزار آشنا می‌شوید. نصب Node.js و Visual Studio Code را فرا خواهید گرفت و در نهایت، اولین برنامه "Hello World" خود را با Node.js خواهید نوشت.

آموزش متغیرها و اجزای کامپیوتر در جاوا اسکریپت
31 دقیقه

در این جلسه با مفهوم متغیر و اجزای کامپیوتر آشنا می‌شوید. نحوه انجام محاسبات کامپیوتری با استفاده از RAM و CPU را فرا خواهید گرفت. با انواع عملگرهای محاسباتی در ECMAScript آشنا می‌شوید. دستورات خط فرمان (ls, cls, mkdir, cd, code .) را یاد می‌گیرید. کار با متغیر var در جاوا اسکریپت را خواهید آموخت و با مفهوم حساسیت به حروف کوچک و بزرگ (Case Sensitive) در جاوا اسکریپت آشنا می‌شوید. همچنین، برنامه جمع دو عدد را نوشته و با دستور console.log() آشنا می‌شوید. در نهایت، قوانین و قراردادهای نامگذاری متغیرها را فرا می‌گیرید.

آموزش Scope و مدیریت متغیرها در جاوا اسکریپت
14 دقیقه

در این جلسه با مفهوم اسکوپ (Scope) و تفاوت بین متغیرهای جهانی و محلی آشنا می‌شوید و خواهید دانست که مشکل متغیر var در جاوا اسکریپت چیست. همچنین، با تعریف متغیر در ECMAScript آشنا خواهید شد و با متغیرهای let و const کار خواهید کرد. انواع خطاهای منطقی و سیستمی را بررسی می‌کنید و با خطای assignment در استفاده از متغیرهای const آشنا خواهید شد.

آشنایی با انواع داده‌ها و عملگر concatenation در ECMAScript
34 دقیقه

در این جلسه با انواع داده ای در اکما اسکریپت آشنا خواهید . کار با انواع داده ای number ، float ، Boolean ، undefined ، null ، string آشنا خواهید شد و کار با تابع typeof متد های پارسر را فرا خواهید گرفت. و با عملگر concatenation در اکما اسکریپت آشنا خواهید شد.

مهم : تمرین : یک کتاب را باز کنید و یک بند از این کتاب را با استفاده از عملگر concatenation و متغیر ها کد نویسی کنید و خروجی بگیرید.

آموزش عملگرهای مقایسه‌ای و منطقی و کنترل جریان در ECMAScript
18 دقیقه

در این جلسه با انواع عملگرهای مقایسه‌ای (کوچکتر، کوچکتر مساوی، مساوی، بزرگتر مساوی، نامساوی) و منطقی (Not، And، OR) در ECMAScript آشنا خواهید شد. سپس کنترل جریان با استفاده از دستورات شرطی if else را فرا خواهید گرفت و بازی سنگ، کاغذ، قیچی را با استفاده از کنترل جریان و دستورات if else توسعه خواهید داد.

آموزش کنترل جریان با switch case با ECMAScript
10 دقیقه

در این جلسه کنترل جریان با استفاده از دستورات switch case را فرا می‌گیرید و یک برنامه فروش خانه را توسعه می‌دهید.

مهم: تمرین: برنامه بازی سنگ، کاغذ، قیچی را با استفاده از دستورات switch case توسعه دهید.

آشنایی با آرایه‌ها و حلقه‌های تکرار در جاوا اسکریپت
20 دقیقه

در این جلسه با آرایه‌ها آشنا خواهید شد و کار با آرایه‌ها در جاوا اسکریپت را فرا خواهید گرفت. با حلقه for کلاسیک در جاوا اسکریپت آشنا می‌شوید. دریافت طول آرایه را یاد خواهید گرفت و از متد push() برای افزودن یک مقدار به آرایه استفاده خواهید کرد. کار با اندیس آرایه را فرا می‌گیرید. با حلقه‌های for in و for of در ECMAScript آشنا خواهید شد. destructuring در کار با آرایه‌ها و استفاده از عملگر spread را نیز فرا خواهید گرفت.

مهم: تمرین: عبارت انگلیسی "destructuring in JS" را در گوگل جستجو کنید، وارد سایت MDN شوید، متن را ترجمه و مطالعه کنید و کدهای موجود را نوشته و خروجی بگیرید.

آشنایی با توابع و اعتبارسنجی مشخصات در جاوا اسکریپت
20 دقیقه

در این جلسه با مفهوم تابع آشنا خواهید شد و تعریف تابع در جاوا اسکریپت را فرا خواهید گرفت. با پارامترهای rest آشنا می‌شوید. متد trim() را در کار با رشته‌ها استفاده خواهید کرد. با نحوه پرتاب کردن ارور در جاوا اسکریپت آشنا خواهید شد و با شرط‌های تک خطی ternary در ECMAScript کار خواهید کرد. همچنین، یک برنامه اعتبارسنجی مشخصات افراد را توسعه خواهید داد.

آشنایی با اشیا و کار با object در جاوا اسکریپت
21 دقیقه

در این جلسه با مفهوم اشیا در برنامه‌نویسی آشنا خواهید شد و کار با object در زبان جاوا اسکریپت را فرا خواهید گرفت. جفت‌های کلید-مقدار را در اشیا پیاده‌سازی خواهید کرد و برای اشیا ویژگی (property) و رفتار (method) ایجاد می‌کنید. با پارامتر this در اشیا آشنا خواهید شد. سپس با accessor در شی کار خواهید کرد و برای شی getter و setter خواهید نوشت. خطاها را با استفاده از throw کردن هندل خواهید کرد. در نهایت، آرایه‌ای از اشیا ایجاد خواهید کرد و با استفاده از ایتریتور map() آن اشیا را مپ خواهید کرد.

آموزش کلاس‌ها و اصول شی‌گرایی در جاوا اسکریپت
26 دقیقه

در این جلسه با مفهوم کلاس آشنا خواهید شد. با اصول شی‌گرایی شامل اصل انتزاع (Abstraction)، اصل کپسوله‌سازی (Encapsulation) و وراثت (Inheritance) آشنا خواهید شد. تعریف کلاس در جاوا اسکریپت را فرا خواهید گرفت و می‌توانید از کلاس‌هایتان نمونه‌سازی کنید. با constructor در کلاس کار خواهید کرد. الگوریتم درخت را فرا خواهید گرفت و ارث‌بری کلاس‌ها در جاوا اسکریپت را پیاده‌سازی خواهید کرد.

آموزش چندریختی Polymorphism در Node.js
16 دقیقه

برای این جلسه از دوره Node.js، ما به شما اصول چندریختی در برنامه‌نویسی شی‌گرا را آموزش می‌دهیم. شما با پیاده‌سازی چندریختی در زبان جاوا اسکریپت، کاربرد و فایده‌های آن را در عمل خواهید آموخت. همچنین، با ساختارهای مهمی مانند RAM و فضاهای مختلف حافظه مانند stack و heap آشنا شده و با الگوریتم‌های stack، queue و tree کار خواهید کرد. این دانش به شما کمک می‌کند تا درک بهتری از چگونگی تخصیص حافظه برای انواع داده‌ها در جاوا اسکریپت داشته باشید.

آموزش برنامه‌نویسی همزمان و ناهمزمان در Node.js
22 دقیقه

در این جلسه، شما با مفاهیم کلیدی برنامه‌نویسی همزمان و ناهمزمان آشنا خواهید شد. فراگیری پردازش‌های CPU Bound و I/O Bound به شما کمک می‌کند تا عملکرد برنامه‌های Node.js خود را بهینه سازید. همچنین، با Thread و Thread pool و نحوه مدیریت آن‌ها در محیط single-thread Node.js آشنا می‌شوید. پیاده‌سازی async و sync و کار با Promise‌ها نیز بخشی از این جلسه است.

آموزش ماژول‌های ES و CommonJS در Node.js
22 دقیقه

در این جلسه از دوره Node.js، به یادگیری و پیاده‌سازی ماژول‌های ES و CommonJS پرداخته می‌شود. این جلسه شما را با دو روش محبوب مدیریت ماژول در جاوا اسکریپت آشنا می‌کند، که هر دو برای ساختاردهی و توسعه پروژه‌های Node.js کاربرد فراوانی دارند.

فصل دوم: آموزش MongoDB

مفاهیم پایه پایگاه داده در Node.js
25 دقیقه

در این جلسه با مفاهیم پایه پایگاه داده آشنا می‌شوید. مفهوم داده را یاد می‌گیرید و با انواع پایگاه داده (SQL) آشنا می‌شوید. تفاوت‌های پایگاه داده‌های رابطه‌ای و غیر رابطه‌ای را فرا می‌گیرید. همچنین با نحوه ذخیره‌سازی داده در دیتابیس و مفهوم Rollback در دیتابیس آشنا می‌شوید. در نهایت، روابط یک به یک، یک به چند و چند به چند در پایگاه‌های داده رابطه‌ای را می‌آموزید.

آموزش MongoDB در Node.js
25 دقیقه

در این جلسه از دوره Node.js به آموزش پایگاه داده MongoDB می‌پردازیم. شما با داده‌ساختارهای JSON و BSON آشنا شده و روش نصب MongoDB را یاد می‌گیرید. همچنین، با مفاهیم اساسی مانند collection، document و field در MongoDB آشنا می‌شوید و معماری این دیتابیس را فرا می‌گیرید. در پایان، MongoDB Shell را نصب کرده و با استفاده از آن، اولین پایگاه داده خود را ایجاد می‌کنید. این مهارت‌ها برای توسعه برنامه‌های مبتنی بر Node.js با استفاده از MongoDB ضروری است.

نصب و استفاده از MongoDB Compass در Node.js
24 دقیقه

در این جلسه از دوره Node.js، به شما نحوه نصب و استفاده از رابط گرافیکی MongoDB Compass را آموزش می‌دهیم. شما با محیط Compass و نحوه استفاده از آن برای ایجاد و مدیریت اسناد و مجموعه‌ها در MongoDB آشنا می‌شوید. همچنین، با دستورات اساسی و قدرتمند MongoDB برای ایجاد و مدیریت پایگاه داده‌ها کار خواهید کرد. این مهارت‌ها به شما کمک می‌کنند تا با اطمینان بیشتری از MongoDB در پروژه‌های توسعه‌یافته با Node.js استفاده کنید.

کار با MongoDB در VSCode
22 دقیقه

در این جلسه از دوره Node.js، نحوه استفاده از محیط توسعه VSCode برای مدیریت پایگاه داده MongoDB را فرا می‌گیرید. شما با فرآیندهای ساخت و حذف دیتابیس‌ها، مجموعه‌ها و اسناد در MongoDB آشنا شده و به کار با ایتریتور forEach در ECMAScript می‌پردازید. این دانش به شما کمک می‌کند تا با استفاده از VSCode به طور مؤثرتری با MongoDB کار کنید و از قابلیت‌های پیشرفته این ادیتور برای تسهیل برنامه‌نویسی پایگاه داده بهره‌مند شوید.

دستورات MongoDB: insertOne و insertMany
24 دقیقه

در این جلسه از دوره Node.js، به آموزش کار با دستورات پایه MongoDB می‌پردازیم. شما با استفاده از دستورات insertOne و insertMany یاد خواهید گرفت که چگونه یک یا مجموعه‌ای از اسناد را به پایگاه داده اضافه کنید. این دستورات به شما امکان می‌دهند تا با اعمال تغییرات دقیق و کنترل شده بر داده‌های خود، مدیریت اطلاعات را در MongoDB بهینه‌سازی کنید. این مهارت‌ها برای توسعه برنامه‌های کاربردی مدرن و کارآمد ضروری است.

حذف اسناد با deleteOne و deleteMany در MongoDB
14 دقیقه

در این جلسه از دوره Node.js به یادگیری نحوه استفاده از دستورات deleteOne و deleteMany برای حذف یک یا چند سند از پایگاه داده MongoDB خواهید پرداخت. این دستورات به شما کمک می‌کنند تا به راحتی و با دقت اسناد مورد نظر را حذف کنید. همچنین، به عنوان بخشی از تمرین، تشویق می‌شوید تا با جستجوی عبارت "mongodb operators" در گوگل، وارد سایت رسمی MongoDB شده و اسناد مربوط به عملگرها را مطالعه کنید تا درک عمیق‌تری از عملکردهای پایگاه داده کسب کنید. این فعالیت‌ها به شما در بهبود مهارت‌های کار با MongoDB و توسعه برنامه‌های کاربردی مؤثرتر کمک خواهد کرد.

بروزرسانی اسناد در MongoDB
22 دقیقه

در این جلسه از دوره Node.js، به آموزش دستورات updateOne و updateMany برای بروزرسانی اسناد در پایگاه داده MongoDB می‌پردازیم. شما با عملگر $set آشنا خواهید شد و یاد می‌گیرید چگونه این عملگر را برای تغییر محتوای اسناد موجود به کار ببرید. این تکنیک‌ها به شما کمک می‌کنند تا به راحتی اطلاعات را بروزرسانی کرده و پایگاه داده خود را مدیریت کنید.

عملگرهای مقایسه‌ای و منطقی در MongoDB
26 دقیقه

در این جلسه از دوره Node.js، به بررسی و آموزش عملگرهای مقایسه‌ای و منطقی در MongoDB می‌پردازیم. شما با عملگرهای $gt, $gte, $lt, $lte, و $eq که برای مقایسه استفاده می‌شوند آشنا می‌شوید و همچنین عملگرهای منطقی $not, $or, و $and را یاد می‌گیرید. این عملگرها به شما امکان می‌دهند تا کوئری‌های پیچیده‌تر و دقیق‌تری را بر روی داده‌های خود اجرا کنید و با استفاده از آن‌ها، می‌توانید به طور مؤثرتری داده‌ها را فیلتر و مدیریت کنید.

Expression‌ها و اولویت عملگرها در JavaScript
13 دقیقه

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

کوئری نویسی با find() و findOne() در MongoDB
21 دقیقه

در این جلسه از دوره MongoDB، به یادگیری نحوه کوئری نویسی با استفاده از دستورات find() و findOne() می‌پردازیم. شما یاد می‌گیرید که چگونه این دستورات را برای جستجو و بازیابی اسناد از پایگاه داده‌های MongoDB به کار ببرید. با استفاده از find() می‌توانید مجموعه‌ای از اسناد را بر اساس فیلترهای خاص بازیابی کنید، در حالی که findOne() برای یافتن اولین سند مطابق با معیارهای جستجو استفاده می‌شود. این تکنیک‌ها اساسی برای مدیریت داده‌ها و تحلیل‌های پایگاه داده در پروژه‌های واقعی هستند.

کار با Cursor و Pagination در MongoDB
14 دقیقه

در این جلسه از دوره MongoDB، با مفهوم cursor در پایگاه داده MongoDB و نحوه استفاده از حلقه while در JavaScript آشنا می‌شوید. شما یاد خواهید گرفت که چگونه با استفاده از cursor، اسناد را به صورت تکراری پردازش کنید و با متدهای sort(), skip(), و limit()، کارایی در مرتب‌سازی و pagination اسناد را افزایش دهید. این مهارت‌ها به شما کمک می‌کنند تا با داده‌های بزرگ به طور مؤثرتری کار کنید و دریافت داده‌ها را بر اساس نیازهای کاربردی خود مدیریت کنید.

کار با Projection در MongoDB
7 دقیقه

در این جلسه از دوره MongoDB، به یادگیری مفهوم و کاربرد Projection در پایگاه داده‌های MongoDB می‌پردازیم. Projection به شما امکان می‌دهد تا بخش‌های خاصی از داده‌ها را در نتایج کوئری خود مشخص کنید، که این به شما کمک می‌کند تا داده‌های کمتری را بازیابی کنید و در نتیجه عملکرد سیستم خود را بهبود ببخشید. شما یاد خواهید گرفت که چگونه فیلدهای مورد نیاز را برای نمایش انتخاب کنید و کدام یک را حذف کنید، که این امر به افزایش کارایی و سرعت کوئری‌ها کمک می‌کند.

Aggregation در MongoDB
19 دقیقه

در این جلسه از دوره MongoDB، به آموزش فرآیند Aggregation می‌پردازیم، که یکی از قدرتمندترین ابزارها برای تجزیه و تحلیل و گزارش‌گیری داده در MongoDB است. شما با استفاده از دستور aggregate() یاد می‌گیرید چگونه داده‌ها را بر اساس نیازهای خاص گزارش‌گیری خود مرتب و سازماندهی کنید. این جلسه شما را با عملگرهای مختلفی مانند $match، $count، $group، $sum، $avg، $min، $max، $sort، $skip، $limit، و $project آشنا می‌کند و نحوه استفاده از آن‌ها را برای دستیابی به نتایج دقیق و مفید آموزش می‌دهد. این تکنیک‌ها به شما اجازه می‌دهند تا داده‌های خود را برای تحلیل‌ها و گزارش‌های پیچیده به شیوه‌ای کارآمد فراخوانی کنید.

اسناد Embedded و رابطه‌ای در MongoDB
20 دقیقه

در این جلسه از دوره MongoDB، شما با دو نوع مهم از ساختارهای داده‌ای در MongoDB آشنا خواهید شد: اسناد Embedded و اسناد رابطه‌ای. ما به بررسی تفاوت‌های این دو نوع ساختار پرداخته و نحوه استفاده و مدیریت آن‌ها را در پروژه‌های واقعی شرح می‌دهیم. این جلسه به شما کمک می‌کند تا درک بهتری از چگونگی ایجاد اسناد Embedded که داده‌های مرتبط را در یک سند جامع ذخیره می‌کنند و اسناد رابطه‌ای که از ارجاعات برای پیوند دادن داده‌های مرتبط در اسناد جداگانه استفاده می‌کنند، پیدا کنید. این دانش برای توسعه برنامه‌های کاربردی موثرتر و سازگار با نیازهای تجاری متفاوت شما اساسی است.

اندیس‌گذاری در MongoDB
8 دقیقه

در این جلسه از دوره MongoDB، به بررسی نحوه اندیس‌گذاری در پایگاه داده‌های MongoDB می‌پردازیم. شما با دستورات مهمی مانند createIndex() برای ایجاد اندیس‌ها و getIndex() برای بازیابی اطلاعات اندیس‌های موجود آشنا خواهید شد. این دستورات به شما کمک می‌کنند تا با افزایش سرعت و کارایی کوئری‌ها، عملکرد پایگاه داده خود را بهبود ببخشید. اندیس‌گذاری یکی از مهم‌ترین تکنیک‌ها برای مدیریت پایگاه داده‌های بزرگ و پیچیده است و شناخت صحیح آن برای هر توسعه‌دهنده‌ای ضروری است.

کار با عملگر $lookup در MongoDB
8 دقیقه

در این جلسه از دوره MongoDB، به بررسی و آموزش مفهوم Join و کار با عملگر $lookup می‌پردازیم. عملگر $lookup در MongoDB امکان ادغام داده‌ها بین کالکشن‌های مختلف را فراهم می‌کند، که مشابه عملیات Join در پایگاه‌های داده رابطه‌ای است. شما یاد می‌گیرید چگونه از این عملگر برای ایجاد کوئری‌هایی که نیاز به دسترسی به داده‌های مرتبط از چندین کالکشن دارند، استفاده کنید. این تکنیک برای تحلیل‌های پیچیده و کاربردهایی که نیاز به دیدگاه‌های گسترده‌تری از داده‌ها دارند، بسیار مفید است.

مقیاس‌پذیری در MongoDB: Sharding و Replication
14 دقیقه

در این جلسه از دوره MongoDB، با مفاهیم اساسی مرتبط با مقیاس‌پذیری در این پلتفرم آشنا می‌شوید. مباحثی مانند sharding و replication مورد بررسی قرار می‌گیرند، که هر دو برای مدیریت و توزیع داده‌ها در سطح بزرگ ضروری هستند. همچنین، با الگوی CQRS (Command Query Responsibility Segregation) آشنا خواهید شد که چگونه این الگو می‌تواند به بهبود عملکرد خواندن و نوشتن در پایگاه‌های داده بزرگ کمک کند. این دانش به شما کمک می‌کند تا برای سناریوهای داده‌ای در مقیاس وسیع آماده شوید و بتوانید پروژه‌هایی با پیچیدگی بالا را مدیریت کنید.

فصل سوم: آموزش مانگوس (Mongoose)

کار با NPM و ساخت سرور در Node.js
19 دقیقه

در این جلسه از دوره Node.js، با استفاده از NPM شروع به کار می‌کنید و با فایل‌های مهمی مانند package.json و package-lock.json و همچنین فولدر nodemodules آشنا می‌شوید. ما نیز انواع dependency‌ها را بررسی می‌کنیم و با ماژول‌های هسته، لوکال و گلوبال در Node.js آشنا می‌شوید. بخش عمده‌ای از این جلسه به ماژول http اختصاص دارد، جایی که یاد می‌گیرید چگونه یک سرور ایجاد کنید و با مفاهیم کلیدی مانند request و response کار کنید. در انتها، چگونگی راه‌اندازی یک سرور Node.js با استفاده از ماژول http را فرا می‌گیرید. به عنوان تمرین، توصیه می‌کنیم از امروز به سایت www.w3schools.com رفته و اسناد مربوط به HTML را مطالعه کرده و کدهای نوشته شده را خودتان بنویسید و خروجی بگیرید تا با اصول پایه‌ای وب آشنا شوید.

کار با درایور Node.js MongoDB
28 دقیقه

در این جلسه از دوره Node.js، با درایور MongoDB برای Node.js آشنا شده و یاد می‌گیرید چگونه به پایگاه داده متصل شوید. ما به بررسی دو روش مختلف بارگذاری داده‌ها، Eager loading و Lazy Loading، می‌پردازیم تا درک کنید چگونه این تکنیک‌ها می‌توانند تأثیری عمده بر عملکرد برنامه شما داشته باشند. همچنین، با استفاده از متدهای MongoClient، دستورات اساسی مانند insert، update، delete، و find را برای ذخیره‌سازی و بازیابی اطلاعات انجام می‌دهید. این جلسه به شما کمک می‌کند تا با ابزارهای لازم برای مدیریت داده‌ها در MongoDB به روشی کارآمد و مؤثر آشنا شوید.

کار با Mongoose در Node.js
26 دقیقه

در این جلسه از دوره Node.js، با پکیج Mongoose آشنا می‌شوید که یک ابزار قدرتمند برای کار با MongoDB است. ابتدا، نحوه اتصال به پایگاه داده MongoDB با استفاده از Mongoose را یاد می‌گیرید. سپس، به شما آموزش داده می‌شود چگونه برای مدل‌های داده خود Schema تعریف کنید و با انواع داده در Mongoose آشنا شوید. این جلسه همچنین شامل ساخت مدل‌های دیتابیسی با استفاده از Schemaهای تعریف شده است. در ادامه، یاد می‌گیرید چگونه دستورات اساسی مانند insert، update، delete، و find را با استفاده از Mongoose پیاده‌سازی کنید. این مهارت‌ها به شما کمک می‌کنند تا با اطمینان بیشتر و به طور مؤثرتری با پایگاه داده‌های MongoDB کار کنید.

اعتبارسنجی در Mongoose
22 دقیقه

در این جلسه از دوره Node.js و MongoDB، به یادگیری نحوه نوشتن اعتبارسنجی برای مدل‌های دیتابیسی با استفاده از Mongoose پرداخته می‌شود. شما با خصوصیات مهمی مانند type، require، max، و min در Schemaهای Mongoose آشنا می‌شوید که به شما کمک می‌کند داده‌های ورودی را بر اساس شرایط مشخص شده معتبر سازید. همچنین، با دستورات اساسی Mongoose شامل insertOne، insertMany، deleteOne، deleteMany، updateOne، و updateMany آشنا می‌شوید که این دستورات امکان مدیریت داده‌ها در پایگاه داده را فراهم می‌کنند. این مهارت‌ها به شما اجازه می‌دهند تا با اطمینان و دقت بیشتری داده‌های خود را در MongoDB مدیریت کنید.

فصل چهارم: مدل ویو کنترلر (MVC)

کلیات پروژه و طراحی پایگاه داده VOD
16 دقیقه

در این جلسه از دوره آموزشی، با پروژه VOD (Video on Demand) آشنا می‌شوید. شما شرایط و اصول کلی این پروژه را درک خواهید کرد و با جزئیات طراحی پایگاه داده مربوط به این پروژه، از جمله مدل‌های داده‌ای و روابط بین آنها آشنا می‌شوید. علاوه بر این، مفاهیم DbFirst و CodeFirst معرفی می‌شوند که دو رویکرد متداول در توسعه پایگاه‌های داده هستند. DbFirst به شما امکان می‌دهد از طراحی پیش‌فرض پایگاه داده شروع کنید، در حالی که CodeFirst به توسعه‌دهندگان اجازه می‌دهد با کدنویسی شروع به ساخت پایگاه داده کنند. این دانش برای پیاده‌سازی موثر پروژه‌های مرتبط با ویدیو در دسترس شما قرار می‌گیرد و به شما کمک می‌کند تا با زیرساخت‌های مورد نیاز برای اجرای موفقیت‌آمیز چنین پروژه‌هایی آشنا شوید.

معماری پروژه VOD
40 دقیقه

در این جلسه از دوره آموزشی، شما با معماری پروژه Video on Demand (VOD) آشنا می‌شوید. ما به بررسی چهار لایه اصلی پروژه: data، ui، framework، و domain خواهیم پرداخت. شما یاد می‌گیرید چگونه ساختار فولدر و پروژه را برای پیاده‌سازی بهینه ایجاد کنید. همچنین، با ایجاد اسکیماهای دیتابیسی و اعتبارسنجی‌های مربوطه به کمک Mongoose آشنا می‌شوید. این جلسه همچنین شامل آموزش تنظیمات مربوط به CommonJS و ESModule در فایل package.json است، که به شما کمک می‌کند درک بهتری از مدیریت وابستگی‌ها و ماژول‌ها در Node.js داشته باشید. این دانش بنیان محکمی برای توسعه و پیاده‌سازی پروژه‌های بزرگ و پیچیده فراهم می‌کند.

پیاده‌سازی اسکیماها و روابط دیتابیسی در MongoDB
21 دقیقه

در این جلسه از دوره آموزشی، شما به پیاده‌سازی ادامه اسکیماهای دیتابیسی با استفاده از Mongoose خواهید پرداخت و با اعتبارسنجی‌های لازم برای این اسکیماها آشنا می‌شوید. این جلسه همچنین به بررسی چگونگی ایجاد و مدیریت روابط دیتابیسی یک به یک، یک به چند و چند به چند در MongoDB می‌پردازد، با استفاده از قابلیت‌های رفرنس‌دهی Mongoose. این فرایند به شما امکان می‌دهد ساختارهای پیچیده داده‌ای را به طور مؤثر مدیریت و بهینه‌سازی کنید، که برای حفظ یکپارچگی داده‌ها و کارایی در کوئری‌های پیچیده حیاتی است.

تکمیل اسکیماهای دیتابیسی با Mongoose
30 دقیقه

در این جلسه از دوره آموزشی، شما به تکمیل اسکیماهای دیتابیسی باقیمانده می‌پردازید. به کمک Mongoose، شما نه تنها این اسکیماها را با تمام جزئیات و اعتبارسنجی‌های لازم ایجاد می‌کنید، بلکه روابط دیتابیسی بین مدل‌های مختلف را نیز پیاده‌سازی خواهید کرد. این فرآیند شامل تعریف دقیق نحوه تعامل داده‌ها و چگونگی ارتباط آن‌ها در درون پایگاه داده است. با استفاده از Mongoose، اسکیماها و روابط بین آن‌ها به گونه‌ای سازماندهی می‌شوند که به حفظ یکپارچگی داده‌ها و بهبود کارایی در اجرای کوئری‌ها کمک کند. این دانش برای مدیریت پیچیدگی‌های دیتابیس در پروژه‌های بزرگ بسیار ارزشمند است.

تکمیل اسکیماهای دیتابیسی در پروژه VOD
26 دقیقه

در این جلسه از دوره آموزشی پروژه VOD، شما به پیاده‌سازی و تکمیل نهایی اسکیماهای دیتابیسی خود خواهید پرداخت. این شامل اعتبارسنجی‌های لازم برای تضمین کیفیت و صحت داده‌ها و همچنین تعریف روابط بین مدل‌های مختلف است تا اطمینان حاصل شود که داده‌ها به طور مؤثر در پایگاه داده سازماندهی شده‌اند. شما یاد می‌گیرید چگونه این اسکیماها و روابط را برای مدیریت بهتر داده‌ها و افزایش کارایی کوئری‌ها در پروژه‌های بزرگ پیاده‌سازی کنید. این فرایند به شما کمک می‌کند تا با اطمینان بیشتری پروژه‌های دیتابیسی خود را مدیریت و بهینه‌سازی نمایید.

مدیریت دیتابیس با شیء Context در Node.js
21 دقیقه

در این جلسه از دوره Node.js، شما با مفهوم شیء Context آشنا می‌شوید که یک ابزار کلیدی برای مدیریت و سازماندهی مدل‌های دیتابیسی است. این شیء به شما امکان می‌دهد که نمونه‌سازی‌های دیتابیسی خود را متمرکز کنید و به طور موثری به دیتابیس MongoDB متصل شوید. شما یاد خواهید گرفت چگونه از این شیء برای اجرای دستورات دیتابیسی مانند درج، به‌روزرسانی، حذف، و بازیابی داده‌ها استفاده کنید. استفاده از شیء Context به شما کمک می‌کند تا کدهای تمیزتر و سازمان‌یافته‌تری داشته باشید و بهره‌وری کد را افزایش دهید. این جلسه به شما دید بهتری نسبت به چگونگی مدیریت و پیاده‌سازی منطق دیتابیس در پروژه‌های بزرگ می‌دهد.

Data Transfer Object و صفحه‌بندی در پروژه VOD
41 دقیقه

در این جلسه از دوره پروژه VOD، با مفهوم اشیاء داده ای انتقالی (Data Transfer Object یا DTO) آشنا خواهید شد. DTO یک الگوی طراحی است که برای انتقال داده‌ها بین پردازش‌ها یا لایه‌های مختلف برنامه بدون ایجاد وابستگی متقابل استفاده می‌شود. شما تفاوت‌های کلیدی بین DTO و داده‌های مستقیم دیتابیسی را خواهید آموخت و نحوه ساخت DTO‌ها را برای عملیات مختلف مانند ثبت، ویرایش، جستجو، و نمایش نتایج جستجو در پروژه VOD یاد خواهید گرفت. همچنین، با مفاهیم مربوط به صفحه‌بندی (Pagination) آشنا شده و یک کلاس پایه برای اجرای صفحه‌بندی ایجاد می‌کنید که این کلاس از 'super' در سازنده کلاس برای فراخوانی سازنده کلاس والد استفاده می‌کند. این تکنیک‌ها به شما کمک می‌کنند تا داده‌ها را به طور مؤثرتری در برنامه خود مدیریت کنید و تجربه کاربری بهتری را ارائه دهید.

تکمیل DTOها در پروژه VOD
1 ساعت و

در این جلسه از دوره آموزشی پروژه VOD، شما به تکمیل ساخت DTOها برای همه مدل‌های دیتابیسی پروژه خود خواهید پرداخت. DTOها، یا اشیا داده‌ای انتقالی، به عنوان بخش مرکزی در انتقال داده‌ها بین لایه‌های مختلف نرم‌افزار و بدون افشای ساختار دیتابیس اصلی عمل می‌کنند. این کار به شما اجازه می‌دهد تا اطمینان حاصل کنید که تمام داده‌ها به صورت امن و مؤثر در بین کامپوننت‌های مختلف برنامه منتقل می‌شوند. شما با ایجاد DTOهای مخصوص هر مدل، به افزایش کارایی و قابلیت نگهداری برنامه کمک خواهید کرد، و می‌توانید اطمینان حاصل کنید که داده‌های انتقالی با انعطاف‌پذیری و امنیت بالا مدیریت می‌شوند.

اعتبار سنجی با JOI در پروژه VOD
26 دقیقه

در این جلسه از دوره آموزشی پروژه VOD، با کتابخانه اعتبار سنجی JOI آشنا می‌شوید. JOI یک ابزار قدرتمند برای اعتبار سنجی اشیاء جاوا اسکریپت است که به ویژه برای مدیریت داده‌های دریافتی از کاربر در برنامه‌های وب استفاده می‌شود. شما یاد خواهید گرفت چگونه JOI را به پروژه خود اضافه کنید و اسکیماهایی برای اعتبار سنجی DTOهای مختلف، به خصوص برای عملیات ثبت و ویرایش، تعریف نمایید. این اسکیماها به شما کمک می‌کنند تا از صحت داده‌های ورودی اطمینان حاصل کنید و خطاهای احتمالی را قبل از پردازش یا ذخیره‌سازی داده‌ها شناسایی و رفع نمایید. این کار به بهبود کیفیت و امنیت برنامه شما کمک شایانی می‌کند.

عبارات باقاعده و اعتبار سنجی با JOI
29 دقیقه

در این جلسه از دوره آموزشی پروژه VOD، با مفهوم عبارات باقاعده یا RegExp آشنا می‌شوید که یکی از ابزارهای قدرتمند برای پردازش متن است. شما با برخی از پترن‌های کلیدی عبارات باقاعده آشنا شده و یاد می‌گیرید چگونه این پترن‌ها را در سناریوهای واقعی برای مطابقت یا جستجوی الگوها در متن استفاده کنید. همچنین، شما اسکیماهای اعتبار سنجی برای داده‌های انتقالی ثبت و ویرایش را با استفاده از کتابخانه JOI ایجاد خواهید کرد. این کتابخانه به شما امکان می‌دهد اعتبارسنجی‌های پیچیده و دقیقی را بر روی داده‌های ورودی اعمال کنید، که به شما کمک می‌کند تا داده‌های ورودی را به شیوه‌ای ایمن و مؤثر مدیریت کنید و خطاهای احتمالی را قبل از پردازش یا ذخیره‌سازی داده‌ها شناسایی و رفع نمایید. این دانش به شما کمک می‌کند تا برنامه‌های خود را با امنیت و کیفیت بالاتر توسعه دهید.

تکمیل اسکیماهای اعتبارسنجی در پروژه VOD
42 دقیقه

در این جلسه از دوره آموزشی پروژه VOD، شما به تکمیل نوشتن باقیمانده اسکیماهای اعتبارسنجی برای داده‌های انتقالی ثبت و ویرایش خواهید پرداخت. این اسکیماها از اهمیت بالایی برخوردار هستند چرا که به شما کمک می‌کنند تا اطمینان حاصل کنید که تمامی داده‌های ورودی به سیستم شما دقیق، قابل اعتماد و مطابق با استانداردهای تعیین شده هستند. شما با استفاده از ابزارهایی مانند JOI یا سایر کتابخانه‌های مشابه، اعتبارسنجی‌های لازم برای فیلدهای مختلف داده‌های ورودی را ایجاد خواهید کرد، از جمله بررسی فرمت‌ها، حداقل و حداکثر مقادیر، و سایر قوانین مرتبط با هر فیلد. این کار نه تنها به جلوگیری از خطاها و مشکلات احتمالی کمک می‌کند، بلکه باعث بهبود تجربه کاربری و کارایی برنامه نیز می‌شود.

Command و Query در نرم‌افزار
18 دقیقه

در این جلسه از دوره آموزشی، با دو مفهوم مهم در سطح نرم‌افزار یعنی Command و Query آشنا خواهید شد. این دو مفهوم بخش‌های اساسی الگوی طراحی CQRS (Command Query Responsibility Segregation) هستند که در بسیاری از سیستم‌های نرم‌افزاری پیاده‌سازی می‌شود. Command به عملیات‌هایی گفته می‌شود که به تغییر داده‌ها منجر می‌شوند و هیچ داده‌ای را برنمی‌گردانند، مانند ایجاد، ویرایش یا حذف یک رکورد. Query به عملیات‌هایی اشاره دارد که تنها به خواندن داده‌ها می‌پردازند و نتیجه ای را برمی‌گردانند، بدون اینکه تغییری در داده‌ها ایجاد کنند. همچنین، در این جلسه یاد می‌گیرید چگونه برای نتیجه عملیات‌های دیتابیسی یک نتیجه عملیات تعریف کنید، که این امر به شما کمک می‌کند تا وضعیت عملیات‌های اجرا شده را مدیریت و ردیابی کنید. این مفاهیم بنیادی به شما کمک می‌کنند تا بتوانید سیستم‌های نرم‌افزاری پیچیده‌تر و قابل نگهداری‌تری طراحی کنید.

کار با Repository و لایه Data در Node.js
47 دقیقه

در این جلسه از دوره Node.js، با مفهوم Repository و کاربرد آن در مدیریت لایه Data آشنا می‌شوید. Repository یک الگوی طراحی است که به منظور انتزاع و مدیریت دسترسی به داده‌ها در دیتابیس‌ها استفاده می‌شود. شما یاد خواهید گرفت چگونه دستورات ثبت، حذف، و ویرایش داده‌ها را به وسیله شیء context که پیش‌تر ساخته‌اید، اجرا کنید. در این بخش، همچنین با مفهوم async و await برای اجرای عملیات‌های ناهمزمان به طور عملیاتی کار خواهید کرد. این کار به شما کمک می‌کند تا کد خود را به شیوه‌ای تمیزتر و خواناتر بنویسید. مدیریت خطاها نیز با استفاده از دستورات trycatch مورد بررسی قرار می‌گیرد تا بتوانید به شکل مؤثری از شرایط خطا در برنامه خود جلوگیری کنید و به طور مناسب به آن‌ها پاسخ دهید. در نهایت، شما اولین داده دیتابیسی خود را با استفاده از Node.js ایجاد خواهید کرد، که این یک گام بزرگ در توسعه برنامه‌های تحت وب مبتنی بر Node.js است.

فراخوانی و مدیریت داده‌ها با شی Context در Node.js
55 دقیقه

در این جلسه از دوره Node.js، شما با استفاده از شی Context، دستورات Command دیتابیس نظیر get و getAll را برای فراخوانی داده‌ها ایجاد می‌کنید. این فرایند شامل استفاده از متدهای پیشرفته برای بهبود فراخوانی و مدیریت داده‌ها است. شما همچنین با پیاده‌سازی برخی منطق‌های بیزینسی مرتبط با عملیات دیتابیس آشنا خواهید شد که به بهینه‌سازی فرآیندها و تضمین پاسخ‌گویی سیستم به نیازهای کاربردی کمک می‌کند. علاوه بر این، جستجوی داده‌ها به کمک دستور where و فراخوانی داده‌ها بر اساس شرایط مشخص، همراه با عملیات‌های sort، limit، و skip برای مدیریت نمایش داده‌ها در اپلیکیشن شما پیاده‌سازی می‌شود. در ادامه، با عملگر $regex برای انجام جستجوهای پترن‌بنیان در متن‌ها آشنا خواهید شد، که این امکان را می‌دهد تا جستجوهای دقیق‌تر و مرتبط‌تری بر اساس الگوهای متنی انجام دهید. این دانش به شما کمک می‌کند تا اپلیکیشن‌هایی با قابلیت‌های جستجوی پیشرفته‌تر و دقیق‌تر ایجاد کنید و تجربه کاربری بهتری را ارائه دهید.

پیاده‌سازی دستورات ذخیره و بازیابی در Node.js
42 دقیقه

در این جلسه از دوره Node.js، به پیاده‌سازی دستورات ذخیره‌سازی و بازیابی داده‌ها برای یک مدل دیگر در پروژه شما خواهیم پرداخت. این فرایند شامل ایجاد و استفاده از فانکشن‌های مختلف در Node.js برای ذخیره‌سازی اطلاعات به دیتابیس و بازیابی آن‌ها بر اساس نیازهای کاربردی است. شما یاد خواهید گرفت که چگونه از این دستورات برای مدیریت داده‌های مدل خاصی استفاده کنید و نحوه به کارگیری تکنیک‌های مؤثر برای برقراری ارتباط با دیتابیس و مدیریت داده‌های مرتبط با آن مدل را فرا خواهید گرفت. این عملیات نه تنها به بهبود کارایی دیتابیس کمک می‌کند، بلکه تضمین می‌کند که داده‌های شما به شکل امن و قابل اطمینان ذخیره و بازیابی می‌شوند. این دانش بنیادی برای توسعه و پیاده‌سازی برنامه‌های تحت وب که نیازمند مدیریت داده‌های پیچیده هستند، اساسی است.

معرفی وب‌سایت، وب اپلیکیشن و کار با تگ‌های HTML و CSS در Node.js
50 دقیقه

در این ویدئو با مفاهیم وب‌سایت و وب اپلیکیشن در محیط Node.js آشنا خواهید شد. همچنین، تگ‌های اساسی HTML مانند p، pre، headings، list، table، form و div معرفی و نحوه استفاده از CSS برای استایل‌دهی به این تگ‌ها در Node.js آموزش داده می‌شود.

آشنایی با بوت‌استرپ و ایجاد جدول و فرم با Bootstrap
37 دقیقه

در این ویدئو با بوت‌استرپ، رنگ‌ها، متریال، مفهوم کانتینر و استایل‌های Bootstrap آشنا خواهید شد. همچنین نحوه ایجاد جدول و فرم با استفاده از Bootstrap آموزش داده می‌شود.

معرفی URL، پروتکل HTTP، افعال HTTP و معماری MVC
38 دقیقه

در این ویدئو با مفهوم URL، پروتکل HTTP، افعال HTTP مانند GET، POST، PUT، DELETE، PATCH و معماری MVC آشنا خواهید شد. همچنین مفهوم Middleware و چرخه حیات درخواست را یاد می‌گیرید.

نصب Express، Nodemon و EJS و پیاده‌سازی معماری MVC
1 ساعت و1 دقیقه

در این ویدئو با فریمورک Express و نصب آن آشنا می‌شوید. سپس با Nodemon، EJS و Body-parser آشنا شده و آن‌ها را نصب می‌کنید. همچنین پیکربندی مربوط به هر کدام از این پکیج‌ها را انجام داده و یک مثال ساده از معماری MVC پیاده‌سازی خواهید کرد. در نهایت با HTTP Methods کار کرده و روتر ایجاد می‌کنید و فایل‌های استاتیک EJS را پویا می‌سازید.

نصب تمپلیت پروژه VOD بر روی پروژه
17 دقیقه

در این ویدئو تمپلیت پروژه VOD را دانلود کرده و به‌صورت کامل بر روی پروژه نصب خواهید کرد.

داینامیک کردن صفحات Layout با Express، EJS و ماژول Path
1 ساعت و1 دقیقه

در این ویدئو با استفاده از Express، EJS و ماژول Path صفحات layout پروژه را داینامیک خواهید ساخت.

مفاهیم DOM، AJAX و نصب jQuery در پروژه
40 دقیقه

در این ویدئو با مفاهیم DOM و AJAX آشنا می‌شوید. سپس jQuery را روی پروژه راه‌اندازی کرده و با رویدادهای JavaScript مرورگر و مفاهیم dom-ready و dom-on در jQuery آشنا می‌شوید.

پیاده‌سازی ریپازیتوری و پویاسازی صفحه مدیریت بازیگران
1 ساعت و24 دقیقه

در این ویدئو ریپازیتوری مربوط به بازیگران را پیاده‌سازی کرده، روتر و کنترلر بازیگران را نوشته و صفحه مدیریت بازیگران را پویاسازی خواهید کرد.

تکمیل پیاده‌سازی صفحه مدیریت بازیگران
1 ساعت و8 دقیقه

در این ویدئو ادامه پیاده‌سازی و تکمیل صفحه مدیریت بازیگران را انجام خواهید داد.

پیاده‌سازی ریپازیتوری مربوط به نویسندگان
48 دقیقه

در این ویدئو ریپازیتوری مربوط به نویسندگان را پیاده‌سازی خواهید کرد.

پویاسازی صفحه مدیریت نویسندگان و ایجاد کنترلر، روتر و ویو
57 دقیقه

در این ویدئو صفحه مدیریت نویسندگان را پویاسازی کرده و برای آن کنترلر، روتر و ویو ایجاد خواهید کرد.

تکمیل پویاسازی صفحه مدیریت نویسندگان
58 دقیقه

در این ویدئو ادامه و تکمیل پویاسازی صفحه مدیریت نویسندگان را انجام خواهید داد.

پیاده‌سازی ریپازیتوری کارگردانان و مرور Promise
38 دقیقه

در این ویدئو ریپازیتوری مربوط به صفحات کارگردانان را پیاده‌سازی کرده و به مرور و یادآوری مفهوم Promise خواهیم پرداخت.

پویاسازی مدیریت کارگردانان و استفاده از jQuery Unobtrusive Ajax
1 ساعت و20 دقیقه

در این ویدئو صفحه مدیریت کارگردانان را پویاسازی کرده و با کتابخانه jQuery Unobtrusive Ajax آشنا خواهید شد. همچنین از نشانه‌گذاری data- و attribute selectorها در jQuery استفاده خواهید کرد.

تکمیل پیاده‌سازی صفحه مدیریت کارگردانان
56 دقیقه

در این ویدئو صفحه مدیریت کارگردانان را به طور کامل پیاده‌سازی و تکمیل خواهید کرد.

تکمیل صفحه مدیریت کارگردانان و ساخت کتابخانه Unobtrusive
42 دقیقه

در این ویدئو صفحه مدیریت کارگردانان را کامل‌تر کرده و یک کتابخانه برای نشانه‌گذاری‌های Unobtrusive ایجاد می‌کنیم تا از تکرار کدهای تکراری جلوگیری شود.

پیاده‌سازی ریپازیتوری آهنگسازان
37 دقیقه

در این ویدئو ریپازیتوری مربوط به آهنگسازان را پیاده‌سازی خواهید کرد.

پیاده‌سازی کنترلر، روتر و صفحات آهنگسازان و آشنایی با دیباگ در VSCode
1 ساعت و30 دقیقه

در این ویدئو کنترلرها، روترها و صفحات مربوط به آهنگسازان را پیاده‌سازی کرده و با دیباگ کردن کدها در محیط VSCode آشنا خواهید شد.

پیاده‌سازی ریپازیتوری ژانر
33 دقیقه

در این ویدئو ریپازیتوری مربوط به ژانر را پیاده‌سازی خواهید کرد.

پیاده‌سازی کنترلر، روتر و صفحه مدیریت ژانرها و اعتبارسنجی با Joi
1 ساعت و10 دقیقه

در این ویدئو کنترلر، روترها و صفحه مدیریت ژانرها را پیاده‌سازی خواهید کرد. همچنین اعتبارسنجی داده‌های انتقالی با کتابخانه Joi را انجام داده و خطاها را به کاربر نمایش خواهید داد.

استفاده از متدهای استاتیک در اکما اسکریپت برای مدیریت ژانرها
51 دقیقه

در این ویدئو با متدهای استاتیک در اکما اسکریپت آشنا شده و از آن‌ها برای پیاده‌سازی ادامه صفحه مدیریت ژانرها استفاده خواهید کرد.

کار با ماژول‌های Built-in در Node.js (global، process، logger، fs، os، path)
1 ساعت و34 دقیقه

در این ویدئو با ماژول‌های Built-in در Node.js آشنا شده و با ماژول‌های global، process، logger، fs، os و path کار خواهید کرد.

پیاده‌سازی مدیریت دسته‌بندی‌ها و آپلود عکس با Multer
1 ساعت و17 دقیقه

در این ویدئو صفحه مدیریت دسته‌بندی‌ها را پیاده‌سازی کرده و با استفاده از ماژول Multer، کار با فایل‌ها را یاد می‌گیرید. همچنین با مفاهیمی مانند MIME Type، Extension، destination و disk storage آشنا شده و برای دسته‌بندی‌ها عکس آپلود خواهید کرد.

بررسی متدهای مهم String: replace، slice، includes و بیشتر
33 دقیقه

در این ویدئو با مفهوم String آشنا شده و متدهای مهم آن مانند replace، slice، startsWith، endsWith، includes، split، toUpperCase، toLowerCase، trim و search را بررسی خواهید کرد.

ادامه کار با فایل‌ها و تکمیل صفحه مدیریت دسته‌بندی‌ها
1 ساعت و4 دقیقه

در این ویدئو ادامه کار با فایل‌ها را انجام داده و صفحه مدیریت دسته‌بندی‌ها را به‌طور کامل پیاده‌سازی خواهید کرد.

پیاده‌سازی ریپازیتوری فیلم‌ها
1 ساعت و

در این ویدئو ریپازیتوری مربوط به فیلم‌ها را پیاده‌سازی خواهید کرد.

پیاده‌سازی صفحه مدیریت فیلم‌ها و روابط در Mongoose
27 دقیقه

در این ویدئو صفحه مدیریت فیلم‌ها را پیاده‌سازی کرده و روابط مربوط به داده‌ها را در Mongoose پیاده‌سازی خواهید کرد.

ادامه پیاده‌سازی مدیریت فیلم‌ها و آپلود فایل‌های فیلم‌ها
49 دقیقه

در این ویدئو ادامه پیاده‌سازی صفحه مدیریت فیلم‌ها را انجام داده و فایل‌های مربوط به فیلم‌ها را آپلود خواهید کرد.

پیاده‌سازی برخی امکانات صفحه مدیریت فیلم‌ها
37 دقیقه

در این ویدئو به پیاده‌سازی برخی امکانات صفحه مدیریت فیلم‌ها خواهیم پرداخت.

پیاده‌سازی امکانات دیگر صفحه مدیریت فیلم‌ها
55 دقیقه

در این ویدئو به پیاده‌سازی برخی امکانات دیگر صفحه مدیریت فیلم‌ها خواهیم پرداخت.

پیاده‌سازی امکانات بیشتر صفحه مدیریت فیلم‌ها
1 ساعت و

در این ویدئو به پیاده‌سازی برخی دیگر از امکانات صفحه مدیریت فیلم‌ها خواهیم پرداخت.

تکمیل پیاده‌سازی صفحه مدیریت فیلم‌ها
1 ساعت و3 دقیقه

در این ویدئو به تکمیل پیاده‌سازی صفحه مدیریت فیلم‌ها خواهیم پرداخت.

پیاده‌سازی ریپازیتوری‌های جعبه‌های نمایش
41 دقیقه

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

پویاسازی صفحه مدیریت جعبه‌های نمایش با کنترلر و روترها
56 دقیقه

در این ویدئو صفحه مدیریت جعبه‌های نمایش را با پیاده‌سازی کنترلر و روترها پویاسازی خواهید کرد.

پیاده‌سازی صفحه‌بندی برای جعبه‌های نمایش
1 ساعت و6 دقیقه

در این ویدئو با مفهوم صفحه‌بندی (pagination) آشنا شده و آن را برای جعبه‌های نمایش پیاده‌سازی خواهید کرد.

پیاده‌سازی لینک‌سازی صفحات مدیریت و صفحه 404 NotFound
18 دقیقه

در این ویدئو لینک‌سازی‌های مربوط به صفحات مدیریت را انجام داده و صفحه 404 NotFound را پیاده‌سازی خواهید کرد.

پیاده‌سازی صفحه homepage و استفاده از aggregate در Mongoose
1 ساعت و15 دقیقه

در این ویدئو پیاده‌سازی صفحات ویزیتوری را آغاز کرده و صفحه homepage را پیاده‌سازی می‌کنید. همچنین با مفهوم aggregate در Mongoose آشنا شده و با استفاده از $lookup برای مجموعه‌های مرتبط join می‌نویسید.

مباحث رمزنگاری، احراز هویت و امنیت نرم‌افزار
28 دقیقه

در این ویدئو با مباحث رمزنگاری (cryptography)، احراز هویت و امنیت نرم‌افزار آشنا خواهید شد. انواع حملات به نرم‌افزار، کلیدهای متقارن و نامتقارن، مفاهیم برگشت‌پذیر و برگشت‌ناپذیر، انواع کلید تعیین‌شده و تعیین‌نشده و لایه‌های امنیت نرم‌افزار نیز توضیح داده خواهد شد.

ساخت میان‌افزارهای شخصی‌سازی شده و آشنایی با Chain of Responsibility
39 دقیقه

در این ویدئو با مفهوم میان‌افزار (middleware) در ExpressJS آشنا می‌شوید و یاد می‌گیرید چگونه میان‌افزارهای شخصی‌سازی شده بسازید. همچنین با الگوی طراحی chain of responsibility آشنا خواهید شد.

پیاده‌سازی مدل کاربر، امنیت و ثبت‌نام
44 دقیقه

در این ویدئو مدل‌سازی مربوط به کاربر انجام می‌شود. ریپازیتوری‌های امنیت کاربر پیاده‌سازی شده و پیاده‌سازی رمزگذاری و هش پسورد نیز انجام خواهد شد. همچنین با ماژول crypto آشنا شده و ثبت‌نام کاربر را پیاده‌سازی می‌کنید.

استفاده از Session برای احراز هویت و ثبت‌نام کاربر
1 ساعت و12 دقیقه

در این ویدئو با مفهوم session آشنا شده و Session Store می‌سازید. از Session Cookie برای احراز هویت کاربر استفاده می‌کنید. صفحه ثبت‌نام کاربر را ایجاد کرده و با فرآیند redirect کاربر آشنا خواهید شد.

نصب و پیکربندی Passport.js و پیاده‌سازی صفحه ورود کاربر
1 ساعت و13 دقیقه

در این ویدئو با Passport.js آشنا شده و آن را روی نرم‌افزار نصب می‌کنید. با استراتژی در پاسپورت آشنا می‌شوید و پیکربندی‌های مربوط به آن را انجام داده و صفحه ورود کاربر را با استفاده از Passport.js پیاده‌سازی می‌کنید.

پیاده‌سازی خروج کاربر، دسترسی‌ها و ایمن‌سازی روترها
30 دقیقه

در این ویدئو خروج کاربر از سامانه را پیاده‌سازی می‌کنید. پیکربندی‌های دسترسی‌های کاربر و اجرای authorization را انجام می‌دهید. همچنین Permission مربوط به نقش ادمین را پیاده‌سازی کرده و روترهای خود را ایمن می‌کنید. در صورت عدم دسترسی کاربر، صفحه Access Denied نمایش داده می‌شود و این صفحه نیز پیاده‌سازی خواهد شد.

جلوگیری از حملات DDoS، NoSQL Injection، XSS، HPP و CSRF
41 دقیقه

در این ویدئو با روش‌های جلوگیری از انواع حملات به سامانه آشنا می‌شوید و حملات DDoS، NoSQL Injection، HTTP، XSS، HPP و CSRF را شناسایی کرده و جلوی آن‌ها را خواهید گرفت.

پیاده‌سازی صفحه ویزیتوری دسته‌بندی و بارگذاری ویدئوهای فیلم‌ها
35 دقیقه

در این ویدئو صفحه ویزیتوری دسته‌بندی‌ها را پیاده‌سازی کرده و ویدئوهای مربوط به فیلم‌ها را در صفحه فیلم‌ها بارگذاری خواهید کرد.

پیاده‌سازی صفحه نظرات، مدیریت و بارگذاری صفحات استاتیک
52 دقیقه

در این ویدئو صفحه مربوط به نظرات و مدیریت آن‌ها را پیاده‌سازی کرده، نظرات کاربران را تأیید و پاسخ خواهید داد. همچنین صفحات استاتیک نرم‌افزار را بارگذاری می‌کنید.

فصل پنجم: مفاهیم پایه NODEJS و PACKAGE MANAGER

آشنایی با Thread، Event، CPU Bound، I/O Bound و معماری Node.js
17 دقیقه

در این ویدئو با مفاهیم thread، thread pool، event، process‌های CPU bound و I/O bound، blocking و non-blocking، async و sync آشنا می‌شوید. معماری Node.js و چرخه رویداد آن را بررسی می‌کنید و با کتابخانه libuv و ویژگی‌های آن آشنا خواهید شد.

آشنایی با npmjs و مدیریت پکیج‌ها در Node.js
1 ساعت و27 دقیقه

در این جلسه، با npmjs و npm آشنا می‌شویم، مدیریت پکیج‌ها را توسط npm بررسی می‌کنیم، پکیج اختصاصی خود را روی npmjs منتشر کرده و مفاهیم سمانتک ورژن و فایل‌های package.json و package-lock.json را معرفی می‌کنیم.

فصل ششم: آموزش تایپ اسکریپت

آشنایی با TypeScript، معماری و نصب اولیه
35 دقیقه

در این جلسه با زبان برنامه‌نویسی TypeScript و مستندات رسمی آن آشنا می‌شویم، مفاهیم lexer، parser و semantic را بررسی می‌کنیم، معماری تایپ‌اسکریپت را می‌شناسیم، با npx و Babel آشنا می‌شویم و اولین قدم‌های نصب و اجرای TypeScript را برمی‌داریم.

آشنایی با تایپ‌ها، استک و هیپ و تعیین تایپ در TypeScript
27 دقیقه

در این ویدئو با انواع تایپ‌ها در TypeScript، استک و هیپ در رم آشنا می‌شوید. همچنین با روش‌های تعیین تایپ inference و annotation آشنا شده و با چند تایپ مختلف کار خواهید کرد.

اجرای کد TypeScript و آموزش متدهای رشته‌ای
32 دقیقه

در این جلسه اسکریپت‌های لازم برای کامپایل و اجرای کدهای TypeScript را فرا می‌گیرید و با متدهای مهم رشته‌ای مانند toUpperCase، toLowerCase، slice، split، replace، charAt، substring، concat و سایر توابع کار خواهید کرد.

تایپ‌های پایه و متدهای آرایه در TypeScript
43 دقیقه

در این جلسه با تایپ‌های ساده در تایپ‌اسکریپت مانند Number، Boolean، String، Array، Tuple، Enum، Unknown، Any، Void و Never آشنا می‌شوید. همچنین برخی متدهای مهم کار با آرایه‌ها از جمله length، push، pop، shift، unshift، sort، reverse و کلمه کلیدی delete را یاد می‌گیرید.

کار با توابع، Union Types و ژنریک‌ها در تایپ‌اسکریپت
43 دقیقه

در این جلسه با نحوه تعریف توابع در TypeScript آشنا می‌شوید، آرگومان‌ها را با تایپ مناسب مشخص می‌کنید، از Union Types استفاده می‌کنید، فرآیندهای async را پیاده‌سازی می‌کنید و با مفهوم Generic Types آشنا می‌شوید و توابع ژنریک تعریف می‌کنید.

آموزش اشیا، کلاس‌ها و وراثت در تایپ‌اسکریپت
53 دقیقه

در این جلسه با تعریف اشیا در تایپ‌اسکریپت و نحوه تعیین تایپ برای پارامترها آشنا می‌شوید. سپس با کلاس‌ها و accessorها کار می‌کنید، مفاهیم public و private را یاد می‌گیرید، با constructorها آشنا می‌شوید، وراثت را در TypeScript پیاده‌سازی می‌کنید و از Generic Types در کلاس‌ها استفاده می‌کنید.

آشنایی با تایپ‌های Node.js و interface در تایپ‌اسکریپت
50 دقیقه

در این جلسه با تایپ‌های اختصاصی Node.js آشنا می‌شوید و آن‌ها را روی پروژه نصب می‌کنید. سپس با نوع‌های alias و interface و نحوه پیاده‌سازی آن‌ها در کلاس‌ها آشنا می‌شوید. مفاهیم readonly و کلیدواژه keyof نیز در این جلسه بررسی می‌شوند.

آموزش namespace، decorator و استفاده از TypeScript در Express
41 دقیقه

در این جلسه با مفهوم namespace در تایپ‌اسکریپت آشنا می‌شوید و نحوه استفاده از آن را یاد می‌گیرید. سپس با الگوی decorator در تایپ‌اسکریپت کار می‌کنید و در ادامه نحوه استفاده از تایپ‌اسکریپت در پروژه‌های Express را فرا می‌گیرید.

پیکربندی TypeScript و اجرای پروژه با ts-node و nodemon
42 دقیقه

در این جلسه با نحوه پیکربندی تایپ‌اسکریپت آشنا می‌شوید، پکیج ts-node را برای اجرای مستقیم فایل‌های TS معرفی می‌کنیم، با پرچم‌های کامپایلر TypeScript کار می‌کنید و در نهایت اجرای پروژه را با کمک nodemon پیاده‌سازی می‌کنید.

فصل هفتم: آموزش PostgreSQL

آشنایی با پایگاه داده SQL و PostgreSQL
44 دقیقه

در این جلسه با پایگاه‌های داده رابطه‌ای (SQL) آشنا می‌شوید، اصول ACID و معماری SQL را یاد می‌گیرید. سپس پایگاه داده PostgreSQL را نصب کرده و به آن متصل می‌شوید. با مفاهیم رکورد و فیلد، کلید اصلی (primary key)، و تایپ‌های داده‌ای PostgreSQL آشنا شده و در نهایت جدول می‌سازید و داده وارد می‌کنید.

ساخت پایگاه داده و اجرای دستورات SQL در PostgreSQL
29 دقیقه

در این جلسه ساخت پایگاه داده در PostgreSQL را یاد می‌گیرید و وارد دنیای دستورات SQL می‌شوید. ساخت جدول با CREATE TABLE، درج داده با INSERT INTO، ویرایش با UPDATE SET، حذف با DELETE FROM و تغییر ساختار با ALTER TABLE و DROP COLUMN را تمرین می‌کنید. همچنین با نحوه نوشتن کامنت در PostgreSQL و اجرای دستورات از طریق محیط Command آشنا می‌شوید.

ایجاد روابط بین جداول در SQL و آشنایی با ERD
36 دقیقه

در این جلسه ساخت چندین جدول را با دستورات SQL تمرین می‌کنید، روابط بین جداول را ایجاد می‌کنید، با مفهوم نقشه ERD (نمودار روابط موجودیت‌ها) آشنا می‌شوید و با استفاده از دستورات SQL داده‌ها را در جداول وارد می‌کنید.

نوشتن کوئری‌های شرطی و Aggregation در PostgreSQL
31 دقیقه

در این جلسه نحوه نوشتن کوئری در PostgreSQL را با شرط WHERE و عملگرهای مقایسه‌ای یاد می‌گیرید. با عملگرهای LIKE، IN، BETWEEN، AND و UNION آشنا می‌شوید. سپس با توابع تجمعی (Aggregation) مانند SUM، AVG، MIN، MAX و COUNT کار می‌کنید. در ادامه از دستورات ORDER BY و LIMIT برای مرتب‌سازی و محدود کردن نتایج استفاده می‌کنید.

آشنایی با انواع JOIN در PostgreSQL
40 دقیقه

در این جلسه با انواع مختلف JOIN در پایگاه داده PostgreSQL آشنا می‌شوید و یاد می‌گیرید چطور با استفاده از دستورات INNER JOIN، LEFT JOIN، RIGHT JOIN، FULL JOIN و CROSS JOIN جداول مختلف را به هم متصل کنید. همچنین با دستور UNION برای ترکیب نتایج چند کوئری آشنا خواهید شد.

آموزش Subquery و گزارش‌گیری پیشرفته در PostgreSQL
35 دقیقه

در این جلسه با مفهوم Subquery در پایگاه داده PostgreSQL آشنا می‌شوید. سپس با شرط‌های WHERE EXISTS، WHERE NOT EXISTS و ANY کار می‌کنید. در ادامه با استفاده از توابع Aggregate مانند SUM، COUNT و ... از پایگاه داده گزارش‌گیری می‌کنید و شرط HAVING را برای فیلتر کردن نتایج گروه‌بندی‌شده یاد می‌گیرید.

فصل هشتم: آموزش Sequelize

آشنایی با Sequelize ORM در پروژه‌های Node.js
43 دقیقه

در این جلسه با ORM محبوب Sequelize آشنا می‌شوید، اسناد رسمی آن را بررسی می‌کنید و مراحل اولیه کار با آن در پروژه‌های Node.js و TypeScript را یاد می‌گیرید.

نصب و اتصال Sequelize به پایگاه داده در Node.js
43 دقیقه

در این جلسه نحوه نصب Sequelize در پروژه Node.js را یاد می‌گیرید، با اتصال به پایگاه داده از طریق connection string آشنا می‌شوید و تنظیمات لازم در Sequelize را انجام می‌دهید. در ادامه، مدل‌سازی جداول را با روش Extending پیاده‌سازی می‌کنید.

مدلسازی به روش Define و پیکربندی مدل‌ها در Sequelize
39 دقیقه

در این جلسه با روش تعریف مدل‌ها با استفاده از متد define در Sequelize آشنا می‌شوید، با روش passing به پایگاه داده PostgreSQL متصل می‌شوید، با حالت‌های مختلف جدول‌ها و ویژگی‌هایی مانند timestamps و سایر تنظیمات مدل آشنا خواهید شد و فرایندهای async را در کار با پایگاه داده پیاده‌سازی می‌کنید.

آموزش CRUD در Sequelize با build، create، update و destroy
46 دقیقه

در این جلسه با نحوه ثبت داده در Sequelize از طریق روش‌های build و create آشنا می‌شوید، با مفهوم Change Tracker برای تشخیص تغییرات داده‌ها آشنا می‌شوید، ویرایش اطلاعات را با استفاده از create، set و update یاد می‌گیرید و حذف داده‌ها را با متد destroy انجام می‌دهید. همچنین یاد می‌گیرید که چگونه داده‌ای که تغییر کرده اما هنوز ذخیره نشده را با متد reload بازخوانی کنید.

کوئری‌نویسی، عملگرها و Aggregates در Sequelize
38 دقیقه

در این جلسه با کوئری‌نویسی در Sequelize آشنا می‌شوید. ابتدا نحوه ثبت داده با insert query و سپس جستجو با متدهایی مثل findAll را یاد می‌گیرید. با توابع تجمعی (Aggregates) مانند COUNT و SUM آشنا می‌شوید. در ادامه با ماژول Op برای نوشتن شرط‌ها و عملگرهای مقایسه‌ای مانند gt، lt، in، like و ... کار خواهید کرد.

انواع داده، bulk insert و pagination در Sequelize
52 دقیقه

در این جلسه با انواع داده‌ها (DataTypes) در Sequelize آشنا می‌شوید، ماژول‌بندی ساختار پروژه را فرا می‌گیرید، و با دستور createBulk برای ثبت گروهی داده‌ها کار می‌کنید. سپس با مفاهیم synchronization، صفحه‌بندی (pagination)، مرتب‌سازی (orderBy)، projection و متدهای جستجوی کاربردی مثل findOne، findByPk و findOrCreate آشنا می‌شوید.

آموزش Association و مدل‌سازی روابط در Sequelize
47 دقیقه

در این جلسه با مفهوم Association در Sequelize آشنا می‌شوید و یاد می‌گیرید چگونه روابط بین مدل‌ها را به‌درستی ایجاد کنید. سپس با استفاده از Fluent API در Sequelize، مدل‌سازی پایگاه داده را انجام می‌دهید، روابط مانند one-to-many و many-to-many را تعریف کرده و قوانین مرتبط با foreign key و constraints را تنظیم می‌کنید.

آموزش Migration و استفاده از Sequelize CLI
45 دقیقه

در این جلسه با مفهوم migration در Sequelize آشنا می‌شوید. سپس تنظیمات موردنیاز برای پیکربندی Sequelize را انجام می‌دهید و با ابزار Sequelize CLI کار می‌کنید. در ادامه یاد می‌گیرید چگونه migration بسازید و از آن برای مدیریت ساختار پایگاه داده استفاده کنید.

فصل نهم: آموزش SOLID و معماری نرم‌افزار

اصول SOLID و مفاهیم Coupling در برنامه‌نویسی شی‌گرا
18 دقیقه

در این جلسه با اصول مهم SOLID در طراحی شی‌گرا آشنا می‌شوید. مفاهیم coupling را بررسی می‌کنید و تفاوت tight coupling و loose coupling را درک می‌کنید. سپس به ترتیب اصول SRP (تک مسئولیتی)، OCP (قابل توسعه بودن)، LSP (جانشینی)، ISP (رابط‌های کوچک‌تر) و DIP (وارونگی وابستگی) را یاد می‌گیرید و کاربرد آن‌ها را در پروژه‌های واقعی بررسی می‌کنید.

آموزش معماری لایه‌ای و شناخت لایه‌های نرم‌افزار
17 دقیقه

در این جلسه با معماری پروژه دوم آشنا می‌شوید و مفهوم معماری لایه‌ای را فرا می‌گیرید. همچنین با انواع معماری نرم‌افزار آشنا می‌شوید و لایه‌های مختلف مانند UI، Business، Data، Domain، Framework و Service را بررسی می‌کنید و نقش هرکدام را در ساختار پروژه درک خواهید کرد.

نقشه ERD و پیکربندی پروژه وب‌سایت خبری با TypeScript
43 دقیقه

در این جلسه با نقشه ERD و مدل‌سازی پایگاه داده برای پروژه دوم (وب‌سایت خبری) آشنا می‌شوید. تنظیمات اولیه پروژه شامل نصب TypeScript و ts-node را انجام می‌دهید و اولین مدل یعنی دسته‌بندی اخبار را پیاده‌سازی می‌کنید.

ساخت مدل‌های اصلی پروژه و ایجاد Sequelizer
38 دقیقه

در این جلسه با ادامه فرایند مدل‌سازی پروژه خبری آشنا می‌شوید. یاد می‌گیرید چگونه یک Sequelizer بسازید و مدل‌های اصلی پروژه شامل News، Comment، User و Role را با استفاده از Sequelize و TypeScript تعریف و پیاده‌سازی می‌کنید.

پیاده‌سازی روابط بین مدل‌ها و اتصال به پایگاه داده
51 دقیقه

در این جلسه روابط بین مدل‌های مختلف پروژه مانند News، Comment، User و Role را در Sequelize پیاده‌سازی می‌کنید. سپس به پایگاه داده PostgreSQL متصل می‌شوید و مدل‌ها را با جداول پایگاه داده مپ (map) می‌کنید تا ساختار نرم‌افزار به شکل کامل با دیتابیس هماهنگ شود.

اعتبارسنجی داده‌های انتقالی (DTO) در TypeScript با class-validator
44 دقیقه

در این جلسه مدل‌های داده‌های انتقالی (DTO) مربوط به دسته‌بندی‌ها (Category) را ایجاد می‌کنید. سپس با استفاده از کتابخانه class-validator و قابلیت decorator در TypeScript، اعتبارسنجی این داده‌ها را هنگام ارسال یا دریافت پیاده‌سازی می‌کنید تا از ورود داده‌های ناصحیح به سیستم جلوگیری شود.

ساخت context و لایه Data برای Repository در پروژه خبری
46 دقیقه

در این جلسه شی context پروژه را ایجاد می‌کنید، لایه سرویس مربوط به بخش Data را پیاده‌سازی می‌کنید و اینترفیس‌های پایه و مخصوص Category را به صورت generic طراحی می‌نمایید. در ادامه، Repository مربوط به مدل Category را با رعایت اصول معماری لایه‌ای و با استفاده از Sequelize پیاده‌سازی خواهید کرد.

پیاده‌سازی ریپازیتوری و بارگذاری داده در Sequelize
48 دقیقه

در این جلسه پیاده‌سازی نهایی Category Repository را انجام می‌دهید، با تزریق وابستگی (Dependency Injection) از طریق سازنده کلاس آشنا می‌شوید و مفاهیم Lazy Loading و Eager Loading را در بارگذاری داده‌ها بررسی و پیاده‌سازی می‌کنید.

پیاده‌سازی لایه Business و کنترلر Category در پروژه
44 دقیقه

در این جلسه interfaceهای مرتبط با سرویس در لایه Business را پیاده‌سازی می‌کنید، سپس لایه Business برای دسته‌بندی را توسعه می‌دهید. در ادامه Express را نصب می‌کنید، Router مخصوص دسته‌بندی را ایجاد می‌کنید و در نهایت Controller مربوط به Category را نیز با رعایت معماری لایه‌ای پیاده‌سازی خواهید کرد.

فصل دهم: آموزش REST

آشنایی با REST، قوانین RESTful، متدهای HTTP و ساختار URL
26 دقیقه

در این جلسه با معماری REST و اصول طراحی RESTful آشنا می‌شوید. شش قانون مهم شامل Uniform Interface، Stateless، Client-Server، Cacheable، Layered System و Code on Demand را یاد می‌گیرید. همچنین با ساختار URL، متدهای HTTP (GET, POST, PUT, DELETE)، فرمت‌های JSON و XML و مفاهیم Self-Descriptive و HTTP Header آشنا خواهید شد.

نصب Postman، پیاده‌سازی تزریق وابستگی و بررسی چرخه درخواست‌ها
1 ساعت و

در این جلسه با نرم‌افزار Postman آشنا می‌شوید و آن را نصب می‌کنید. سپس پکیج‌های meta-data-reflect و inversify را به پروژه اضافه می‌کنید. با استفاده از decorator @injectable مفهوم تزریق وابستگی را پیاده‌سازی می‌کنید. با IOC Container آشنا می‌شوید و چرخه‌های مختلف درخواست مانند Singleton، Scope و Transient را پیاده‌سازی می‌کنید. در پایان، نحوه ارسال و بررسی Request و Response‌ها را در Postman مشاهده خواهید کرد.

کار با HTTP Status Code، کنترلر Category و ارسال درخواست با Postman
43 دقیقه

در این جلسه با انواع HTTP Status Code و کاربرد هرکدام آشنا می‌شوید. سپس کنترلر مربوط به دسته‌بندی (Category) را پیاده‌سازی می‌کنید. نرم‌افزار Postman را برای ارسال درخواست‌ها پیکربندی می‌کنید و انواع درخواست‌های GET، POST، PUT و DELETE را ارسال می‌کنید و پاسخ‌ها را بررسی می‌نمایید.

ساخت DTO، سرویس، کنترلر و تست API مربوط به News
1 ساعت و14 دقیقه

در این جلسه ابتدا مدل‌های DTO برای News را ایجاد می‌کنید. سپس interface و پیاده‌سازی لایه Data، سرویس‌های Business، کنترلر و Router مربوط به News را کامل می‌سازید. IOC Container را نیز برای این ماژول پیکربندی می‌کنید. در پایان، با ساخت متغیر در Postman برای هر action از کنترلر News، درخواست‌ها را ارسال کرده و پاسخ‌ها را دریافت می‌کنید.

اصلاح روابط پایگاه داده و دیباگ کدها در پروژه خبری
29 دقیقه

در این جلسه روابط بین جداول پایگاه داده پروژه خبری را بازبینی و اصلاح می‌کنید. مشکلات احتمالی در ارتباطات بین مدل‌ها (مثل Foreign Keyها) را شناسایی کرده و با استفاده از ابزارهای دیباگ در TypeScript و Sequelize، کدها را بررسی و اصلاح می‌کنید تا ارتباطات مدل‌ها به‌درستی کار کنند.

ساخت لایه‌های مختلف Comment و تست آن با Postman
42 دقیقه

در این جلسه ماژول نظرات (Comment) را به‌طور کامل پیاده‌سازی می‌کنید. لایه‌های Data، Business، و Controller مربوط به مدل Comment را ایجاد کرده و با پیکربندی IOC Container، این ماژول را به معماری پروژه متصل می‌کنید. در پایان، با استفاده از Postman درخواست‌های مرتبط را تست کرده و از صحت عملکرد ماژول مطمئن می‌شوید.

پیاده‌سازی Role در لایه‌های مختلف و بررسی عملکرد با Postman
43 دقیقه

در این جلسه پیاده‌سازی‌های مرتبط با ماژول نقش‌ها (Role) را انجام می‌دهید. شامل ساخت لایه‌های Data، Business، Controller و اتصال آن به IOC Container پروژه است. پس از تکمیل این ماژول، با استفاده از Postman تمامی متدهای مربوط به Role را تست می‌کنید و از صحت عملکرد آن‌ها اطمینان حاصل می‌کنید.

مستندسازی API با Swagger و تنظیمات آن در پروژه
26 دقیقه

در این جلسه با Swagger و کاربرد آن در مستندسازی خودکار API آشنا می‌شوید. سپس پکیج‌های موردنیاز را نصب کرده و تنظیمات Swagger را در پروژه وب‌سایت خبری انجام می‌دهید تا بتوانید APIهای خود را به‌صورت گرافیکی و قابل‌فهم مستند کنید.

ساخت ماژول User، اعتبارسنجی، ثبت‌نام، ورود و احراز هویت با JWT
1 ساعت و13 دقیقه

در این جلسه پیاده‌سازی کامل ماژول User را انجام می‌دهید، شامل ساخت مدل‌ها، اعتبارسنجی داده‌ها و ایجاد متدهای ثبت‌نام و ورود. سپس با استفاده از PassportJS و استراتژی JWT، فرآیند احراز هویت را پیاده‌سازی می‌کنید و توکن امنیتی را در پاسخ درخواست‌ها مدیریت می‌کنید.

ادامه احراز هویت با JWT، شروع فرانت‌اند و بررسی Storage
1 ساعت و7 دقیقه

در این جلسه ادامه پیاده‌سازی احراز هویت با JWT Token را با استفاده از Passport انجام می‌دهید. پیکربندی‌های مربوط به توکن‌ها و محافظت از مسیرها را تکمیل می‌کنید. سپس وارد بخش فرانت‌اند پروژه می‌شوید، با ساختار اولیه آن آشنا می‌شوید و انواع Storage در مرورگر مانند LocalStorage، SessionStorage و Cookie را بررسی می‌کنید.

تکمیل احراز هویت، پیاده‌سازی Authorization و خروج از حساب
40 دقیقه

در این جلسه فرآیند احراز هویت کاربر با JWT را کامل می‌کنید و با استفاده از Middlewareهای Passport، دسترسی کاربران را بر اساس نقش‌ آن‌ها کنترل می‌کنید. سپس عملکرد logout را پیاده‌سازی می‌کنید تا کاربران بتوانند از سیستم خارج شوند و توکن آن‌ها حذف شود.

ایمن‌سازی Routerها با احراز هویت و نقش‌ها
20 دقیقه

در این جلسه با استفاده از Middlewareهای احراز هویت و بررسی نقش‌ها، مسیرهای پروژه را ایمن می‌کنید. این کار باعث می‌شود فقط کاربران مجاز به بخش‌های خاصی از API دسترسی داشته باشند. این مرحله از اهمیت بالایی برای امنیت اپلیکیشن برخوردار است و نقش کلیدی در معماری حرفه‌ای پروژه دارد.

فصل یازدهم: دیباگ و تست

بررسی انواع زمان و خطا، آموزش دیباگ در VSCode و Chrome
31 دقیقه

در این جلسه با انواع زمان‌ها در برنامه‌نویسی مانند زمان اجرا (runtime)، زمان کامپایل و زمان پاسخ‌دهی آشنا می‌شوید. سپس با انواع خطاها مانند syntax error، runtime error و logical error آشنا می‌شوید و یاد می‌گیرید چگونه کدهای TypeScript را با استفاده از ابزارهای قدرتمند VSCode و Chrome DevTools به‌صورت حرفه‌ای دیباگ کنید.

معرفی انواع تست نرم‌افزار و پیاده‌سازی تست واحد با Jest
1 ساعت و18 دقیقه

در این جلسه با مفاهیم اولیه تست نرم‌افزار آشنا می‌شوید. تفاوت بین تست‌های Functional و Non-Functional، تست‌های واحد، یکپارچه‌سازی و سیستم را می‌آموزید. همچنین هرم تست (Unit، Integration، End-to-End) را بررسی می‌ک

فصل دوازدهم: WebSocket

آموزش TCP، UDP، ماژول events و ساخت چت روم با Socket.io
1 ساعت و21 دقیقه

در این جلسه با پروتکل‌های شبکه TCP و UDP آشنا می‌شوید و تفاوت آن‌ها را در ارتباطات نرم‌افزاری درک می‌کنید. سپس با ماژول events در Node.js و نحوه استفاده از Emitter آشنا می‌شوید. در ادامه، Socket.io را روی پروژه نصب می‌کنید، تنظیمات لازم را انجام می‌دهید و در نهایت، یک سیستم چت روم ساده با ارتباط بلادرنگ بین کاربران پیاده‌سازی می‌کنید.

آموزش استفاده از Google reCAPTCHA برای افزایش امنیت فرم‌ها
30 دقیقه

در این جلسه یاد می‌گیرید چگونه از Google reCAPTCHA برای محافظت از فرم‌های پروژه خود در برابر اسپم و ربات‌ها استفاده کنید. ابتدا reCAPTCHA را فعال کرده و کلیدهای لازم را دریافت می‌کنید، سپس آن را در سمت فرانت و بک‌اند پیاده‌سازی کرده و اعتبارسنجی درخواست‌های ورودی را با آن انجام می‌دهید.

آشنایی با Git و GitHub و مدیریت سورس پروژه
35 دقیقه

در این جلسه با سیستم کنترل نسخه Git آشنا می‌شوید و دستورات اصلی مانند init، add، commit، push و clone را تمرین می‌کنید. سپس پروژه خود را در GitHub بارگذاری کرده و با نحوه ساخت و مدیریت یک ریپازیتوری آنلاین آشنا می‌شوید.

آموزش Deployment پروژه روی هاست یا سرور واقعی
20 دقیقه

در این جلسه با مراحل انتشار پروژه روی سرویس‌ها یا سرورهای هاستینگ آشنا می‌شوید. از آماده‌سازی فایل‌ها تا نصب وابستگی‌ها و اجرای پروژه در محیط واقعی را یاد می‌گیرید تا پروژه‌تان برای استفاده کاربران نهایی در دسترس قرار گیرد.

نظرات شما

نظرات خود را ثبت کنید...






آموزش برنامه نویسی علیرضا یعقوبی 1403/10/01
دوره Node.js

سلام , خسته نباشید فصل ۴ به بعد ویدیو ها مشکل داره و چیزی نمایش نمیده.

آموزش برنامه نویسی ادمین 1403/10/04

سلام علیرضا عزیز؛ فیلم ها در حال آپلود هستند.


این دوره به سبد خرید اضافه شد
دوره NodeJS 5,000,000
رفتن به سبد خرید