مسترکلاس NestJS - از مبتدی تا پیشرفته
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- یادگیری تمام شماتیکهای اپلیکیشن NestJS - آشنایی با فریمورک NestJS و تمام کامپوننتهای آن
- احرازهویت کاربر با استفاده از JSON Web Tokens و Google Authentication - شامل توکنهای رفرش و بهترین شیوههای امنیت
- استقرار اپلیکیشن تولید روی ابر AWS با استفاده از Cloudfront و S3 برای فایلهای رسانه
- یادگیری جزئیات تزریق وابستگی در NestJS و درک مکانیزمهای پشت آن
- کار با TypeORM و PostgreSQL - بررسی عمیق روابط پایگاه داده، تراکنشها، مهاجرتها و کوئری با TypeORM
- اعتبارسنجی داده درخواست با استفاده از پایپها در NestJS و سریالسازی داده پاسخ با استفاده از رهگیرها
- بررسی عمیق محافظها در NestJS برای فیلتر درخواستها و دکوراتورهای سفارشی برای افزودن متادیتا و اصلاح payload درخواست
- پوشش دقیق و عمیق محیطها و پیکربندی در یک اپلیکیشن NestJS با اعتبارسنجی متغیرهای محیطی
- مستندسازی اندپوینتهای REST API با API Specifications و Swagger
- استفاده از Compodoc برای مستندسازی کد و سازماندهی پایگاه کد برای تیمهای بزرگ
- استفاده از تست در NestJS با نوشتن تست واحد و تست End To End برای اپلیکیشن خود
- استفاده از MongoDB همراه با Mongoose برای ایجاد اسکیمای داده و ذخیره داده در MongoDB با استفاده از NestJS
- یادگیری نحوه آپلود فایلها با استفاده از NestJS و ذخیره فایلهای رسانه در Amazon S3 برای ارائه با استفاده از Cloudfront CDN
- درک کامل چرخه عمر درخواست و پاسخ NestJS و نقش هر یک از شماتیکها
- یادگیری نحوه طراحی و توسعه REST APIs با استفاده از استانداردهای صنعتی و بهترین شیوهها
پیشنیازهای دوره
- داشتن درک اولیه از تایپ اسکریپت و یا جاوا اسکریپت
توضیحات دوره
NestJS، فریمورک نودجیاس برای ساخت اپلیکیشنهای کارآمد، قابل اعتماد و مقیاسپذیر سمت سرور است. ساختار آن از انگولار الهام می گیرد. Nest با یش از 3 میلیون دانلود در NPM در هفته محبوبیت پیدا کرده است.
در حالی که NestJS را یاد می گرفتیم، منحنی یادگیری بسیار شیبدار بود. ای کاش یک دوره آموزشی دقیق و با ساختار وجود داشت که مسیر یادگیری ما را آسان می کرد. به همین دلیل است که ما این دوره را ارائه کردیم، به طوری که دیگر توسعهدهندگانی که در تلاش برای یادگیری NestJS هستند مجبور نباشند از چنین منحنی یادگیری شیبداری عبور کنند.
ما می توانیم به شما اطمینان دهیم که «مسترکلاس NestJS» دقیقترین، گستردهترین، ساختارمندترین و عمیقترین دوره در بازار است و هیچ دوره دیگری مانند مسترکلاس NestJS، تضمین ندارد.
مسترکلاسNestJS یک دوره عملی است. ما با هم کار می کنیم تا یک اپلیکیشن REST API سمتسرور برای یک وبلاگ بسازیم. ما هنگام کدنویسی این اپلیکیشن مفاهیم را یاد می گیریم، بنابراین تمام مثالهای این دوره، یوزکیسهای واقعی هستند. در حین برنامهنویسی این اپلیکیشن، ویژگیهای مختلف NestJS را یاد میگیریم و عمیقتر به مکانیزم داخلی NestJS می پردازیم.
برنامه درسی به خوبی طراحی شده و ساختاریافته است.
در حین طراحی برنامه درسی مسترکلاس NestJS، زمان و تلاش زیادی را صرف فکر کردن و اطمینان از این موضوع کردهایم که یادگیری NestJS را برای دانشجویان آسان میکند. در اینجا لیست جزئی از مباحث تحت پوشش مسترکلاس NestJS و آنچه میتوانید از هر بخش انتظار داشته باشید آمده است. برای لیست دقیق همه مباحث تحت پوشش به بخش برنامه درسی مراجعه کنید.
- درک ماژولها - ما شما را با ماژولهای NestJS، نحوه کار آنها، مکانزم داخلی نحوه لینک شدن آنها به یکدیگر و شماتیکهای مختلفی که با ماژولها از جمله سرویسها و ارائهدهندگان استفاده میشود، آشنا میکنیم.
- اعتبارسنجی و پایپها - این بخش مهمی است که توضیح میدهد چگونه میتوانید از پکیجهایی مانند اعتبارسنجی کلاس و پایپها در NestJS برای اعتبارسنجی داده ورودی به اپلیکیشن خود استفاده کنید.
- تزریق وابستگی - تزریق وابستگی ستون فقرات فریمورک NestJS است. ما عمیقتر به نحوه کارکرد آن و نحوه استفاده از آن میپردازیم تا اطمینان حاصل کنیم که اپلیکیشن شما ماژولار باقی میماند. ما روی تمام وابستگیهای ممکن، از جمله وابستگیهای دایره ای بین ماژولها کار میکنیم.
- مستندسازی کد - شما با ویژگیهای NestJS آشنا میشوید که به شما امکان میدهد اندپوینتهای API را با استفاده از API Specification و کد منبع اپلیکیشن خود با استفاده از Compodoc مستند کنید.
- TypeORM و پایگاه دادههای رابطهای - TypeORM یکپارچهسازی نزدیک با NestJS دارد. ما از PostgreSQL در اپلیکیشن REST API که میسازیم استفاده میکنیم و یاد میگیریم که چگونه از تمام ویژگیهای TypeORM در هنگام ساخت یک اپلیکیشن واقعی استفاده کنیم.
- روابط پایگاه داده - این بخش به شما درباره روابط در پایگاه دادههای SQL و نحوه استفاده از TypeORM برای تنظیم آنها میآموزد. اینها شامل روابط one-to-one و one-to-many و many-to-many است. این بخش با جزئیات و به خوبی طراحی شده که تمام تصورات غلط درباره اتصالات پایگاه داده را از بین می برد.
- محیطهای پیکربندی در NestJS - اپلیکیشنها اغلب در محیطهای مختلف اجرا می شوند. بسته به محیط، تنظیمات پیکربندی متفاوتی باید استفاده شود. NestJS یک سیستم خوب طراحی شده برای مدیریت پیکربندیها دارد.
- مدیریت استثناها - مدیریت خوب استثناها در یک اپلیکیشن بسیار مهم است، زیرا تجربه توسعهدهندگان و کاربران اپلیکیشن را بهبود می بخشد. ما به ویژگیهایی نگاه میکنیم که NestJS ارائه میکند که به ما کمک میکند استثناها را در یک اپلیکیشن مدیریت کنیم.
- تراکنشهای پایگاه داده - تراکنشهای پایگاه دادهزمانی مهم هستند که می خواهید عملیاتهای CRUD را انجام دهید، که به طور همزمان بر چندین انتیتی تأثیر می گذارد و به یکدیگر وابسته هستند. ما به تراکنشهای TypeORM عمیقتر می پردازیم تا ببینیم چگونه میتوان از آنها با NestJS استفاده کرد.
- احرازهویت کاربر با JSON Web Tokens - ما روی ساخت سیستم احرازهویت کاربر با استفاده از JWT کار میکنیم و مکانیزم پشت یک سیستم ایمن و خوب طراحی شده را یاد میگیریم.
- محافظها و دکوراتورها - محافظها و دکوراتورها تعدادی از شماتیکهای مهم ارائه شده توسط NestJS هستند. ما از محافظها برای فیلترینگ درخواستهای غیرمجاز و دکوراتورها برای تنظیم متادیتا و پیوست payloads به درخواستهای ورودی استفاده میکنیم.
- Google Authentication - اپلیکیشنهای مدرن به هم متصل هستند و معمولاً با استفاده از سرویسهایی مانند Google OAuth فرآیند ثبتنام آسانی را ارائه میدهند. ما از Google Authentication همراه با سرویس احرازهویت JWTs که برای اپلیکیشن NestJS ایجاد کرده ایم استفاده میکنیم.
- آپلودهای فایل - اکثر اپلیکیشنها به مکانیزم آپلود فایلها نیاز دارند تا کاربران بتوانند فایلها را روی سرور آپلود کرده و بعداً از آنها استفاده کنند. شما با رهگیرهای NestJS و نحوه استفاده از آنها برای آپلود فایلها در NestJS آشنا می شویم.
- تست واحد و End-to-End - باید گفت که NestJS برای نگه داشتن کدهایی که می نویسید ماژولار ساخته شده تا بتوانید آن را به سرعت تست کنید. برای انجام این عمل، ماژولهای اختصاصی برای تست واحد و تست end-to-end در NestJS برای این دوره ایجاد کردهایم.
- Mongoose و MongoDB - بسیاری از اوقات، شما نیاز به استفاده از پایگاه دادههای NoSQL مانند MongoDB با اپلیکیشن NestJS دارید. ما دقیقاً در این بخش این کار را انجام میدهیم. بنابراین، مهم نیست که از چه پایگاه دادهای می خواهید استفاده کنید، مسترکلاس NestJS مناسب است.
- استقرار در AWS - ما تمام جزئیات ذاتی استقرار اپلیکیشن تولید در AWS را بررسی میکنیم. ما همچنین با استفاده از CloudFront CDN و باکتهای S3، آپلود و ارائه فایلهای رسانه برای اپلیکیشن خود را بررسی میکنیم.
- و خیلی موارد دیگر
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان Node یا جاوا اسکریپت که به یک فریمورک قوی برای توسعه بکاند نیاز دارند.
- توسعهدهندگان جاوا اسکریپت که میخواهند به توسعه بکاند بپردازند.
- توسعهدهندگان Node که میخواهند یاد بگیرند که چگونه REST APIs بکاند عملکردی بسازند.
- تیمهای بزرگی که به دنبال پذیرش فریمورک برای توسعه بک اند نودجیاس هستند.
- توسعهدهندگانی که میخواهند یاد بگیرند که چگونه از NestJS با TypeORM و همچنین Mongoose با استفاده از PostgreSQL و MongoDB استفاده کنند.
- کسی که میخواهد فریمورک NestJS را یاد بگیرد و باید دانش عمیقی درباره این فریمورک به دست آورد.
مسترکلاس NestJS - از مبتدی تا پیشرفته
-
مسترکلاس مقدمه NestJS 03:15
-
آنچه در این دوره خواهیم ساخت 01:14
-
NestJS چیست؟ 09:12
-
راهاندازی محیط توسعه 02:29
-
نصب NestJS CLI 05:18
-
ایجاد اولین اپلیکیشن NestJS ما 09:21
-
کد Boilerplate در NestJs 01:22
-
بهترین مسیر یادگیری دوره 01:54
-
ماژولها چه هستند؟ 07:59
-
چگونه NestJS بوتاسترپ میشود؟ (main.ts) 03:58
-
درک ماژول اپلیکیشن 06:02
-
ایجاد ماژول جدید کاربران 09:56
-
REST API چیست؟ 16:27
-
راهاندازی Postman و httpYac 06:48
-
ایجاد کنترلرها 08:26
-
کار با دکوراتورهای مسیریابی 05:01
-
پارامترها، کوئری و بادی 13:37
-
کامپوننتهای درخواست اضافی 04:52
-
ارائهدهندگان در NestJS 03:54
-
پایپها چه هستند؟ 06:02
-
نیازهای اعتبارسنجی و تبدیل 03:38
-
اعتبارسنجی پارامترها با پایپها داخلی 05:45
-
اعتبارسنجی پارامترهای کوئری 05:03
-
آشنایی با DTO 02:58
-
ایجاد اولین DTO ما 10:12
-
اتصال DTO به متد مسیر 07:41
-
پایپهای گلوبال و اجتناب از درخواستهای مخرب 05:29
-
تبدیل به یک نمونه DTO 03:01
-
استفاده از DTOs با پارامترها 05:52
-
استفاده از تایپهای نگاشت شده برای اجتناب از داپلیکیشن کد 07:04
-
آشنایی با وارونگی کنترل 10:20
-
تزریق وابستگی در NestJS 09:17
-
ایجاد سرویس کاربران 04:47
-
متد findall کاربران 05:21
-
متد findOneById کاربران 01:26
-
تمرین - ایجاد ماژول پستها 00:50
-
راهحل - ایجاد ماژول پستها 05:29
-
انواع وابستگیها 02:06
-
ایجاد مسیر GET برای پستها با DTO 04:01
-
بازگردانی پستها از سرویس پستها 01:50
-
استفاده از سرویس کاربران در داخل سرویس پستها 04:27
-
تمرین - ایجاد ماژول احرازهویت 00:33
-
راهحل - ایجاد ماژول احرازهویت 02:05
-
وابستگی دایرهای 08:56
-
مستندسازی با NestJS 05:39
-
مشخصات Open API 01:33
-
فعالسازی Swagger در NestJS 04:27
-
افزودن متدهای پیکربندی به Swagger 07:18
-
مستندسازی کاربران GET 09:46
-
تمرین - اندپوینت POST و DTO برای کنترلر پستها 03:04
-
راهحل - اندپوینت POST و DTO برای کنترلر پستها 07:04
-
افزودن اعتبارسنجیها به CreatePostDto 07:18
-
کار با DTOs تودرتو 06:07
-
تست اعتبارسنجی 07:37
-
استفاده از Swagger برای مستندسازی CreatePostDto 13:17
-
تایپهای نگاشت شده با استفاده از Swagger 11:05
-
شروع کار با Compodoc 04:44
-
پوشش Compodoc و JSDocs 05:46
-
کار با پایگاه دادهها در NestJS 04:36
-
ORM چیست؟ 06:53
-
نصب PostgreSQL بهصورت محلی 05:25
-
افزودن psql به PATH 03:06
-
اتصال NestJS به PostgreSQL 07:26
-
استفاده از پیکربندی غیرهمزمان 03:29
-
درک نظری از الگوی مخزن 06:16
-
ایجاد اولین انتیتی ما - user.entity 06:54
-
گسترش تعریف انتیتی 08:18
-
ایجاد اولین مخزن 16:15
-
تمرین - ایجاد انتیتی پست 00:33
-
راهحل - ایجاد انتیتی پست 10:27
-
روابط در پایگاه داده SQL 04:55
-
ایجاد انتیتی تگها 09:21
-
ایجاد انتیتی گزینههای متا 04:13
-
بروزرسانی فایلهای DTO 07:20
-
بارگذاری خودکار انتیتیها 03:50
-
روابط One to One 01:47
-
روابط One to One یکطرفه 04:52
-
ایجاد سرویس MetaOptions 09:11
-
ایجاد پست با روابط 15:21
-
ایجاد آبشار با روابط 05:29
-
کوئری با بارگذاری مشتاق 04:26
-
حذف انتیتیهای مرتبط 08:51
-
روابط One to One دوطرفه 02:11
-
ایجاد رابطه دوطرفه 07:10
-
حذف آبشار با روابط دوطرفه 06:11
-
روابط One To Many 01:49
-
ایجاد رابطه One To Many 03:34
-
ایجاد پست با Author 10:33
-
بارگذاری مشتاق Author 02:50
-
روابط Many To Many 01:50
-
تمرین - سرویس برای ایجاد تگها 00:49
-
راهحل - سرویس تگها 05:13
-
تست سرویس تگها 02:31
-
روابط Many To Many یکطرفه 09:20
-
کوئری در روابط Many To Many 02:32
-
بروزرسانی پست با تگهای جدید 16:11
-
حذف پست و رابطه 02:43
-
روابط Many To Many دوطرفه 02:26
-
حذف آبشار با روابط Many To Many 07:43
-
حذف نرم تگها 07:02
-
آشنایی با محیطها 02:47
-
نصب ماژول پیکربندی 03:40
-
استفاده از سرویس پیکربندی 04:10
-
تأیید NODE_ENV هنگام تست 05:46
-
بارگذاری شرطی محیطها 07:41
-
تزریق جزئیات پایگاه داده 05:55
-
فایلهای پیکربندی سفارشی 11:53
-
فایلهای پیکربندی با فضاهای نام 04:30
-
پیکربندی ماژول و رجیستریشن جزئی 07:11
-
اعتبارسنجی متغیرهای محیطی 06:45
-
آشنایی با مدیریت استثنا 02:28
-
استثناهای Http داخلی 01:05
-
شناسایی نقاط خرابی 03:51
-
مدیریت استثنا - Constraints مدل 11:28
-
مدیریت استثنای ایجاد کاربر 04:53
-
Throw کردن یک استثنای سفارشی 05:58
-
تمرین - مدیریت استثناها پس از بروزرسانی 00:49
-
راهحل - مدیریت استثناها پس از بروزرسانی 07:00
-
درک تراکنشها 04:06
-
TypeORM QueryRunner 03:13
-
ایجاد اولین تراکنش 13:26
-
چرا ایجاد پست یک تراکنش نیست؟ 02:28
-
ایجاد ارائهدهندگان چندگانه 08:15
-
بروزرسانی DTO 10:18
-
تمرین - مدیریت استثناها برای CreateManyUsers 00:36
-
راهحل - مدیریت استثناها برای CreateManyUsers 06:14
-
آشنایی با صفحهبندی 04:14
-
ایجاد DTO کوئری صفحهبندی 13:15
-
افزودن صفحهبندی به کوئری 06:24
-
ماژول صفحهبندی و رابط 09:10
-
استفاده از paginateQuery 04:10
-
ساخت آبجکت پاسخ 10:37
-
تکمیل پاسخ صفحهبندی شده 09:35
-
آشنایی با احرازهویت 03:38
-
هش کردن و Salting پسوردها 05:20
-
ایجاد ارائهدهندگان هش کردن 06:36
-
پیادهسازی ارائهدهنده هش 03:35
-
ثبتنام کاربر 12:50
-
کنترلر ورود کاربر به سیستم 12:21
-
تکمیل متد ورود کاربر به سیستم 08:29
-
کد پاسخ سفارشی 03:51
-
درک JWTs 07:25
-
افزودن پیکربندی JWT 09:33
-
تولید JWT 05:54
-
امضاهای توکن JWT 03:58
-
معرفی محافظها 02:10
-
ایجاد AccessTokenGuard 09:21
-
تکمیل پیادهسازی AccessTokenGuard 05:42
-
تست AccessTokenGuard 06:45
-
اعمال AccessTokenGuard به طور گلوبال 05:24
-
تمرین - اعتبارسنجیها برای متغیرهای محیطی JWT 00:30
-
راهحل: - اعتبارسنجیها برای متغیرهای محیطی JWT 01:36
-
دکوراتورها چه هستند؟ 05:22
-
اولین دکوراتور ما 09:42
-
استراتژی محافظ احرازهویت 03:15
-
ایجاد AuthenticationGuard 11:53
-
پیادهسازی AuthenticationGuard 18:22
-
درک payload کاربر 04:51
-
ایجاد دکوراتور کاربر فعال 09:33
-
تمرین - ریفکتور createPostDto 01:10
-
راهحل - ریفکتور createPostDto 10:01
-
آشنایی با توکنهای رفرش 03:56
-
پیکربندی توکن رفرش 04:56
-
ارائهدهنده تولید توکنها 06:09
-
متد تولید توکنها 05:25
-
تولید توکن رفرش هنگام ورود به سیستم 02:50
-
تولید توکن دسترسی با استفاده از توکن رفرش 09:51
-
ایجاد اندپوینت توکن رفرش 04:54
-
استراتژی Google Authentication 03:35
-
ایجاد پروژه گوگل 05:26
-
تنظیم پیکربندی 08:39
-
مقداردهی اولیه کلاینت Google Auth 05:34
-
استراتژی پیادهسازی Google Authentication 07:22
-
پیادهسازی احرازهویت با Google Token 05:30
-
اپلیکیشن ریاکت در فرانتاند 10:38
-
متد createGoogleUser 06:11
-
تکمیل Google Authentication 03:23
-
تست Google Authentication 01:18
-
معرفی رهگیرها و سریالسازی 03:41
-
سریالسازی انتیتی کاربر 04:37
-
رهگیر داده گلوبال 06:04
-
افزودن نسخه API 06:50
-
آشنایی با آپلودهای فایل 03:14
-
راهاندازی S3 و Cloudfront 09:45
-
ماژول آپلودها و پیکربندی 10:24
-
ایجاد انتیتی آپلود 06:36
-
سرویس و کنترلر آپلود فایل 08:03
-
UploadToAwsProvider 14:07
-
تکمیل سرویس آپلودها 12:01
-
تست آپلودهای فایل 06:01
-
آشنایی با ایمیلهای نوتیفیکیشن 01:48
-
راهاندازی حساب Mailtrap 01:23
-
پیکربندی برای ایمیلهای نوتیفیکیشن 06:28
-
پیکربندی NestJS Mailer 09:11
-
ایجاد MailService 06:21
-
تست سرویس ایمیل 07:09
-
فعالسازی CSS درونخطی 02:08
-
آشنایی با تست 03:24
-
تنظیمات تست 01:52
-
درک تستهای واحد 09:36
-
تست UsersService 04:45
-
ماک کردن ارائهدهندگان 06:21
-
تست متد سرویس 10:40
-
فایل مشخصات جدید برای CreateUserProvider 06:14
-
ماک کردن مخازن 07:34
-
ماک کردن سایر ارائهدهندگان 04:15
-
استفاده از مخزن ماک برای تست 10:02
-
اجرای تستها 02:30
-
تست End To End چیست؟ 03:51
-
تست پایگاه داده و پیکربندی 02:02
-
کپسولهسازی منطق ایجاد اپلیکیشن 04:49
-
ایجاد اولین تست E2E 06:35
-
تکمیل چرخه عمر بارگذاری اپلیکیشن 10:12
-
کپسولهسازی بوتاسترپ اپلیکیشن 04:08
مشخصات آموزش
مسترکلاس NestJS - از مبتدی تا پیشرفته
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:همه سطوح
- تعداد درس:214
- مدت زمان :24:22:06
- حجم :9.21GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy