توسعهدهنده کامل NestJS. فریمورک سازمانی Node.js
-
زیرنویس فارسی و انگلیسی
- زندگی فعال
- 32 اپیزود
- 3 ساعت و 36 دقیقه
- سطح متوسط
در این دوره چه چیز هایی می آموزید؟
اپیزودها
این دوره شامل چهار بخش است: مقدمه، ساختار یک برنامه، پایداری و تستها. همه بخشها تمرکز بر اصول اولیه NestJS دارند. اما این پایان سفر نیست. من قصد دارم به طور مداوم این دوره را توسعه دهم و همه موضوعات جالب مرتبط با NestJS را مطرح کنم. موارد زیادی در اطراف وجود دارد. اگر به موضوع خاصی علاقهمند هستید، لطفاً به من اطلاع دهید و من به پیشنهاد شما نگاه میکنم.
در این بخش، یک اپلیکیشن "سلام دنیا" خواهیم ساخت و مفاهیم اصلی پشت فریمورک NestJS را توضیح خواهیم داد. دوست دارم بهطور خاص بر روی تزریق وابستگی تمرکز کنم، زیرا این موارد پایه و اساس این فریمورک هستند.
قبل از اینکه بخواهیم قدرت nest.js را کشف کنیم، نیاز به انجام برخی آمادهسازیها داریم. البته به یک کامپیوتر با سیستمعامل نیاز داریم. من بر روی مک کار میکنم، اما واقعاً کار کردن بر روی سیستمعاملهای دیگر نیز بسیار آسان است.علاوه بر این، شما به موارد زیر نیاز دارید:مدیر بسته (مانند Brew برای مک)،Git،NVM،Node.js،ویرایشگر کد راحت (من Visual Studio Code رایگان را پیشنهاد میکنم)،Nest CLI.
در این درس، ما قرار است یک برنامه Hello World در NestJS ایجاد کنیم. این کار ساده است. ما از Nest CLI برای تولید یک پروژه جدید Nest.js استفاده خواهیم کرد. در نهایت، ما برنامه خود را اجرا خواهیم کرد و جمله "Hello World!" را در مرورگر مشاهده خواهیم کرد.
ما به ساختار برنامه تولید شده نگاه خواهیم کرد و خواهیم دید که چه اتفاقاتی در پشت صحنه میافتد. من تصمیم گرفتم این جلسه را به دو قسمت تقسیم کنم. در این قسمت، مفاهیم پایه Nest.js مانند ماژول، کنترلر و سرویس را توضیح میدهم.
ما به بررسی جزئیات NestJS ادامه خواهیم داد. در این سخنرانی بر روی تستها، اسکریپتهای موجود در فایل package.json و فایل tslint.json تمرکز خواهیم کرد.
بر اساس تعریف در ویکیپدیا، تزریق وابستگی یک تکنیک است که توسط آن یک شیء وابستگیها را به شیء دیگری تامین میکند. پیادهسازی عملی این تکنیک بسیار ساده است و ما واقعاً به NestJS نیازی نداریم.NestJS از ابزاری بسیار قویتر استفاده میکند. NestJS به شدت از کانتینر تزریق وابستگی استفاده میکند. کانتینر تزریق وابستگی، تکنیک تزریق وابستگی را خودکارتر میکند. الگوی تزریق وابستگی یکی از راهها برای پیادهسازی اصل معکوسسازی وابستگی (Dependency Inversion Principle) است که یکی از قوانین SOLID به شمار میرود.
امیدوارم از NestJS لذت ببرید. در اینجا مفاهیم و توضیحات زیادی وجود داشت. قسمتهای بعدی عملیتر خواهند بود.
در این بخش به منطق کسبوکار برنامه تمرکز خواهیم کرد. ما اولین ماژول خود را ایجاد کرده و یک سرویس در داخل آن خواهیم ساخت. این ماژول همچنین شامل یک کنترلر و تستهای واحد و تستهای انتها به انتها (e2e) خواهد بود.
در این درس، ما فقط متادادههای برنامهمان را تغییر خواهیم داد. دیگر برنامهی hello world نخواهد بود. این یک حافظهسازی مکان جالب خواهد بود.
در این درس ما بر روی راهاندازی موتور قالب و تولید یک صفحه ساده تمرکز خواهیم کرد.
تغییرات در برنامه ما میتواند رفتار تستهای ما را تغییر دهد. به این موضوع توجه کنید و فراموش نکنید که همه تستها را اجرا کنید. ما تست e2e را خراب کردهایم و آن را Fix خواهیم کرد.
مدولها واقعاً ابزارهای قدرتمندی در دستان توسعهدهنده هستند. به لطف آنها، ما میتوانیم دامنه یک برنامه بزرگ را به مدولهای بهخوبی جداشده کاهش دهیم. هر مدول میتواند توسط یک شخص یا حتی یک تیم متفاوت نگهداری شود، بنابراین باید ارتباطات ضعیفتری بین مدولها وجود داشته باشد. در این درس ما بر روی ایجاد یک مدول مکان تمرکز خواهیم کرد.
هر ماژول دارای ساختار خاص خود است که شامل کنترلرها، سرویسها و لایه ماندگاری است. در این درس، ما بر روی یک سرویس تمرکز خواهیم کرد.
ما یک ماژول مکان بهخوبی جداسازیشده ایجاد کردهایم که بهعنوان اولین بخش از برنامه به آن افتخار میکنیم. این ماژول شامل تمام منطق کسبوکار مربوط به مکانها میباشد.
در بخش آخر ما یک تغییر ساختاری بسیار بزرگ انجام دادیم و بیشتر تستها را خراب کردیم. در این بخش، ما آنها را دوباره عالی خواهیم کرد.
من قول دادم که با توضیحاتی در مورد نحوه صحیح مدیریت پیکربندی برنامهمان برگردم.
نصب PostgreSQL تنها پیشنیازی برای سفر ما به لایه ماندگاری است.
در این درس، ما قرار است ارتباط بین برنامه و پایگاه داده Postgres را راهاندازی کنیم.
در این درس ما قصد داریم یک موجودیت جدید ایجاد کنیم. این یک آمادگی برای یک بازسازی بزرگتر خواهد بود.
من به شما نشان میدهم که چگونه موجودیتها را به DTO تبدیل کنید. این درس ممکن است طولانی باشد - من تصمیم گرفتم این درس را به دو بخش تقسیم کنم.
در این درس، من قصد دارم موجودیتها را به DTO تبدیل کنم. این قسمت دوم در مورد تبدیل موجودیتها به DTOها است.
ما یک بازنگری بزرگ انجام دادهایم و مفاهیم اضافی زیادی را که عمدتاً بر روی لایهی پایدار متمرکز هستند، معرفی کردهایم. دوست دارم تمام دانش را در این درس خلاصه کنم.
در بخش آخر کار فوقالعادهای در پیادهسازی لایه پایداری انجام دادیم. خوشحالیم که موفق به ایجاد تفکیک خوب بین لایههای مختلف اپلیکیشن شدیم. این یک بازنگری بزرگ بود و بیشتر تستها را خراب کردیم. در این بخش قصد داریم دوباره آنها را عالی کنیم.
ما به یک کتابخانهی شبیهسازی نیاز داریم. من سینون را انتخاب کردهام که آن را بهترین میدانم.
ما قرار است location.service.ts را اصلاح کنیم.
کارخانه جنریک یک ابزار کمک آزمون است که موجودیتهای شبیهسازی شده را ایجاد میکند.
ما یک کارخانه عمومی ایجاد کردهایم. بیایید از آن برای شبیهسازی موجودیتها استفاده کنیم.
MockHelper فقط یک انتزاع ایجاد شده است تا از تکرار کد در تستهای واحد جلوگیری کند.
ما قصد داریم location.controller.spec.ts. را اصلاح کنیم.
این آزمون اصلاحش آسانترین است، زیرا یک آزمون جعبه سیاه است. برنامه ما تقریباً مانند قبل عمل میکند. فقط تغییرات ظاهری در قالبها وجود دارد.
ما تمام آزمایشها را اصلاح کردهایم. به زودی آزمایشهای جدیدی را ایجاد خواهیم کرد.
اکشن های دوره
توضیحات دوره
نسٹجیاس (یا به سادگی نسٹ) یک فریمورک تازه، آسان برای شروع و چالشی برای تسلط بر آن در node.js است که از بهترین الگوهای SOLID الهام گرفته، اما برای ایجاد برنامههای مدرن نوشته شده است. ماژولهای مخصوصی مانند ماژول GraphQL، ماژول WebSockets و ماژول MicroServices وجود دارند.
مستندات نسٹ الگوها و ابزارهای پختهای را توصیف میکند که افقهای توسعهدهندگان را گسترش میدهد، مانند CQRS، OpenAPI، Prisma و غیره.
اگر بتوانم در ابتدای کارم چیزی به خودم بگویم، توصیه میکنم که سازوکار فریمورکهای پخته را یاد بگیرم و کتابهای آنکل باب را بخوانم.
من node.js را دوست دارم و نسٹ یکی از بهترین بخشهای آن است.
این دوره شما را از آغاز تا حالتهای پیشرفتهتر راهنمایی خواهد کرد. من قصد دارم به طور مداوم آن را بروزرسانی کنم تا با نیازهای شما و تمام اخبار به روز باشد. بیایید با هم بهترین دوره کامل نسٹجیاس را ایجاد کنیم.
✅ این دوره برای چه کسانی مناسب است؟
- توسعه دهندگان Mid JavaScript/node js که وانمود می کنند نرم افزار سازمانی ایجاد می کنند.
- توسعه دهندگان با تجربه در ایجاد نرم افزار سازمانی کنجکاو هستند که در جهان node js چگونه به نظر می رسد.
✅ این دوره چه پیشنیازهایی دارد؟
دانش سطح متوسط در مورد جاوا اسکریپت
دانش اولیه در مورد TypeScript
بتوانید از ترمینال استفاده کنید
با برنامه نویسی شی گرا آشنا باشید
دانشجویان دیگر خریده اند
- 13 اپیزود
- 2 ساعت و 23 دقیقه
- سطح متوسط
- 20 اپیزود
- 1 ساعت و 50 دقیقه
- سطح مقدماتی
- 11 اپیزود
- 2 ساعت و 5 دقیقه
- 9 اپیزود
- 1 ساعت و 14 دقیقه
- سطح مقدماتی
- 15 اپیزود
- 1 ساعت و 19 دقیقه
- 16 اپیزود
- 1 ساعت و 25 دقیقه
استاد دوره
دوره های بیشتر از استاد ماراد، مرکز آموزش از راه دور
کامنت ها
هشتگ ها
-
32 اپیزود در مجموع 3 ساعت و 36 دقیقه
-
12 دانشجو
-
دسترسی مادام العمر به دوره
-
قابل استفاده روی تلفن همراه و رایانه
-
گواهینامه پایان دوره ماراد
کامنت شما با موفقیت ارسال شد
ثبت گزارش دوره
برای ارسال گزارش میبایست ابتدا وارد شوید
گزارش شما با موفقیت ارسال شد
ورود / ثبت نام
برای فالو کردن استاد ابتدا وارد شوید
ثبت نام در دوره
برای مشاهده این اپیزود باید در دوره ثبت نام کنید.