علاقه مند به سریعتر کردن سایت ASP.NET Core خود هستید این دوره به شما تکنیکهای کلیدی برای انجام این کار را میآموزد - از جمله حافظه پنهان، تکنیکهای ناهمزمان و گوچاها، راههایی برای کوچک نگه داشتن پاسخها، تکنیکهای تشخیصی برای یافتن مشکلات و موارد دیگر.
آنچه یاد میگیرید:
بهبود عملکرد وب سایتها میتواند یک تلاش بسیار چالش برانگیز باشد. در این دوره آموزشی ASP.NET Core 6 Performance، تکنیکهایی برای بهبود و تجزیه و تحلیل عملکرد وب سایتهای ASP.NET Core را یاد خواهید گرفت. ابتدا، کش کردن را در اشکال مختلف آن بررسی خواهید کرد - از جمله کارهایی که مرورگرها به طور پیشفرض انجام میدهند و چگونه میتوانید آن را بهتر کنترل کنید، و همچنین تکنیکهایی که میتوانید در سمت سرور با حافظه پنهان و ذخیرهسازی توزیع شده انجام دهید، از جمله روشهایی اطلاعات کش شده را باطل کنید در مرحله بعد، تکنیکها و گوچاهایی را با برنامهنویسی ناهمزمان در سی شارپ کشف خواهید کرد - از جمله کلمات کلیدی در انتظار async و کلاس Task. علاوه بر این، نحوه استفاده از ابزارها برای تشخیص، محک زدن و بارگذاری سایتهای تست را نیز یاد خواهید گرفت. در نهایت، یاد میگیرید که چگونه اندازه پاسخها را در صورت لزوم، مانند فشردهسازی برخی پاسخها و کوچکسازی و بستهبندی داراییهای UI، به حداقل برسانید. پس از اتمام این دوره، مهارتها و دانش بهینهسازی عملکرد مورد نیاز برای بهبود عملکرد وب سایتهای ASP.NET Core خود را خواهید داشت.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 First Steps for Performance Optimization [29mins]
02-01 Introduction and Course Overview [3mins]
02-02 Version Check [1mins]
02-03 ASP.NET Core Is Fast and Getting Faster [4mins]
02-04 ASP.NET Core Principles [3mins]
02-05 Demo: App Introduction [6mins]
02-06 Demo: Use System.Text.Json [4mins]
02-07 Demo: Using Source Generators with System.Text.Json [3mins]
02-08 Demo: Simple Entity Framework Core Tips [5mins]
03 Caching Techniques [42mins]
03-01 Introduction and Scope [2mins]
03-02 Key Concepts [1mins]
03-03 Demo: In-memory Caching with Expiration [6mins]
03-04 Demo: Distributed Caching with Expiration [4mins]
03-05 Demo: Redis as a Distributed Cache [5mins]
03-06 Demo: Problem with Expiration-Based Caching [5mins]
03-07 Demo: Explicit Cache Invalidation [3mins]
03-08 Choosing a Distributed Cache [2mins]
03-09 Response Caching [2mins]
03-10 Demo: Response Caching Middleware [5mins]
03-11 More on Response Caching [1mins]
03-12 Demo: Output Caching Middleware [6mins]
04 Asynchronous Techniques [24mins]
04-01 Introduction and Justification [2mins]
04-02 Demo: Converting Synchronous Code to Async [5mins]
04-03 Demo: Async Razor Pages, Returning Tasks from Synchronous Code [2mins]
04-04 Demo: When You Can`t Use async/await [3mins]
04-05 Demo: Parallel Execution of Tasks [5mins]
04-06 Demo: Cancellation Tokens [6mins]
04-07 Summary and What`s Next [1mins]
05 HttpContext, Forms, and Http Clients [25mins]
05-01 Introduction [2mins]
05-02 Demo: HttpContext in Pages and Controllers [3mins]
05-03 Demo: HttpContext in Other Classes [3mins]
05-04 HttpContext in Parallel Tasks [1mins]
05-05 Demo: Reading Form Content [4mins]
05-06 Demo: Using Named HttpClients [5mins]
05-07 Demo: Token Management in Named HttpClients [3mins]
05-08 Demo: Using Typed HttpClients [3mins]
05-09 More Information and What`s Next [1mins]
06 Diagnostics, Benchmarking, and Load Testing [43mins]
06-01 Introduction and Definitions [2mins]
06-02 Diagnostics Overview [1mins]
06-03 Demo: Adding Request Logging and Seq [5mins]
06-04 Demo: Creating Performance Log Entries [2mins]
06-05 Diagnostic Options with Logging [2mins]
06-06 But My App Is Already in Trouble! [1mins]
06-07 Demo: Using dotnet-trace [6mins]
06-08 Benchmarking Overview [1mins]
06-09 Demo: Using BenchmarkDotNet [5mins]
06-10 Load Testing Overview [2mins]
06-11 Demo: API Load Testing with NBomber [7mins]
06-12 Demo: Is Async Really Better than Sync for Concurrency? [2mins]
06-13 Demo: Load Testing with JMeter [5mins]
06-14 Things to Try, Summary, and What`s Next [2mins]
07 Optimizing Responses and UI Assets [19mins]
07-01 Introduction [2mins]
07-02 HTTP/2 and HTTP/3 [2mins]
07-03 Demo: Use SSL to Ensure Use of HTTP/2 [2mins]
07-04 Response Compression [2mins]
07-05 Demo: API Response Compression [3mins]
07-06 Demo: UI Response Compression [2mins]
07-07 Demo: Minification (Includes Overview) [4mins]
07-08 Demo: Bundling [2mins]
08 Optimizing Memory Usage [26mins]
08-01 Introduction and Approach [2mins]
08-02 Memory, Performance, and ASP.NET Core [2mins]
08-03 Memory Management and Garbage Collection [3mins]
08-04 Memory Management and Your App [2mins]
08-05 Demo: Memory Analysis within Visual Studio [3mins]
08-06 Demo: Understand Memory Usage with dotnet-counters [5mins]
08-07 Demo: Analyze Memory Usage with dotnet-dump and dotnet-gcdump [4mins]
08-08 More About Memory Management [1mins]
08-09 Demo: The MemoryLeak Application [2mins]
08-10 Closing Thoughts [2mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 اولین گام برای بهینهسازی عملکرد [29 دقیقه]
02-01 مقدمه و مروری بر دوره [3 دقیقه]
02-02 بررسی نسخه [1 دقیقه]
02-03 هسته ASP.NET سریع است و سریعتر میشود [4 دقیقه]
02-04 اصول اصلی ASP.NET [3 دقیقه]
02-05 نسخهی نمایشی- معرفی برنامه [6 دقیقه]
02-06 نسخهی نمایشی- از System.Text.Json استفاده کنید [4 دقیقه]
02-07 نسخهی نمایشی- استفاده از Source Generator با System.Text.Json [3mins]
02-08 نسخهی نمایشی- نکات اصلی فریمورک موجودیت ساده [5 دقیقه]
03 تکنیکهای ذخیرهسازی [42 دقیقه]
03-01 مقدمه و محدوده [2 دقیقه]
03-02 مفاهیم کلیدی [1 دقیقه]
03-03 نسخهی نمایشی- ذخیره در حافظه با انقضا [6 دقیقه]
03-04 نسخهی نمایشی- ذخیرهسازی توزیع شده با انقضا [4 دقیقه]
03-05 نسخهی نمایشی- Redis به عنوان یک حافظه پنهان توزیع شده [5 دقیقه]
03-06 نسخهی نمایشی- مشکل در حافظه پنهان مبتنی بر انقضا [5 دقیقه]
03-07 نسخهی نمایشی- عدم اعتبار کش صریح [3 دقیقه]
03-08 انتخاب یک کش توزیع شده [2 دقیقه]
03-09 ذخیره پاسخ [2 دقیقه]
03-10 نسخهی نمایشی- میانافزار ذخیره پاسخ [5 دقیقه]
03-11 اطلاعات بیشتر در مورد ذخیره پاسخ [1 دقیقه]
03-12 نسخهی نمایشی- میانافزار ذخیرهسازی خروجی [6 دقیقه]
04 تکنیکهای ناهمزمان [24 دقیقه]
04-01 مقدمه و توجیه [2 دقیقه]
04-02 نسخهی نمایشی- تبدیل کد همزمان به غیر همگام [5 دقیقه]
04-03 نسخهی نمایشی- صفحات تیغ غیرهمگام، بازگرداندن وظایف از کد همزمان [2 دقیقه]
04-04 نسخهی نمایشی- وقتی نمیتوانید از async wait استفاده کنید [3 دقیقه]
04-05 نسخهی نمایشی- اجرای موازی وظایف [5 دقیقه]
04-06 نسخهی نمایشی- نشانههای لغو [6 دقیقه]
04-07 خلاصه و اتفاقات بعدی [1 دقیقه]
05 HttpContext، Forms و Http Clients [25 دقیقه]
05-01 مقدمه [2 دقیقه]
05-02 نسخهی نمایشی- HttpContext در صفحات و کنترلرها [3 دقیقه]
05-03 نسخهی نمایشی- HttpContext در کلاسهای دیگر [3 دقیقه]
05-04 HttpContext در وظایف موازی [1 دقیقه]
05-05 نسخهی نمایشی- خواندن محتوای فرم [4 دقیقه]
05-06 نسخهی نمایشی- استفاده از HttpClients نامگذاری شده [5 دقیقه]
05-07 نسخهی نمایشی- مدیریت توکن در Named HttpClients [3 دقیقه]
05-08 نسخهی نمایشی- با استفاده از HttpClients تایپ شده [3 دقیقه]
05-09 اطلاعات بیشتر و اتفاقات بعدی [1 دقیقه]
06 تشخیص، محک زدن، و تست بار [43 دقیقه]
06-01 مقدمه و تعاریف [2 دقیقه]
06-02 بررسی اجمالی عیبیابی [1 دقیقه]
06-03 نسخهی نمایشی- افزودن ثبت درخواست و دنباله [5 دقیقه]
06-04 نسخهی نمایشی- ایجاد ورودیهای گزارش عملکرد [2 دقیقه]
06-05 گزینههای تشخیصی با ورود به سیستم [2 دقیقه]
06-06 اما برنامه من از قبل مشکل دارد! [1 دقیقه]
06-07 نسخهی نمایشی- با استفاده از dotnet-trace [6 دقیقه]
06-08 بررسی اجمالی معیار [1 دقیقه]
06-09 نسخهی نمایشی- با استفاده از BenchmarkDotNet [5 دقیقه]
06-10 بررسی اجمالی تست بارگذاری [2 دقیقه]
06-11 نسخهی نمایشی- تست بارگذاری API با NBomber [7 دقیقه]
06-12 نسخهی نمایشی- آیا Async واقعا بهتر از Sync برای Concurrency است؟ [2 دقیقه]
06-13 نسخهی نمایشی- تست بارگیری با JMeter [5 دقیقه]
06-14 چیزهایی که باید امتحان کنید، خلاصه، و آنچه در آینده است [2 دقیقه]
07 بهینهسازی پاسخها و داراییهای رابط کاربری [19 دقیقه]
07-01 مقدمه [2 دقیقه]
07-02 HTTP 2 و HTTP 3 [2 دقیقه]
07-03 نسخهی نمایشی- برای اطمینان از استفاده از HTTP 2 از SSL استفاده کنید [2 دقیقه]
07-04 فشردهسازی پاسخ [2 دقیقه]
07-05 نسخهی نمایشی- فشردهسازی پاسخ API [3 دقیقه]
07-06 نسخهی نمایشی- فشردهسازی پاسخ رابط کاربری [2 دقیقه]
07-07 نسخهی نمایشی- کوچکسازی (شامل نمای کلی) [4 دقیقه]
07-08 نسخهی نمایشی- بستهبندی [2 دقیقه]
08 بهینهسازی استفاده از حافظه [26 دقیقه]
08-01 مقدمه و رویکرد [2 دقیقه]
08-02 حافظه، عملکرد و هسته ASP.NET [2 دقیقه]
08-03 مدیریت حافظه و جمع آوری زباله [3 دقیقه]
08-04 مدیریت حافظه و برنامه شما [2 دقیقه]
08-05 نسخهی نمایشی- تجزیه و تحلیل حافظه در ویژوال استودیو [3 دقیقه]
08-06 نسخهی نمایشی- استفاده از حافظه را با دات نت شمارندهها درک کنید [5 دقیقه]
08-07 نسخهی نمایشی- تحلیل استفاده از حافظه با dotnet-dump و dotnet-gcdump [4 دقیقه]
08-08 اطلاعات بیشتر درباره مدیریت حافظه [1 دقیقه]
08-09 نسخهی نمایشی- برنامه MemoryLeak [2 دقیقه]
08-10 افکار پایانی [2 دقیقه]
اریک دال بیش از 20 سال است که نرمافزار و معماری را توسعه میدهد و بیشتر توسعه داخلی را برای کارفرمایان خود انجام میدهد. کار اخیر او شامل پیادهسازی B2B چند مستاجر و پیادهسازی B2C خود ثبتشده برای IdentityServer3، ارتقای وبسایتهای قدیمی ASP.NET از فناوریهای سمت سرور به ترکیب کلاینت/سرور و اتخاذ تایپ اسکریپت، ساخت Web API بهعنوان پایانی برای تلفن همراه است. و برنامههای کاربردی وب، و پایه گذاری یک برنامه تلفن همراه Xamarin Forms با استفاده از کتابخانه Prism. اریک در حال حاضر در RealPage به عنوان معمار اصلی، راه حلهای ساختمانی و معماری برای محصولات مدیریت ابزار خود کار میکند.