درحال ثبت‌نام

آموزش پیشرفته ASP.NET Core

دوره آموزش پیشرفته ASP.NET Core به شما کمک می‌کند تا مهارت‌های برنامه‌نویسی خود را در این فریم‌ورک قدرتمند و مدرن مایکروسافت به سطحی بالاتر ارتقا دهید. در این دوره، شما با مفاهیم پیشرفته‌ای مانند معماری نرم‌افزار، توسعه وب‌سرویس‌ها، مدیریت امنیت، بهینه‌سازی عملکرد و تست‌نویسی در ASP.NET Core آشنا خواهید شد. با استفاده از روش‌ها و تکنیک‌های نوین، شما قادر خواهید بود تا برنامه‌های پیچیده و مقیاس‌پذیر را در این فریم‌ورک توسعه دهید و در دنیای برنامه‌نویسی حرفه‌ای وب بدرخشید.

اطلاعات دوره

معرفی دوره

این دوره به شما امکان می‌دهد تا مهارت‌های خود را در توسعه وب با این فریم‌ورک قدرتمند ارتقا دهید. در این دوره، به مفاهیم پیشرفته‌ای مانند طراحی معماری نرم‌افزار، توسعه APIهای RESTful، مدیریت امنیت، کار با دیتابیس‌ها، بهینه‌سازی عملکرد، و استفاده از تست‌های اتوماتیک پرداخته می‌شود. همچنین، تکنیک‌هایی برای ساخت اپلیکیشن‌های مقیاس‌پذیر و قابل نگهداری آموزش داده می‌شود. در پایان این دوره، شما قادر خواهید بود تا پروژه‌های پیچیده و حرفه‌ای را با استفاده از ASP.NET Core ایجاد کنید.

مباحث اصلی دوره:

  • معماری نرم‌افزار در ASP.NET Core
  • ساخت و مدیریت APIهای RESTful
  • امنیت و احراز هویت
  • بهینه‌سازی عملکرد و مقیاس‌پذیری
  • تست‌نویسی و پیاده‌سازی فرآیندهای CI/CD

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

همه کلاس‌ها ضبط می‌شوند و در هر زمان برای تمامی دانشجویان، چه آنلاین و چه حضوری، در دسترس خواهند بود!

پشتیبانی مستمر

در گروه اختصاصی دوره، پاسخ سؤالاتتان را بگیرید، پشتیبانی دریافت کنید و با دیگر شرکت‌کنندگان در ارتباط باشید!

مدرک معتبر پایان دوره

با تکمیل دوره، مدرک پایان دوره دریافت کنید و مهارت‌های خود را رسمی کنید!

گروه پرسش و پاسخ

سوال بپرسید، تجربه به اشتراک بگذارید و از دیگران یاد بگیرید، همه در یک فضای آموزشی فعال!

محتوای کاربردی، یادگیری موثر

هر آنچه می‌آموزید، مستقیماً در پروژه‌ها و کار واقعی قابل استفاده است!

جلسه اول رایگان

اولین جلسه را به‌صورت آنلاین و رایگان تجربه کنید، سپس با خیال راحت برای ادامه مسیر تصمیم بگیرید!

این دوره برای چه افرادی مناسب است؟

این دوره برای افرادی مناسب است که قبلاً با مفاهیم پایه‌ای ASP.NET Core آشنا هستند و قصد دارند دانش خود را در این زمینه به سطح پیشرفته‌تری برسانند. اگر شما یک توسعه‌دهنده وب هستید که می‌خواهید با تکنیک‌های حرفه‌ای‌تر و بهترین شیوه‌های طراحی نرم‌افزار در ASP.NET Core آشنا شوید، این دوره برای شما طراحی شده است. همچنین، افرادی که به دنبال بهبود مهارت‌های خود در توسعه APIهای مقیاس‌پذیر، امنیت، و بهینه‌سازی عملکرد در اپلیکیشن‌های وب هستند، می‌توانند از محتوای این دوره بهره‌مند شوند.

  • توسعه‌دهندگان وب با تجربه که می‌خواهند مهارت‌های خود را در ASP.NET Core ارتقا دهند.
  • افرادی که آشنایی اولیه با ASP.NET Core دارند و می‌خواهند به سطح پیشرفته‌تری برسند.
  • توسعه‌دهندگان API که به دنبال یادگیری تکنیک‌های حرفه‌ای در طراحی و ساخت APIهای مقیاس‌پذیر هستند.
  • افرادی که به امنیت وب و مسائل مربوط به آن علاقه دارند و می‌خواهند بهترین شیوه‌های امنیتی را در ASP.NET Core بیاموزند.
  • توسعه‌دهندگانی که به بهینه‌سازی عملکرد اپلیکیشن‌های وب علاقه دارند و می‌خواهند روش‌های بهینه‌سازی در ASP.NET Core را یاد بگیرند.

مفاهیمی که یاد خواهید گرفت

در این بخش، شما با مفاهیم و تکنیک‌های پیشرفته‌ای آشنا خواهید شد که به شما کمک می‌کنند تا در توسعه اپلیکیشن‌های وب با ASP.NET Core به یک توسعه‌دهنده حرفه‌ای تبدیل شوید. در ادامه، موارد کلیدی که در این دوره یاد خواهید گرفت را مشاهده می‌کنید:

  • طراحی و ساخت APIهای RESTful و GraphQL با استفاده از ASP.NET Core
  • پیاده‌سازی احراز هویت و مجوزها با استفاده از JWT و OAuth
  • مدیریت استثناها و خطاها به‌طور کارآمد در اپلیکیشن‌های ASP.NET Core
  • بهینه‌سازی عملکرد برنامه‌ها با استفاده از تکنیک‌های حرفه‌ای
  • امنیت وب و بهترین شیوه‌ها برای محافظت از داده‌ها و سرویس‌ها
  • طراحی معماری‌های مقیاس‌پذیر و استفاده از Dependency Injection
  • کار با پایگاه داده‌ها و استفاده از Entity Framework Core برای ORM

این مفاهیم به شما ابزارها و تکنیک‌های لازم برای توسعه نرم‌افزارهای حرفه‌ای و مقیاس‌پذیر در ASP.NET Core را می‌دهند.

سطح دوره پیشرفته
پیش نیاز دوره حداقل 2 الی 3 سال سابقه برنامه نویسی با Asp.net Core
چالش ورودی دوره ندارد

مدرس دوره

علیرضا ارومند
مدرس، معمار و مشاور ارشد نرم افزار

علیرضا ارومند به عنوان Product Manager شرکت داتین (وابسته به فناپ) در حوزه پروژه‌های بانکی فعال است. او همچنین مدرس و Technical Manager پروژه‌های نیک آموز است؛ از دیگر تخصص‌های او می‌توان به: تولید فریمورک برنامه نویسی فوق العاده حرفه‌ای با مدیریت بیش از ۱ میلیون تراکنش در ثانیه، همکاری با تیم توسعه شرکت ارتباط فردا (بانک آینده)، مشاور فنی شرکت توسعه رفاه پردیس (بانک رفاه)، مدیر فنی خبرگزاری نسیم، سخنران تنها همایش مورد تایید مایکروسافت در خاورمیانه در حوزه ASP.NET Core، مدیر فنی خبرگزاری بین المللی پیام‌کوتاه نسیم (برنده جشنواره وب ایران)، مدرس دوره های Dot Net ، ASP.NET در نیک آموز.

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

بخش اول: آموزش پیشرفته ASP.NET Core

در بخش اول ASP.NET Core را با هم یاد خواهیم گرفت. مطالب این بخش از سطح مقدماتی شروع شده و به سرعت به سراغ بخش‌ها و امکانات پیشرفته می‌رود. این دوره مناسب شروع یادگیری نیست و شما باید پیش از ورود به دوره با فرایند های برنامه نویسی و توسعه نرم‌افزارهای تحت وب آشنا باشید.

در این قسمت با مفاهیم اولیه ASP.NET Core آشنا می‌شوید. یاد می‌گیرید که ASP.NET Core چیست، چه نوع برنامه‌هایی می‌توانید با آن بسازید، و چگونه این فریم‌ورک درخواست‌های HTTP را پردازش می‌کند. همچنین مروری بر مباحثی که در این دوره آمورشی پوشش داده می‌شود، ارائه می‌شود.

1. ASP.NET Core چیست؟ 

2. چه نوع برنامه‌هایی می‌توانید بسازید؟ 

3. انتخاب ASP.NET Core 

4. ASP.NET Core چگونه کار می‌کند؟ 

5. درخواست HTTP چگونه کار می‌کند؟ 

6.   ASP.NET Core چگونه یک درخواست را پردازش می‌کند؟ 

7. در این دوره آمورشی چه چیزی یاد خواهید گرفت؟ 

درک ASP.NET Core

این قسمت به بررسی دلایل ایجاد ASP.NET Core، مزایای استفاده از آن، و پارادایم‌های مختلف این فریم‌ورک می‌پردازد. همچنین یاد می‌گیرید چه زمانی ASP.NET Core بهترین انتخاب برای پروژه‌های شماست.

  1.  استفاده از یک فریم‌ورک وب 
  2.  چرا ASP.NET Core ایجاد شد؟ 
  3.  درک پارادایم‌های مختلف ASP.NET Core 
  4.  چه زمانی ASP.NET Core را انتخاب کنیم؟ 

درک عملکرد ASP.NET Core

در این قسمت، اولین برنامه ASP.NET Core خود را ایجاد می‌کنید. با ساختار پروژه، فایل‌های اصلی مانند .csproj و Program.cs آشنا می‌شوید و یاد می‌گیرید چگونه برنامه خود را اجرا و تست کنید.

  1. مروری کوتاه بر یک برنامه ASP.NET Core 
  2. ایجاد اولین برنامه ASP.NET Core: استفاده از تمپلیت برای شروع و ساخت برنامه 
  3. اجرای برنامه وب 
  4. درک ساختار پروژه 
  5. فایل پروژه .csproj: تعیین وابستگی‌ها 
  6. فایل Program.cs: تعریف برنامه 
  7. افزودن قابلیت‌ها به برنامه 

آشنایی با اولین برنامه ASP.NET Core

این قسمت به بررسی مفهوم Middleware و نقش آن در پردازش درخواست‌ها می‌پردازد. یاد می‌گیرید چگونه Middleware را ترکیب کنید و از آن‌ها برای مدیریت خطاها استفاده نمایید.

  1. تعریف Middleware
  2. ترکیب Middleware در یک Pipeline
  3. مدیریت خطاها با استفاده از Middleware : مشاهده خطاها در محیط توسعه: DeveloperExceptionPage  / مدیریت خطاها در محیط تولید: ExceptionHandlerMiddleware 

 پردازش درخواست‌ها در مسیر به کمک میدل‌ور

در این قسمت، با مفهوم APIهای HTTP آشنا می‌شوید و یاد می‌گیرید چگونه با استفاده از مینیمال APIها، یک API ساده ایجاد کنید و پاسخ‌های JSON تولید نمایید.

  • API HTTP چیست و چه زمانی باید از آن استفاده کرد؟ 
  • تعریف endpointهای مینیمال API : استخراج مقادیر از URL با مسیریابی  / نگاشت افعال HTTP به endpointها / تعریف handlerها با توابع 
  • تولید پاسخ‌ها با IResult: بازگرداندن کدهای وضعیت با Results و TypedResults / بازگرداندن خطاهای مفید با Problem Details / تبدیل تمام پاسخ‌ها به Problem Details / بازگرداندن انواع دیگر داده‌ها 
  • اجرای کد مشترک با فیلترهای endpoint: افزودن چندین فیلتر به یک endpoint / فیلترها یا Middleware: کدام را انتخاب کنیم؟ / تعمیم فیلترهای endpoint / پیاده‌سازی رابط IEndpointFilter 
  • سازمان‌دهی APIها با گروه‌های مسیریابی 

 ایجاد یک API JSON با مینیمال APIها

این قسمت به بررسی مفهوم مسیریابی و نحوه اتصال URLها به  endpointها در ASP.NET Core می‌پردازد. همچنین با سینتکس قالب‌های مسیریابی و پارامترهای اختیاری آشنا می‌شوید.

  1. مسیریابی چیست؟ 
  2. مسیریابی endpointها در ASP.NET Core 
  3. بررسی سینتکس قالب‌های مسیریابی: کار با پارامترها و بخش‌های ثابت / استفاده از مقادیر اختیاری و پیش‌فرض/ افزودن محدودیت‌ها به پارامترهای مسیریابی / تطبیق URLهای دلخواه با پارامتر catchall 
  4. تولید URLها از پارامترهای مسیریابی: تولید URLها برای یک endpoint مینیمال API با LinkGenerator / تولید URLها با IResults / کنترل URLهای تولید شده با RouteOptions 

درک مسیریابی URL

در این قسمت، یاد می‌گیرید چگونه داده‌های درخواست را به مدل‌های برنامه متصل کنید و اعتبارسنجی ورودی‌های کاربر را انجام دهید.

  1. استخراج مقادیر از درخواست با اتصال مدل 
  2. اتصال انواع ساده به درخواست 
  3. اتصال انواع پیچیده به بدنه JSON 
  4. آرایه‌ها: انواع ساده یا پیچیده؟ 
  5. اختیاری کردن پارامترها با nullableها 
  6. اتصال سرویس‌ها و انواع خاص 
  7. اتصال سفارشی با BindAsync 
  8. انتخاب منبع اتصال 
  9.  ساده‌سازی handlerها با AsParameters 
  10.  اعتبارسنجی ورودی کاربر 

اتصال مدل و اعتبارسنجی در مینیمال API

این قسمت به بررسی مفاهیم تزریق وابستگی (Dependency Injection) و نحوه مدیریت سرویس‌ها در ASP.NET Core می‌پردازد. شما یاد خواهید گرفت چگونه سرویس‌ها را ثبت کنید، از آن‌ها استفاده نمایید، و طول عمر سرویس‌ها را مدیریت کنید.

  1. مقدمه‌ای بر تزریق وابستگی و مزایای آن: کاهش وابستگی‌های سخت‌افزاری و ایجاد کد loosely coupled / تسهیل تست‌پذیری و نگهداری کد / استفاده از تزریق وابستگی در ASP.NET Core / معرفی کانتینر DI و نحوه استفاده از آن.
  2. ثبت سرویس‌ها در کانتینر DI: ثبت سرویس‌های سفارشی / ثبت سرویس‌ها با استفاده از اشیا، لامبداها، و رابط‌ها / ثبت سرویس‌ها به صورت چندگانه / تزریق چندین پیاده‌سازی از یک رابط / استفاده از TryAdd برای ثبت شرطی سرویس‌ها
  3. مدیریت طول عمر سرویس‌ها و انواع طول عمر سرویس‌ها: Transient: هر بار یک نمونه جدید ایجاد می‌شود. / Scoped: یک نمونه برای هر درخواست ایجاد می‌شود. / Singleton: تنها یک نمونه در طول عمر برنامه وجود دارد. / Captive Dependencies   چیست؟ / جلوگیری از مشکلات ناشی از طول عمر نادرست سرویس‌ها.
  4. استفاده از سرویس‌ها در برنامه: تزریق سرویس‌ها به کنترلرها، Middleware، و سایر کامپوننت‌ها / حل سرویس‌های scoped خارج از درخواست.

 تزریق وابستگی و مدیریت سرویس‌ها

این قسمت به بررسی مدل پیکربندی در ASP.NET Core می‌پردازد. یاد می‌گیرید چگونه تنظیمات برنامه را مدیریت کنید و از الگوی options برای تنظیمات strongly typed استفاده نمایید.

  1. معرفی مدل پیکربندی ASP.NET Core: ساخت یک شی پیکربندی برای برنامه: افزودن یک ارائه‌دهنده پیکربندی در Program.cs / استفاده از چندین ارائه‌دهنده برای جایگزینی مقادیر پیکربندی / ذخیره ایمن تنظیمات محرمانه / بارگذاری مجدد مقادیر پیکربندی هنگام تغییر 
  2. استفاده از تنظیمات strongly typed با الگوی options: معرفی رابط IOptions / بارگذاری مجدد تنظیمات با IOptionsSnapshot / طراحی کلاس‌های options برای اتصال خودکار / اتصال تنظیمات strongly typed بدون رابط IOptions 
  3. پیکربندی برنامه برای محیط‌های مختلف: شناسایی محیط میزبانی / بارگذاری فایل‌های پیکربندی خاص محیط 

کاوش در پیکربندی ASP.NET Core

در این قسمت، یاد می‌گیرید چگونه با استفاده از Razor Pages یک وب‌سایت ایجاد کنید و با الگوی طراحی MVC آشنا می‌شوید.

  1. اولین برنامه Razor Pages شما: استفاده از تمپلیت Web Application / افزودن و پیکربندی سرویس‌ها / تولید HTML با Razor Pages / مدیریت منطق درخواست با مدل‌های صفحه و handlerها 
  2. بررسی یک صفحه Razor معمولی 
  3. درک الگوی طراحی MVC 
  4. اعمال الگوی طراحی MVC به Razor Pages: هدایت درخواست به یک صفحه Razor و ساخت مدل اتصال / اجرای یک handler با استفاده از مدل برنامه / ساخت HTML با استفاده از مدل نمایش / جمع‌بندی: یک درخواست کامل صفحه Razor 

ایجاد یک وب‌سایت با Razor Pages

 

این قسمت به بررسی نحوه مسیریابی درخواست‌ها به Razor Pages و سفارشی‌سازی قالب‌های مسیریابی می‌پردازد.

  • مسیریابی در ASP.NET Core 
  • مسیریابی مبتنی بر قرارداد در مقابل مسیریابی صریح 
  •  مسیریابی درخواست‌ها به Razor Pages 
  •  سفارشی‌سازی قالب‌های مسیریابی Razor Pages / افزودن یک بخش به قالب مسیریابی / جایگزینی کامل قالب مسیریابی 
  •  تولید URLها برای Razor Pages / تولید URLها برای یک صفحه Razor / تولید URLها برای یک کنترلر MVC / تولید URLها با LinkGenerator 
  • سفارشی‌سازی قراردادها با Razor Pages 

مسیریابی URLها به Razor Pages

در این قسمت، یاد می‌گیرید چگونه از handlerهای صفحه برای تولید پاسخ‌ها در Razor Pages استفاده کنید.

  1. Razor Pages و handlerهای صفحه 
  2. انتخاب یک handler صفحه برای فراخوانی 
  3.  پذیرش پارامترها توسط handlerهای صفحه 
  4.  بازگرداندن پاسخ‌های IActionResult / PageResult و RedirectToPageResult / NotFoundResult و StatusCodeResult 
  5. مدیریت کدهای وضعیت با StatusCodePagesMiddleware 

مسیر تولید پاسخ‌ها با handlerهای صفحه در Razor Pages

در این قسمت، یاد می‌گیرید چگونه داده‌های درخواست را به مدل‌های Razor Pages متصل کنید و اعتبارسنجی ورودی‌های کاربر را انجام دهید.

  1. درک مدل‌ها در Razor Pages و MVC 
  2. از درخواست به مدل اتصال: تبدیل درخواست به داده مفید / اتصال انواع ساده / اتصال انواع پیچیده / انتخاب منبع اتصال 
  3. اعتبارسنجی مدل‌های اتصال / اعتبارسنجی در Razor Pages / اعتبارسنجی در سمت سرور برای امنیت / اعتبارسنجی در سمت کلاینت برای تجربه کاربری بهتر 
  4. سازمان‌دهی مدل‌های اتصال در Razor Pages 

اتصال و اعتبارسنجی درخواست‌ها با Razor Pages

در این قسمت، یاد می‌گیرید چگونه با استفاده از Razor Views، HTML تولید کنید و صفحات وب پویا ایجاد نمایید.

  1. Views: تولید رابط کاربری 
  2. ایجاد Razor Views / Razor Views و کد پشت‌صحنه / معرفی تمپلیت‌های Razor / انتقال داده به Views 
  3. ایجاد صفحات وب پویا با Razor / استفاده از C# در تمپلیت‌های Razor / افزودن حلقه‌ها و شرط‌ها به تمپلیت‌های Razor / تولید HTML با Raw 
  4. Layoutها، partial views و _ViewStart / استفاده از Layoutها برای نشانه‌گذاری مشترک / جایگزینی Layoutهای والد با استفاده از بخش‌ها / استفاده از partial views برای کپسوله‌سازی نشانه‌گذاری / اجرای کد در هر View با _ViewStart و _ViewImports 

 تولید HTML با استفاده از Razor Views

در این قسمت، یاد می‌گیرید چگونه با استفاده از Tag Helpers، فرم‌ها و عناصر HTML ایجاد کنید.

  1. تسهیل کار ویرایشگرها با Tag Helpers 
  2.  ایجاد فرم‌ها با استفاده از Tag Helpers / Tag Helper فرم / Tag Helper برچسب / Tag Helper‌های ورودی و textarea / Tag Helper انتخاب / Tag Helper‌های پیام اعتبارسنجی و خلاصه اعتبارسنجی 
  3. ایجاد لینک‌ها با Anchor Tag Helper 
  4. جلوگیری از کش با Append Version Tag Helper 
  5.  استفاده از نشانه‌گذاری شرطی با Environment Tag Helper 

ایجاد فرم‌ها با Tag Helpers

در این قسمت، یاد می‌گیرید چگونه با استفاده از کنترلرهای MVC یک وب‌سایت ایجاد کنید و تفاوت‌های آن با Razor Pages را درک خواهید کرد.

  1. مقایسه Razor Pages و MVC در ASP.NET Core 
  2. اولین برنامه وب MVC شما 
  3. مقایسه یک کنترلر MVC با PageModel در Razor Pages 
  4. انتخاب یک View از یک کنترلر MVC 
  5.  انتخاب بین Razor Pages و کنترلرهای MVC / مزایای Razor Pages / چه زمانی کنترلرهای MVC را انتخاب کنیم؟ 

ایجاد یک وب‌سایت با کنترلرهای MVC

در این قسمت، یاد می‌گیرید چگونه با استفاده از کنترلرهای وب API، یک API HTTP ایجاد کنید.

  1. ایجاد اولین پروژه وب API 
  2. اعمال الگوی طراحی MVC به یک وب API 
  3. مسیریابی مبتنی بر ویژگی: اتصال متدهای action به URLها / ترکیب ویژگی‌های مسیریابی برای جلوگیری از تکرار / استفاده از جایگزینی توکن برای کاهش تکرار در مسیریابی / مدیریت افعال HTTP با مسیریابی مبتنی بر ویژگی 
  4. استفاده از قراردادهای رایج با [ApiController] 
  5. تولید پاسخ از یک مدل / سفارشی‌سازی فرمت‌های پیش‌فرض: افزودن پشتیبانی از XML / انتخاب فرمت پاسخ با مذاکره محتوا 
  6. انتخاب بین کنترلرهای وب API و مینیمال APIها 

 ایجاد یک API HTTP با کنترلرهای وب API

در این قسمت، با Pipeline فیلترها در MVC و Razor Pages آشنا می‌شوید و یاد می‌گیرید چگونه از آن‌ها استفاده کنید.

  • درک مسیر فیلترهای MVC 
  • مسیر  فیلترهای Razor Pages 
  • فیلترها یا Middleware: کدام را انتخاب کنیم؟ 
  •  ایجاد یک فیلتر ساده 
  • افزودن فیلترها به actionها و Razor Pages 
  • درک ترتیب اجرای فیلترها / ترتیب اجرای پیش‌فرض / جایگزینی ترتیب پیش‌فرض با IOrderedFilter 

 خط لوله فیلترهای MVC و Razor Pages

در این قسمت، یاد می‌گیرید چگونه فیلترهای سفارشی برای برنامه‌های MVC و Razor Pages ایجاد کنید.

  1.  ایجاد فیلترهای سفارشی برای برنامه شما / فیلترهای احراز هویت: محافظت از APIها / فیلترهای منبع: کوتاه‌کردن متدهای action / فیلترهای action: سفارشی‌سازی اتصال مدل و نتایج action / فیلترهای استثنا: مدیریت استثناهای سفارشی برای متدهای action / فیلترهای نتیجه: سفارشی‌سازی نتایج action قبل از اجرا / فیلترهای صفحه: سفارشی‌سازی اتصال مدل برای Razor Pages 
  2. درک کوتاه‌کردن Pipeline
  3. استفاده از تزریق وابستگی با ویژگی‌های فیلتر 

 ایجاد فیلترهای سفارشی برای MVC و Razor Pages

این قسمت به بررسی مفاهیم احراز هویت (Authentication) و مجوز (Authorization) در ASP.NET Core می‌پردازد. شما یاد خواهید گرفت چگونه کاربران را به برنامه خود اضافه کنید، دسترسی آن‌ها را کنترل کنید، و از APIها و برنامه‌های خود در برابر دسترسی‌های غیرمجاز محافظت نمایید.

  1. مقدمه‌ای بر احراز هویت و مجوز / احراز هویت (Authentication): فرآیند شناسایی کاربران و تأیید هویت آن‌ها. / مجوز (Authorization): تعیین سطح دسترسی کاربران به منابع مختلف برنامه. / کاربران و Claims در ASP.NET Core: هر کاربر با مجموعه‌ای از Claims (ادعاها) شناسایی می‌شود که اطلاعاتی مانند نام، نقش، و سایر داده‌های مرتبط را شامل می‌شود.
  2. معرفی ASP.NET Core Identity  / ASP.NET Core Identity چیست؟ یک سیستم مدیریت کاربران است که احراز هویت، مدیریت کاربران، و نقش‌ها را ساده می‌کند. / ایجاد یک پروژه با استفاده از Identity: استفاده از تمپلیت‌های پیش‌فرض برای ایجاد پروژه‌های مبتنی بر Identity. / بررسی ساختار پروژه و مدل داده‌های Identity. / افزودن Identity به پروژه‌های موجود: پیکربندی سرویس‌های Identity. / به‌روزرسانی مدل داده‌ها برای پشتیبانی از Identity. / سفارشی‌سازی صفحات پیش‌فرض Identity.
  3. مدیریت کاربران و نقش‌ها / افزودن کاربران جدید: ثبت‌نام کاربران و ذخیره اطلاعات آن‌ها در پایگاه داده. / مدیریت نقش‌ها: ایجاد نقش‌های کاربری و اختصاص آن‌ها به کاربران. / افزودن داده‌های سفارشی به کاربران: گسترش مدل کاربر برای ذخیره اطلاعات اضافی.
  4. مجوز در ASP.NET Core / جلوگیری از دسترسی کاربران ناشناس: اعمال محدودیت‌ها برای دسترسی به بخش‌های خاص برنامه. / مدیریت درخواست‌های غیرمجاز: بازگرداندن پاسخ‌های مناسب برای کاربران غیرمجاز. / سیاست‌های مجوز مبتنی بر Claims: ایجاد سیاست‌هایی که بر اساس Claims کاربران تصمیم‌گیری می‌کنند. مثال: دسترسی به یک صفحه فقط برای کاربران با Claim خاص. / مجوز مبتنی بر نقش‌ها: محدود کردن دسترسی بر اساس نقش‌های کاربری.
  5. احراز هویت و مجوز برای APIها / احراز هویت توکن‌های Bearer: استفاده از JWT (JSON Web Tokens) برای احراز هویت APIها. / پیکربندی JWT Bearer Authentication در ASP.NET Core. / تست محلی JWT با ابزار userjwts: ایجاد و مدیریت توکن‌های JWT برای تست‌های محلی. / سفارشی‌سازی توکن‌ها برای شبیه‌سازی سناریوهای مختلف. / اعمال سیاست‌های مجوز بر روی endpointها: محدود کردن دسترسی به endpointهای خاص بر اساس نقش‌ها یا Claims.
  6. امنیت پیشرفته / محافظت در برابر حملات رایج: XSS (CrossSite Scripting): جلوگیری از اجرای کدهای مخرب در مرورگر کاربران. / CSRF (CrossSite Request Forgery): جلوگیری از ارسال درخواست‌های جعلی توسط کاربران. / CORS (CrossOrigin Resource Sharing): کنترل دسترسی به APIها از دامنه‌های دیگر.
  7. سفارشی‌سازی و گسترش Identity / سفارشی‌سازی صفحات پیش‌فرض Identity: تغییر ظاهر و رفتار صفحات ثبت‌نام، ورود، و مدیریت حساب کاربری. / افزودن قابلیت‌های جدید به Identity: مثال: افزودن احراز هویت دو مرحله‌ای (2FA).

درک احراز هویت و مجوز در ASP.NET Core 

در این قسمت، یاد می‌گیرید چگونه از لاگ‌گیری برای نظارت و عیب‌یابی برنامه‌های خود استفاده کنید.

  •  استفاده موثر از لاگ‌گیری در برنامه‌های تولیدی / برجسته‌سازی مشکلات با استفاده از پیام‌های لاگ سفارشی / انتزاع‌های لاگ‌گیری در ASP.NET Core 
  •  افزودن پیام‌های لاگ به برنامه شما / سطح لاگ: اهمیت پیام لاگ / دسته لاگ: کدام کامپوننت لاگ را ایجاد کرده است؟ / قالب‌بندی پیام‌ها و ثبت مقادیر پارامترها 
  • کنترل محل نوشتن لاگ‌ها با ارائه‌دهنده‌های لاگ‌گیری 
  • تغییر سطح جزئیات لاگ با فیلتر کردن 
  •  لاگ‌گیری ساختاریافته: ایجاد لاگ‌های قابل جستجو و مفید / افزودن یک ارائه‌دهنده لاگ‌گیری ساختاریافته به برنامه / استفاده از scopeها برای افزودن ویژگی‌ها به لاگ‌ها 

فرآیند نظارت و عیب‌یابی با لاگ‌گیری

در این قسمت، یاد می‌گیرید چگونه برنامه‌های ASP.NET Core را منتشر و استقرار دهید.

  1.  درک مدل میزبانی ASP.NET Core / اجرا در مقابل انتشار یک برنامه ASP.NET Core / انتخاب روش استقرار برای برنامه شما 
  2. انتشار برنامه در IIS  / پیکربندی IIS برای ASP.NET Core / آماده‌سازی و انتشار برنامه در IIS 
  3. میزبانی برنامه در لینوکس / اجرای برنامه ASP.NET Core پشت یک پروکسی معکوس در لینوکس / آماده‌سازی برنامه برای استقرار در لینوکس 
  4. پیکربندی URLها برای برنامه شما 

انتشار و استقرار برنامه شما

این قسمت به بررسی نحوه افزودن HTTPS و بهبود امنیت برنامه‌های ASP.NET Core می‌پردازد.

  1. چرا به HTTPS نیاز داریم؟ / مزایای استفاده از HTTPS: رمزنگاری ارتباطات و جلوگیری از استراق سمع. / افزایش اعتماد کاربران با استفاده از گواهی‌های SSL/TLS.
  2. استفاده از گواهی‌های توسعه HTTPS در ASP.NET Core / پیکربندی Kestrel برای استفاده از گواهی‌های توسعه. / تست HTTPS در محیط توسعه.
  3. پیکربندی Kestrel با یک گواهی HTTPS تولیدی / نحوه استفاده از گواهی‌های SSL/TLS در محیط تولید. / پیکربندی Kestrel برای پشتیبانی از HTTPS.
  4. اعمال HTTPS برای کل برنامه / استفاده از هدرهای HTTP Strict Transport Security (HSTS). / تغییر مسیر از HTTP به HTTPS با Middleware تغییر مسیر HTTPS. / رد درخواست‌های HTTP در برنامه‌های API.
  5. بهبود امنیت برنامه / دفاع در برابر حملات XSS (CrossSite Scripting). / محافظت در برابر حملات CSRF (CrossSite Request Forgery). / کنترل دسترسی به APIها با CORS (CrossOrigin Resource Sharing). / جلوگیری از حملات تزریق SQL و سایر بردارهای حمله.

تقویت امنیت برنامه‌های ASP.NET Core 

در این قسمت، یاد می‌گیرید چگونه از میزبان عمومی و کلاس Startup برای ساخت برنامه‌های ASP.NET Core استفاده کنید.

  1. جداسازی نگرانی‌ها بین دو فایل 
  2. کلاس Program: ساخت یک میزبان وب 
  3. کلاس Startup: پیکربندی برنامه شما 
  4.  ایجاد یک IHostBuilder سفارشی 
  5. درک پیچیدگی‌های میزبان عمومی 
  6. انتخاب بین میزبان عمومی و میزبانی مینیمال 

ساخت برنامه‌های ASP.NET Core

در این قسمت، یاد می‌گیرید چگونه Pipeline Middleware را سفارشی کنید و از الگوی options برای پیکربندی پیشرفته استفاده نمایید.

  1. سفارشی‌سازی Pipeline Middleware / ایجاد برنامه‌های ساده با Run / انشعاب Pipeline Middleware با Map / افزودن به Pipeline با Use / ساخت یک کامپوننت Middleware سفارشی / تبدیل Middleware به endpointهای مسیریابی 
  2.  استفاده از تزریق وابستگی با OptionsBuilder و IConfigureOptions 
  3. استفاده از یک کانتینر تزریق وابستگی شخص ثالث 

پیکربندی پیشرفته ASP.NET Core

در این قسمت، یاد می‌گیرید چگونه کامپوننت‌های سفارشی مانند Tag Helpers و View Components ایجاد کنید.

  1. ایجاد یک Tag Helper سفارشی Razor / چاپ اطلاعات محیطی با یک Tag Helper سفارشی / ایجاد یک Tag Helper برای مخفی‌کردن شرطی عناصر / ایجاد یک Tag Helper برای تبدیل Markdown به HTML 
  2. View Components: افزودن منطق به partial views 
  3. ایجاد یک ویژگی اعتبارسنجی سفارشی 
  4.  جایگزینی فریم‌ورک اعتبارسنجی با FluentValidation / مقایسه FluentValidation با ویژگی‌های DataAnnotations / افزودن FluentValidation به برنامه شما 

کامپوننت‌های سفارشی RAZOR و MVC

در این قسمت، یاد می‌گیرید چگونه با استفاده از IHttpClientFactory، APIهای خارجی را فراخوانی کنید.

  • فراخوانی APIهای HTTP: مشکل با HttpClient 
  • ایجاد HttpClient با IHttpClientFactory / استفاده از IHttpClientFactory برای مدیریت طول عمر HttpClientHandler / پیکربندی کلاینت‌های نام‌گذاری شده در زمان ثبت / استفاده از کلاینت‌های تایپ‌دار برای کپسوله‌سازی فراخوانی‌های HTTP 
  • مدیریت خطاهای موقت HTTP با Polly 
  • ایجاد یک HttpMessageHandler سفارشی 

مدیریت کارآمد و ایمن فراخوانی‌های IHttpClientFactory با API

در این قسمت، یاد می‌گیرید چگونه وظایف پس‌زمینه و سرویس‌های بدون رابط کاربری ایجاد کنید.

  1. اجرای وظایف پس‌زمینه با IHostedService / اجرای وظایف پس‌زمینه با تایمر / استفاده از سرویس‌های scoped در وظایف پس‌زمینه 
  2.   ایجاد سرویس‌های بدون رابط کاربری با IHost / ایجاد یک سرویس کارگر از یک تمپلیت / اجرای سرویس‌های کارگر در محیط تولید 
  3. هماهنگی وظایف پس‌زمینه با Quartz.NET / نصب Quartz.NET در یک برنامه ASP.NET Core / پیکربندی یک job برای اجرا در زمان‌بندی با Quartz.NET / استفاده از clustering برای افزودن افزونگی به وظایف پس‌زمینه 

کاوش در جنبه های مختلف خدمات پس زمینه

این قسمت به بررسی نحوه تست برنامه‌های ASP.NET Core با استفاده از xUnit و تست‌های یکپارچه می‌پردازد.

  1. مقدمه‌ای بر تست در ASP.NET Core / انواع تست‌ها: تست واحد (Unit Testing). تست یکپارچه (Integration Testing). 
  2. ایجاد اولین پروژه تست با xUnit: نصب و پیکربندی xUnit / ایجاد تست‌های ساده با Fact و Theory.
  3. تست واحد در ASP.NET Core 
  4. تست یکپارچه: تست کل برنامه در حافظه: ایجاد یک TestServer با استفاده از بسته Test Host. / تست برنامه با WebApplicationFactory. / جایگزینی وابستگی‌ها در WebApplicationFactory. / کاهش تکرار با ایجاد یک WebApplicationFactory سفارشی.
  5. ایزوله‌کردن پایگاه داده با ارائه‌دهنده EF Core در حافظه / استفاده از پایگاه داده در حافظه برای تست‌های یکپارچه. / مدیریت داده‌های تست و بازنشانی پایگاه داده بین تست‌ها.

تسلط بر تست های xUnit با ASP.NET Core 

بخش دوم: الگوهای طراحی نرم‌افزار

اصول و الگوهای طراحی نرم افزار برای سال‌های متمادی به عنوان یکی از پایه‌های اصلی مهندسی نرم‌افزار مدرن مطرح بوده‌اند. این اصول از پرکاربردترین اصول مهندسی نرم‌افزار هستند که تقریباً هر شرکتی دانش آن‌ها را ضروری می‌داند، اگر نگوییم پرکاربردترین‌ها هستند. این بخش از دوره به شما آموزش می‌دهد که اصول SOLID چیست و چرا این‌قدر مهم هستند. همچنین با مثال‌های عملی درک کاملی از این اصول و الگوها بدست خواهید آورد. در این بخش به طور مختصر به برخی دیگر از اصطلاحات رایج مانند DRY، YAGNI و KISS نیز می‌پردازد که توسط اکثر توسعه‌دهندگان نرم‌افزار به‌طور گسترده استفاده می‌شوند.

  1. در این قسمت، با ۵ اصل کلیدی در طراحی شی‌ءگرا آشنا می‌شوید که پایه‌گذار کدهایی منعطف، تست‌پذیر و قابل نگهداری هستند. این اصول به شما کمک می‌کنند معماری نرم‌افزار خود را حرفه‌ای‌تر طراحی کنید:

    • SRP (Single Responsibility Principle) – اصل تک‌وظیفه‌ای بودن

    • OCP (Open/Closed Principle) – باز بودن برای توسعه، بسته بودن برای تغییر

    • LSP (Liskov Substitution Principle) – جایگزینی قابل اعتماد کلاس‌های فرزند به‌جای والد

    • ISP (Interface Segregation Principle) – تفکیک واسط‌های بزرگ به چند واسط کوچک

    • DIP (Dependency Inversion Principle) – وابستگی به انتزاع، نه به پیاده‌سازی

    • DRY (Don’t Repeat Yourself) – جلوگیری از تکرار در کدنویسی

تسلط بر اصول SOLID

  1. در این بخش با الگوهایی آشنا می‌شوید که وظیفه ایجاد اشیاء را به شکلی منعطف و قابل توسعه مدیریت می‌کنند. این الگوها از پایه‌های مهم طراحی شی‌ءگرا هستند:

    • Singleton – ایجاد تنها یک نمونه از یک کلاس

    • Factory – ساخت شیء از طریق کلاس سازنده بدون وابستگی مستقیم

    • Builder – ساخت مرحله‌ای اشیاء پیچیده

    • Prototype – کپی کردن اشیاء از نمونه‌های اولیه

درک الگوهاس طراحی شی‌گرا

  1. الگوهای ساختاری روی نحوه ترکیب کلاس‌ها و اشیاء برای ایجاد ساختارهای بزرگ‌تر تمرکز دارند. در این سرفصل با موارد زیر آشنا می‌شوید:

    • Flyweight – بهینه‌سازی حافظه از طریق اشتراک داده‌های مشترک

    • Adapter – سازگار کردن دو رابط ناسازگار با یکدیگر

    • Bridge – جداسازی abstraction از پیاده‌سازی

    • Composite – طراحی ساختار درختی و سلسله‌مراتبی

    • Decorator – افزودن رفتار به اشیاء بدون تغییر کد اصلی

    • Façade – ساده‌سازی استفاده از سیستم‌های پیچیده با یک رابط ساده

    • Proxy – کنترل دسترسی و مدیریت واسطه‌ای بین کاربر و شیء واقعی

الگوهای ساختاری

  1. در آخر، با الگوهایی آشنا می‌شوید که به مدیریت تعاملات بین اشیاء و نحوه پاسخ‌گویی آن‌ها به رویدادها کمک می‌کنند. این الگوها در طراحی سیستم‌های مقیاس‌پذیر و منعطف بسیار مؤثر هستند:

    • Mediator – هماهنگ‌کننده بین اشیاء برای کاهش وابستگی مستقیم

    • Strategy – انتخاب الگوریتم‌ها به صورت دینامیک در زمان اجرا

    • Chain of Responsibility – ارسال درخواست در زنجیره‌ای از گیرنده‌ها

    • Command – جداسازی درخواست از اجرا و امکان ذخیره و بازگشت

    • Interpreter – تفسیر و اجرای دستورات خاص یک زبان تعریف‌شده

    • Iterator – پیمایش ساختارهای داده‌ای بدون آشکار کردن جزئیات آن‌ها

    • Memento – ذخیره‌سازی و بازگردانی وضعیت یک شیء

    • Observer – اطلاع‌رسانی تغییرات بین اشیاء وابسته

    • State – تغییر رفتار شیء براساس وضعیت داخلی آن

    • Template Method – تعریف اسکلت الگوریتم و امکان سفارشی‌سازی در زیرکلاس‌ها

انواع الگوهای رفتاری

چارچوب برگزاری دوره

فرایند برگزاری و زمانبندی

ارزیابی و ثبت نام دوره ثبت نام
تاریخ برگزاری (شروع ) 21 خرداد
روزهای جلسات چهارشنبه - ساعت ۱۷:۳۰ الی ۲۰:۳۰
طول دوره 30 ساعت (10 جلسه ۳ ساعته)
روز
ساعت
دقیقه
ثانیه
تا پایان ثبت نام

۳۰% تخفیف ثبت‌نام دوره

حضوری

ظرفیت باقی‌مانده: 25 نفر

محل‌برگزاری: تهران، یوسف‌آباد، نیک‌آموز (مسیریابی)

امکان پرداخت 4 قسطه با

11,000,000
7,700,000 تومان
آنلاین

ظرفیت باقی‌مانده: 28 نفر

پلتفرم برگزاری: لحظه‌نگار

امکان پرداخت 4 قسطه با

8,000,000
5,600,000 تومان

رزرو ظرفیت رایگان، تصمیم‌گیری با خیال راحت!

اگر هنوز برای ثبت‌نام قطعی تصمیم نگرفته‌اید اما می‌خواهید ظرفیت خود را حفظ کنید، فرم زیر را تکمیل کنید. با توجه به محدودیت ظرفیت، اولویت با افرادی است که زودتر رزرو خود را انجام دهند.

"*" فیلدهای الزامی را نشان می دهد

از تجربه تا نتیجه!

شرکت‌کنندگان این دوره از دانشجویان کلاس‌های استاد ارومند هستند و نظرات واقعی‌شان را درباره سبک تدریس و کلاس‌ها می‌گویند. تجربه‌هایشان را بشنوید و با اطمینان تصمیم بگیرید!

نمونه مدرک نیک آموز

مدرک نیک آموز نشان‌دهنده تخصص و مهارتی است که شما را برای موفقیت در آزمون‌های استخدامی و پروژه‌های حرفه‌ای آماده می‌کند. همچنین، شما می‌توانید پس از دریافت مدرک، آن را مستقیماً به بخش Education پروفایل لینکدین خود اضافه کرده و رزومه خود را معتبرتر کنید

نمونه آموزش‌ها

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

شرکت در جلسه اول آنلاین این دوره رایگان می‌باشد، جهت ثبت‌نام کلیک کنید.

سوالات متداول دوره آموزش پیشرفته ASP.NET Core​

1. این دوره برای افرادی که هیچ تجربه‌ای با ASP.NET Core ندارند مناسب است؟

خیر، این دوره به‌طور خاص برای افرادی طراحی شده که با مفاهیم پایه‌ای ASP.NET Core آشنایی دارند و در تلاش هستند که مهارت‌های خود را در زمینه‌های پیشرفته‌تر مانند امنیت، معماری نرم‌افزار، و طراحی APIهای پیچیده تقویت کنند. بنابراین، داشتن تجربه مقدماتی در ASP.NET Core پیش‌نیاز لازم است.

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

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

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

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

بله، در این دوره به‌طور مفصل به کار با پایگاه‌داده‌ها پرداخته می‌شود. شما با استفاده از Entity Framework Core و تکنیک‌های پیشرفته در ارتباط با پایگاه‌داده‌ها، از جمله Migration، مدل‌سازی پیچیده داده‌ها و بهینه‌سازی پرس‌وجوها آشنا خواهید شد تا بتوانید با داده‌های حجیم و پیچیده به‌صورت مؤثر کار کنید.

سوالات متداول عمومی

1. پخش لایو (زنده) دوره به چه صورت است؟

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

شما بصورت چت آنلاین می توانید سوالات خود را بپرسید و مدرس هم سوالات شما را پاسخ خواهد داد. البته توجه داشته باشید که این پروسه پاسخگویی هر ۴۰ دقیقه یکبار خواهد بود تا مدرس رشته کلام از دستش خارج نشود. البته که گروه تلگرامی دوره در اختیار شما است و می توانید سوالات خود را آنجا هم مطرح کنید.

بله. شما برای شرکت در کلاس و نصب نرم افزارهای مورد نیاز (اعلان خواهد شد) باید با خود لپ تاپ همراه داشته باشید.

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

بله، پس از اتمام دوره و گذراندن آزمون پایانی، گواهی معتبری به شما ارائه می‌شود که می‌توانید آن را در رزومه خود ثبت کنید.

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

درخواست مشاوره

"*" فیلدهای الزامی را نشان می دهد

ثبت‌نام جلسه اول رایگان

"*" فیلدهای الزامی را نشان می دهد