2cc9

دوره جامع و پروژه محور .Net Aspire

کدسل برنامه نویسی وب Asp.Net Core

لینک کوتاه https://codecell.ir/course/2cc9
5٬750٬000تومان
مدرس: سهراب قیصری
تعداد ویدیوها: 16
مدت زمان دوره: 09:17:18
وضعیت دوره: در حال برگزاری
آخرین بروزرسانی: 1403/07/19
به اشتراک گذاری
نظرات
0
آموزش های پیشنهادی:
دیگر آموزش های مدرس:
آموزش جامع و پروژه محور .Net Aspire

.Net Aspire چیست؟

.NET Aspire یک فریمورک برای ساخت برنامه‌های کاربردی قابل مشاهده، آماده تولید و توزیع شده است. اپلیکیشن‌های بومی ابری اغلب به جای استفاده از یک پایه کد یکپارچه، از قطعات کوچک و متصل به هم یا میکروسرویس‌ها تشکیل می‌شوند. برنامه‌های بومی ابری معمولاً تعداد زیادی از خدمات مانند پایگاه‌های داده، پیام‌رسانی و کش را مصرف می‌کنند.

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

چرا .NET Aspire ؟

.NET Aspire برای بهبود تجربه ساخت برنامه‌های دات نتی ابری بومی (cloud-native) طراحی شده است. .NET Aspire مجموعه‌ای از ابزارها و الگوهای منسجم را ارائه می‌کند که به شما در ساخت و اجرای برنامه‌های توزیع‌شده کمک می‌کند. .NET Aspire برای کمک به شما در موارد زیر طراحی شده است:

  • ارکستراسیون(Orchestration): دات نت Aspire ویژگی هایی را برای اجرا و اتصال برنامه های چند پروژه ای و وابستگی های آنها به محیط های توسعه local ارائه می دهد.
  • کامپوننت ها: کامپونت های .NET Aspire بسته‌های NuGet برای سرویس‌های پرکاربرد، مانند Redis یا Postgres با اینترفیس ‌های استاندارد شده هستند، که تضمین می‌کنند به‌طور پیوسته و یکپارچه به برنامه شما متصل می‌شوند.
  • ابزارسازی(Tooling): .NET Aspire با الگوهای پروژه و تجربیات ابزارسازی برای Visual Studio، Visual Studio Code و dotnet CLI به شما در ایجاد و تعامل با پروژه‌های NET Aspire کمک کند.

مزایای NET Aspire

  • بهره وری: در .Net Aspire وظایف مختلف مربوط به پیکربندی و مدیریت برنامه های کاربردی ابری به صورت خودکار انجام می شود و این مووضع به توسعه دهندگان این امکان را می دهد تا بر نوشتن منطق تجاری و ارائه ویژگی ها تمرکز کنند.

  • سازگاری: کامپوننت ها و پیکربندی‌های استاندارد تضمین می‌کنند که برنامه‌ها با استفاده از بهترین شیوه‌ها ساخته می‌شوند و احتمال خطاها و ناسازگاری‌ها را کاهش می‌دهند.

  • مقیاس پذیری: .Net Aspire برای رسیدگی به پیچیدگی های سیستم های توزیع شده طراحی شده است. .Net Aspire ساخت برنامه هایی را آسان تر می کند که بتوانند برای پاسخگویی به تقاضای روزافزون مقیاس شوند.

  • قابلیت مشاهده: ویژگی‌های گزارش جامع، telemetry و health check، بینش عمیقی را در مورد رفتار برنامه ارائه می‌کند و نظارت و نگهداری آن را آسان‌تر می‌کند.

ارکستراسیون(Orchestration) در .Net Aspire

در NET Aspire، ارکستراسیون در درجه اول بر بهبود تجربه توسعه محلی یا local با ساده کردن مدیریت پیکربندی و اتصالات درونی برنامه ابری شما متمرکز است. مهم است که توجه داشته باشید که ارکستراسیون دات نت Aspire به منظور جایگزینی سیستم های قوی مورد استفاده در محیط های تولید، مانند Kubernetes نیست. در عوض، مجموعه‌ای از انتزاع‌ها را ارائه می‌کند که راه‌اندازی Service Discovery، environment variable ها و پیکربندی‌های کانتینر را ساده می‌کند و نیاز به پرداختن به جزئیات پیاده‌سازی سطح پایین را از بین می‌برد. این انتزاعات یک الگوی راه‌اندازی ثابت را در بین برنامه‌ها با کامپوننت ها و سرویس های متعدد تضمین می‌کند و مدیریت برنامه‌های پیچیده را در مرحله توسعه آسان‌تر می‌کند.

ارکستراسیون .NET Aspire به نگرانی های زیر کمک می کند:

  • ترکیب برنامه (App composition): پروژه های دات نت، کانتینرها، فایل های اجرایی و منابع ابری که برنامه را تشکیل می دهند را مشخص می کند.
  • Service discovery و مدیریت connection string ها: app host در .NET Aspire تزریق وابستگی، رشته‌های اتصال، پیکربندی‌های شبکه و اطلاعات service discovery مناسب را برای ساده‌سازی تجربه توسعه‌دهنده مدیریت می‌کند.

کامپوننت های NET Aspire

کامپوننت های NET Aspire بسته‌های NuGet هستند که برای ساده کردن اتصالات به سرویس‌ها و پلتفرم‌های محبوب مانند Redis یا PostgreSQL طراحی شده‌اند. کامپوننت های دات ‌نت Aspire از طریق الگوهای پیکربندی استاندارد، مانند افزودن health check و telemetry ، بسیاری از چالش های cloud-native را برای شما برطرف می‌کنند.

هر کامپوننت برای کار با ارکستراسیون .NET Aspire طراحی شده است و تنظیمات آنها به طور خودکار با ارجاع به منابع نامگذاری شده تزریق می شود. به عبارت دیگر، اگر Example.ServiceFoo به Example.ServiceBar ارجاع دهد، Example.ServiceFoo پیکربندی های مورد نیاز کامپوننت را به ارث می برد تا به آنها اجازه دهد تا به طور خودکار با یکدیگر ارتباط برقرار کنند.

قالب های پروژه و ابزارهای NET Aspire

پروژه های دات نت Aspire از ساختار استانداردی پیروی می کنند که حول قالب های پروژه پیش فرض دات نت Aspire طراحی شده است. اکثر پروژه های دات نت Aspire حداقل سه پروژه دارند:

MyFirstAspireApp: برنامه شروع شما، که می تواند هر پروژه رایج دات نت مانند Blazor UI یا Minimal API باشد. می‌توانید پروژه‌های بیشتری را به برنامه خود اضافه کنید و با استفاده از پروژه .AppHost و .ServiceDefaults هماهنگی بین آنها را مدیریت کنید.

MyFirstAspireApp.AppHost: پروژه .AppHost برای مدیریت concern های سطح بالای ارکستراسیون برنامه استفاده می شود. ارکستراسیون شامل کنار هم قرار دادن بخش‌های مختلف برنامه شما، مانند API ها، کانتینرهای سرویس، فایل‌های اجرایی و تنظیم نحوه یافتن و برقراری ارتباط با یکدیگر است.

MyFirstAspireApp.ServiceDefaults: پروژه ServiceDefaults شامل پیکربندی های پیش فرض پروژه .NET Aspire است که می تواند در صورت نیاز گسترش داده و سفارشی شود. این پیکربندی‌ها شامل concern ‌هایی مانند تنظیم health check ، تنظیمات OpenTelemetry و موارد دیگر است.

Kubernetes در مقابل NET Aspire؟

Aspire مشابه Kubernetes نیست و جایگزینی هم نیست. در واقع، یک برنامه ممکن است هم از دات نت Aspire و Kubernetes استفاده کند. Aspire یک فریم ورک دات نت است که از هماهنگی کانتینر برای کمک به توسعه و تست local و همچنین استقرار برنامه های کاربردی در فضای ابری استفاده می کند. حتی می تواند یک لیست manifest برای استقرار در Kubernetes ایجاد کند. از سوی دیگر، Kubernetes با ارائه محیطی برای استقرار خودکار، مقیاس‌پذیری، به‌روزرسانی‌های پیکربندی و شبکه‌سازی در میان کلاسترها و هاست های متعدد، مدیریت کانتینرهای یک کلاستر را آسان‌تر می‌کند.

دوره جامع و پروژه محور .Net Aspire

وبسایت کدسل مفتخر است برای اولین بار شروع به برگذاری دوره جامع و پروژه محور .Net Aspire کند. این دوره به صورت پروژه محور برگذار خواهد شد. در آموزش .Net Aspire با استفاده از جدیدترین تکنولوژی ها و ابزارها و با کمک .Net Aspire یک فروشگاه اینترنتی ساده ابری را پیاده سازی خواهیم کرد و در نهایت برای استقرار این اپلیکیشن از Kubernetes استفاده خواهیم کرد.

در این دوره از دات نت 8 و معماری Vertical Slice برای پیاده سازی میکروسرویس ها استفاده می کنیم. همچنین برای فرانت از فریمورک محبوب Blazor بهره برده ایم.

در این دوره سعی شده است از اکثر ابزار ها و کامپوننت های .Net Aspire شامل دتابیس های MSSQL، MySQL، Postgres، MongoDB و Redis استفاده شود. همچنین برای ارتباط بین میکروسرویس ها از HttpClient، RabbitMQ و gRPC استفاده شده است.

پیش نیازهای دوره جامع و پروژه محور .Net Aspire

برای شرکت در دوره پروژه محور .Net Aspire داشتن پیش نیاز های زیر الزامی است:

  • دات نت 8
  • WebAPI
  • آشنایی جزئی با معماری میکروسرویس ها
  • آشنایی جزئی با Blazor
  • داکر
  • داکر دسکتاپ

نتیجه گیری

NET Aspire یک چارچوب قوی است که هماهنگی برنامه های کاربردی توزیع شده را ساده می کند. قابلیت های آن از نظر ارکستراسیون آن را به یک دارایی ارزشمند برای توسعه دهندگان تبدیل می کند. برای کسانی که علاقه مند به کاوش در این فناوری هستند این دوره می تواند یک دوره جامع و کامل محسوب شود.

فهرست ویدیوها
مدت زمان دوره: 09:17:18
01

بررسی کامل .Net Aspire

00:30:56
02

ایجاد پروژه، افزودن میکروسرویس Identity

00:53:38
03

نحوه استفاده از کامپوننت SQL Server، پارامترها و ConnectionString ها

00:35:09
04

تکمیل کردن میکروسرویس Identity و کار با Environment ها در .Net Aspire

00:45:12
05

افزودن میکروسرویس فرانت با استفاده از Blazor و کانفیگ کردن آن

00:39:11
06

Login Flow - قسمت اول

00:37:39
07

Login Flow - قسمت دوم

00:54:35
08

Login Flow - قسمت سوم

00:21:51
09

نحوه استقرار .Net Aspire در کوبرنتیز

00:18:48
10

افزودن میکروسرویس کاتالوگ

00:27:45
11

ایجاد API های میکروسرویس کاتالوگ

00:25:57
12

پیاده سازی سرویس های کاتالوگ در فرانت

00:21:30
13

ایجاد HttpMessageHandler اختصاصی برای خودکارسازی عملیات مدیریت توکن و رفرش توکن

00:34:34
14

اضافه کردن صفحه محصولات به پنل ادمین و بررسی HttpMessageHandler ها

00:27:41
15

پیاده سازی عملیات CRUD در فرانت(بلیزور) برای مدیریت کالاها

00:50:22
16

نحوه استفاده از Redis در .Net Aspire و نمایش محصولات

00:32:30

مقالات آموزش برنامه نویسی مدرس

Response Caching در ASP.NET Core

Response Caching یک مکانیزم ذخیره سازی پاسخ سرور توسط مرورگر یا سایر کلاینت ها است. با استفاده از Response Caching در Asp.net Core می توانیم عملکرد و کارایی سیستم را بالا ببریم.

606 0 1402/10/22

Output Caching در ASP.NET Core 8.0

Output Caching یک ویژگی جدید است که از زمان .NET 7 معرفی شده است. این ویژگی به ما این امکان را می دهد که به راحتی یک کش پاسخ برای Web API خود بدون پیاده سازی IMemoryCache راه اندازی کنیم.

680 0 1402/10/14

الگوی طراحی زنجیره مسئولیت در سی شارپ

الگوی زنجیره مسئولیت یا Chain of Responsibility Design Pattern یک الگوی طراحی رفتاری(behavioral design pattern) است که اجازه می‌دهد یک درخواست در امتداد زنجیره‌ای از کنترل‌کننده‌های بالقوه ارسال شود تا زمانی که درخواست مناسب برای پردازش آن را پیدا کند.

635 2 1402/10/01

ViewComponent در ASP.NET Core

در ASP.NET Core با استفاده از ViewComponent ها می توان اجزای ماژولار، قابل استفاده مجدد، قابل نگهداری و مقیاس پذیر برای ساخت برنامه های کاربردی وب ایجاد کرد. در این مقاله به نحوه ایجاد و فراخوانی ViewComponent در Asp.net core پرداخته ایم.

1٬335 2 1402/05/15

تطبیق الگو در NET 7: ساده سازی تجزیه و تحلیل داده ها

تطبیق الگو یا Pattern Matching در net7 یک تکنیک قدرتمند برای تجزیه و تحلیل و دستکاری داده ها بر اساس ساختار آن ها است. تطبیق الگو یا Pattern Matching به توسعه دهندگان اجازه می دهد تا مقادیر را با یک الگوی خاص مطابقت دهند و اقدامات مربوطه را انجام دهند.

797 1 1402/04/05

تزریق وابستگی در ASP.NET Core

تزریق وابستگی (DI) یک الگوی طراحی نرم افزاری است که امکان ایجاد برنامه های کاربردی و ماژولار را فراهم می کند.. در .NET Core تزریق وابستگی یا Dependency injection یک ویژگی مهم است که می تواند برای ساده سازی توسعه برنامه، بهبود تست پذیری و کاهش پیچیدگی کد مورد استفاده قرار گیرد.

1٬831 1 1402/02/04

ضروری ترین کتابخانه های NuGet برای ASP.NET Core

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

1٬459 1 1401/12/29

الگوی طراحی Factory در سی شارپ

الگوهای طراحی یکی از مهمترین جنبه های طراحی و معماری نرم افزار است. Factory Method یک الگوی طراحی ایجادی است که یک رابط برای ایجاد اشیاء در یک سوپر کلاس فراهم می‌کند. ما در این مقاله الگوی Factory Method Design در سی شارپ را بررسی می کنیم.

1٬557 1 1401/10/28

مقایسه List و Array در سی شارپ

آرایه و لیست در سی شارپ هر دو به عنوان مجموعه ای از مقادیر عمل می کنند، اما در نحوه ذخیره محتوای خود در حافظه و نحوه دسترسی به آنها متفاوت هستند. در این مقاله Benchmark و کارایی List<T> با سایز داینامیک، List<T> با سایز ثابت و Array ها را بررسی می کنیم.

2٬133 2 1401/09/01

LinkedList در سی شارپ

LinkedList یا لیست پیوندی در سی شارپ یک ساختار داده خطی است که عنصر را در مکان غیر پیوسته ذخیره می کند. LinkedList شامل گره هایی است که هر گره حاوی یک فیلد داده و یک مرجع (پیوند) به گره بعدی در لیست است. در سی شارپ، LinkedList یا لیست پیوندی یک نوع مجموعه جنریک است.

1٬918 0 1401/08/13

Garbage Collection در دات نت

به طور کلی، Garbage Collection (GC) یا جمع آوری زباله در .Net چیزی نیست جز به دست آوردن مجدد حافظه اختصاص داده شده به اشیایی که در حال حاضر در هیچ بخشی از برنامه ما استفاده نمی شوند. ما در این مقاله Garbage Collection را در سی شارپ بررسی خواهیم کرد.

2٬745 4 1401/03/30

.NET Core چیست؟

.Net (با تلفظ «دات نت») یک چارچوب نرم افزاری کامپیوتری مدیریت شده رایگان و منبع باز برای سیستم عامل های ویندوز، لینوکس و macOS است. این پروژه در درجه اول توسط کارمندان مایکروسافت از طریق دات نت توسعه یافته و تحت مجوز MIT منتشر شده است.

2٬511 2 1401/03/16

پشته(Stack) در سی شارپ

پشته یا Stack در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. پشته یک ساختار داده LIFO یا Last-In-First-Out است، به این معنی که آخرین موردی که در پشته قرار می گیرد اولین موردی است که از پشته خارج می شود.

2٬100 0 1401/03/09

صف (Queue) در سی شارپ

صف (Queue) در سی شارپ یک نوع خطی از ساختار داده است که قادر به ذخیره اشیاء است. Queue یک ساختار داده first-in-first-out یا FIFO است که به این معنی است که اولین مورد اضافه شده به صف اولین موردی است که حذف می شود.

2٬081 0 1401/02/30

تفاوت Hashtable و Dictionary در سی شارپ

در سی شارپ از Hashtable و Dictionary می توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. با این تفاوت که Hashtable و Dictionary عناصر را به عنوان جفت Key/Value ذخیره می کنند.در این مقاله به تفاوت های Hashtable و Dictionary پرداخته شده است.

1٬779 1 1401/02/23

Dictionary در سی شارپ

در سی شارپ از دیکشنری ها (Dictionary) می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Dictionary می تواند عناصر را به عنوان جفت Key/Value ذخیره کند.Key ها باید منحصر به فرد و نمی توانند null باشند. Value ها می توانند تکراری یا null باشند.

2٬185 3 1401/02/17

Hashtable در سی شارپ

از Hashtable می‌توان برای ذخیره مجموعه‌ای از داده‌ها، شبیه به List معمولی استفاده کرد. تفاوت اصلی این است که یک Hashtable می تواند عناصر را به عنوان جفت Key/Value به عنوان جایگزینی برای استفاده از Index ذخیره کند.

1٬658 5 1401/02/14

Redirect درخواست (ریدایرکت) در asp.net core

در برنامه های ASP.NET Core برای تغییر مسیر(ریدایرکت) و Redirect به یک URL خاص روش های مختلفی وجود دارد. در این مقاله با این تکنیک ها و کدهای مورد نیاز برای تغییر مسیر یک درخواست در ASP.NET Core آشنا می شویم.

2٬458 5 1401/02/12

تبدیل enum به لیست انتخابی در asp.net core

در این آموزش ما بوسیله Reflection ها در سی شارپ و asp.net core یک enum را به لیست انتخابی یا SelectListItem تبدیل خواهیم کرد و بوسیله تگ select در بوت استرپ 5 نمایش می دهیم.

1٬715 3 1401/02/03

نحوه ارسال ایمیل در asp و c#

امروزه ارسال ایمیل به امری ضروری در پروژه های وب تبدیل شده است.از ارسال ایمیل در asp می توان در بخش های تایید حساب کاربری،بازیابی رمز عبور،ایمیل مارکتینگ،ارسال خبرنامه و ... استفاده نمود.در این آموزش نحوه ارسال ایمیل در asp core و سی شارپ پیاده سازی گردیده است.

2٬489 5 1401/02/03
نظرات

برای ثبت نظر باید در سایت ثبت نام یا ورود نمایید