نقشه راه
Senior .NET Developer
از پایههای C# تا معماری سیستمهای بزرگ. هر آموزش ساده، با شکل و مثال زنده.
لازم بدون این، استخدام نمیشوی.خوب است امتیاز اضافه.تخصصی فقط برای شغلهای خاص.
۱
پایههای C# و .NET
چیزهایی که هر روز در کد استفاده میکنیم و باید عمیق بدانیم.
لازمC# مدرنrecord، pattern matching، nullable و امکانات تازه زبانآمادهلازمasync/await و Thread PoolTask چطور کار میکند و چرا نباید block کنیمآمادهلازمDependency Injectionطول عمر سرویسها و اشتباههای رایجآمادهلازمحافظه و Garbage CollectorStack و Heap، نسلهای GC، نشت حافظهآمادهلازمLINQ و CollectionsIEnumerable یا IQueryable، انتخاب collection درستآمادهخوب استPerformance و Spanکاهش allocation، BenchmarkDotNet، کد پرفشارآماده
۲
ASP.NET Core
ساختن API درست، امن و قابل اعتماد.
لازمMiddleware و Pipelineیک درخواست از کجا تا کجا میرودآمادهلازمAuthentication و AuthorizationJWT، OAuth2، OpenID Connect و PolicyآمادهلازمBackground Serviceکار پسزمینه، Scope و خاموش شدن امنآمادهخوب استMinimal API و Controllerکدام را کجا استفاده کنیمآمادهخوب استRate Limitingمحدود کردن درخواست روی یک یا چند سرورآمادهخوب استgRPC و SignalRارتباط سریع بین سرویسها و ارتباط زنده با کاربرآماده
۳
داده و ذخیرهسازی
داده را درست ذخیره کن، سریع بخوان، و همزمانی را کنترل کن.
لازمEntity Framework CoreTracking، N+1، Migration و کاراییآمادهلازمSQL و IndexQuery Plan، Index درست، صفحهبندی روی جدول بزرگآمادهلازمTransaction و Isolation LevelLost Update، Deadlock و قفلهاآمادهلازمRedisساختارهای داده، Cluster، قفل توزیعشدهآمادهلازمالگوهای CachingCache-Aside، باطل کردن کش، StampedeآمادهتخصصیNoSQLMongoDB و چه وقت به جای SQLآماده
۴
طراحی کد
کدی بنویس که تیم بتواند سالها آن را بخواند و تغییر دهد.
لازمClean Codeاسم خوب، تابع کوچک، کد خواناآمادهلازمSOLIDپنج اصل پایه طراحی شیءگرا با مثالآمادهلازمDesign PatternsStrategy، Decorator، Factory، Mediator و ...آمادهلازمClean Architectureلایههای پیاز و جهت وابستگیهاآمادهخوب استDomain-Driven Designزبان مشترک، Bounded Context، Aggregateآمادهخوب استCQRS و Mediatorجدا کردن خواندن و نوشتن، کتابخانه MediatRآمادهخوب استVertical Sliceسازمان دادن کد بر اساس قابلیتآماده
۵
تست
با خیال راحت تغییر بده، چون تستها مراقب هستند.
۶
سیستمهای توزیعشده
وقتی سیستم روی چند سرور و چند دیتابیس پخش شده است.
لازمMicroservicesمرز سرویسها، داده هر سرویس، هزینههاآمادهلازمOutbox و Inboxارسال مطمئن پیام همراه با تغییر دیتابیسآمادهلازمIdempotencyیک درخواست، هر چند بار، یک نتیجهآمادهلازمResilience با PollyRetry، Circuit Breaker، Timeout و طوفان Retryآمادهخوب استالگوی Sagaتراکنش در چند سرویس با کار جبرانیآمادهخوب استConsistency و CAPEventual Consistency و انتخابهای سختآمادهتخصصیEvent Sourcingذخیره رویدادها به جای وضعیت نهاییآماده
۷
پیامرسانی
سرویسها با پیام با هم حرف میزنند، نه فقط با صدا زدن مستقیم.
۸
Actor Model
مدل دیگری برای همزمانی. هر Actor یک وضعیت و یک صف پیام دارد.
۹
Observability
بدانی در Production دقیقاً چه خبر است.
۱۰
زیرساخت و DevOps
کد را امن و تکرارپذیر به Production برسان.
۱۱
معماری و طراحی سیستم
تصمیمهای بزرگ. سیستم را چطور بسازیم که بزرگ شود.
۱۲
مهارتهای Senior
Senior فقط کد نمینویسد. به رشد تیم و محصول هم کمک میکند.