ASP.NET Core
ASP.NET Coreاین مسیر فرض میکند C# را میدانی و میخواهی با آن سرویس وب بنویسی — سرویسی که تست دارد، امن است، و روی یک سرور لینوکسی پشت Nginx کار میکند.
پیشرفت تو
درصد هر فصل از دو چیز میآید: چقدر از بخشهایش را خواندهای (۵۵٪) و چند تمرینش را تیک زدهای (۴۵٪). همهچیز داخل مرورگر خودت میماند.
فصل
فصلها به هم وابستهاند و ترتیبشان معنا دارد. هر مسیر با پروژههای نهایی تمام میشود: ساده، متوسط، پیچیده.
مدل ذهنی: host، pipeline، DI
سه چیزی که اگر بفهمی، بقیه واضح میشود.
در نوبت نوشتنMinimal API در برابر Controller
کدام برای کدام پروژه، با معیار روشن.
در نوبت نوشتنمسیریابی
الگو، پارامتر، constraint و اولویت تطبیق.
در نوبت نوشتنmiddleware و ترتیبش
ترتیب اشتباه = خطای بیمعنی. با نمودار جریان.
در نوبت نوشتنفیلتر و endpoint filter
منطق عرضی، بدون تکرار در هر اکشن.
در نوبت نوشتنDI و طول عمر
singleton، scoped، transient — و باگ وابستگی اسیر.
در نوبت نوشتنالگوی Options
IOptions، IOptionsSnapshot، اعتبارسنجی پیکربندی.
در نوبت نوشتنپیکربندی، محیط و اسرار
appsettings، متغیر محیطی، user-secrets و اولویتها.
در نوبت نوشتنmodel binding
از درخواست خام تا شیء — و جایی که بیصدا شکست میخورد.
در نوبت نوشتناعتبارسنجی با DataAnnotations
اعتبارسنجی داخلی و محدودیتهایش.
در نوبت نوشتنFluentValidation
قاعدههای پیچیده، خوانا و تستپذیر — جدا از مدل.
در نوبت نوشتننگاشت شیء
AutoMapper، Mapperly و نگاشت دستی — کدام کِی.
در نوبت نوشتنEF Core ۱: DbContext و مدل
entity، رابطه، پیکربندی fluent و قرارداد.
در نوبت نوشتنEF Core ۲: مهاجرت
تغییر شِما بهصورت نسخهبندیشده، و مهاجرت در production.
در نوبت نوشتنEF Core ۳: کوئری و بارگذاری
Include، projection، split query و کوئری سمت کلاینت.
در نوبت نوشتنEF Core ۴: کارایی و N+1
چرا صفحهٔ فهرست تو ۳۰ ثانیه طول میکشد.
در نوبت نوشتنEF Core ۵: tracking، همزمانی، تراکنش
change tracker، همزمانی خوشبینانه و SaveChanges.
در نوبت نوشتنEF Core ۶: پیشرفته
SQL خام، view، interceptor، فیلتر سراسری و چند DbContext.
در نوبت نوشتنDapper ۱: مبانی
micro-ORM: کوئری، پارامتر و نگاشت.
در نوبت نوشتنDapper ۲: پیشرفته
نگاشت چندگانه، چند نتیجه، bulk و تراکنش.
در نوبت نوشتنEF Core یا Dapper؟
ماتریس تصمیم، و الگوی استفادهٔ همزمان.
در نوبت نوشتنRepository و Unit of Work
کِی لایهٔ مفیدی است و کِی فقط یک لایهٔ اضافه.
در نوبت نوشتنCQRS با MediatR
جدا کردن خواندن از نوشتن، و pipeline behavior.
در نوبت نوشتنOpenAPI و Swagger
مستند زندهای که با کد هماهنگ میماند.
در نوبت نوشتننسخهگذاری API
تغییر بدون شکستن کلاینتهای موجود.
در نوبت نوشتنمدیریت خطای سراسری
ProblemDetails، IExceptionHandler و پاسخ یکدست.
در نوبت نوشتنلاگ ساختیافته
Serilog، scope، enricher و لاگی که بشود جستجو کرد.
در نوبت نوشتنOpenTelemetry
trace، متریک و ردیابی یک درخواست در چند سرویس.
در نوبت نوشتنhealth check
تفاوت «بالا هست» و «آمادهٔ ترافیک است».
در نوبت نوشتنکش
memory، distributed با Redis، output cache و باطلسازی.
در نوبت نوشتنمحدودیت نرخ
fixed، sliding، token bucket و concurrency.
در نوبت نوشتناحراز هویت: cookie و JWT
چه کسی هستی — و توکن کجا باید بماند.
در نوبت نوشتنASP.NET Core Identity
کاربر، رمز، تأیید ایمیل، 2FA و قفل حساب.
در نوبت نوشتنOAuth2 و OIDC
ورود با ارائهدهندهٔ بیرونی، و جریانهای استاندارد.
در نوبت نوشتنمجوز
policy، role، claim و مجوز مبتنی بر منبع.
در نوبت نوشتنامنیت
CORS، HTTPS، antiforgery، هدرهای امنیتی و ده مورد OWASP.
در نوبت نوشتنآپلود فایل و استریم
فایل حجیم بدون پر کردن حافظه، و ذخیرهسازی امن.
در نوبت نوشتنبومیسازی
چندزبانگی، منابع، قالب عدد و تاریخ فارسی.
در نوبت نوشتنسرویس پسزمینه
BackgroundService، صف کار و کار زمانبندیشده.
در نوبت نوشتنSignalR
ارتباط بیدرنگ، گروه، و مقیاس افقی با backplane.
در نوبت نوشتنgRPC
قرارداد protobuf، استریم، و کِی از REST بهتر است.
در نوبت نوشتنتست واحد
تست کنترلر، سرویس و اعتبارسنجی — بدون پایگاهداده.
در نوبت نوشتنتست یکپارچه
WebApplicationFactory و پایگاهدادهٔ واقعی با Testcontainers.
در نوبت نوشتنکارایی و پروفایل
اندازهگیری، گلوگاه، تست بار و بهینهسازی واقعی.
در نوبت نوشتناستقرار روی لینوکس
داکر، Nginx، systemd، health و پیکربندی production.
در نوبت نوشتنپروژهٔ ۱ — API با پایگاهداده
CRUD کامل با EF Core، FluentValidation و تست.
در نوبت نوشتنپروژهٔ سادهپروژهٔ ۲ — API امن و لایهبندیشده
Identity، JWT، CQRS، کش، لاگ و تست یکپارچه.
در نوبت نوشتنپروژهٔ متوسطپروژهٔ ۳ — سرویس production
مشاهدهپذیری، بیدرنگ، صف، محدودیت نرخ و استقرار خودکار.
در نوبت نوشتنپروژهٔ پیچیده