Егор Сычевтің .NET блогы
Нақты жүйелерді құру туралы мақалалар, нұсқаулықтар және ойлар.
Dapper vs EF Core: .NET-тегі өнімділікті практикалық салыстыру
PostgreSQL, BenchmarkDotNet, реалистік оқулар, JOIN, жаңартулар, параллель сұраулар және аллокация талдауы арқылы .NET-тегі Dapper мен EF Core практикалық benchmark салыстыруы.
Text file ішінде database құру - Span<T> арқылы allocations азайту
Advanced C# for Your Next Interview сериясының 4-посты: file storage-ты append-only NDJSON форматына ауыстырып, avoidable allocations азайту үшін Span<T> қолдану.
.NET-тағы Synchronization Primitives: User Mode, Kernel Mode және Thread Affinity
Advanced C# for Your Next Interview сериясының 3-посты: .NET synchronization primitives waiting cost, ownership, thread affinity және async support бойынша қалай ерекшеленеді.
Race condition түзету - SemaphoreSlim in Action
Advanced C# for Your Next Interview сериясының 2-посты: read-modify-write race condition-ды SemaphoreSlim арқылы түзету.
Text file ішінде database құру - неге async жеткіліксіз
Advanced C# for Your Next Interview сериясының 1-посты: simple file-based storage құрып, async alone кодты load астында safe етпейтінін көреміз.
Strangler Fig Pattern: Legacy MVC-ден .NET Core-ға кезең-кезеңімен миграция
Strangler Fig pattern арқылы legacy ASP.NET MVC қосымшасын ASP.NET Core-ға біртіндеп әрі қауіпсіз көшіру тәсілі.
C# тарихынан білуге тұрарлық аз белгілі фактілер
C# тарихындағы негізгі кезеңдер: Anders Hejlsberg, Comega research project, LINQ, async/await және language-тың кең ықпалы.
.NET-та proactive configuration validation: қателерді алдын ала болдырмау
Hidden bugs болдырмау және fail fast жасау үшін startup кезінде appsettings-ті DataAnnotations және .ValidateOnStart() арқылы validation жасау.
.NET-та IFeatureManager арқылы Feature Flags
.NET ішінде IFeatureManager арқылы feature flags басқару және application behavior-ды configuration арқылы өзгерту.
Clean Architecture layered architecture-дан несімен ерекшеленеді
Clean Architecture пен Layered Architecture арасындағы негізгі айырмашылық.
WarningsAsErrors бойынша practical guide
.NET compiler warnings-ті globally немесе selectively errors ретінде treating ету және stricter builds-ке gradually көшу.
Өз MCP Server-іңізді GitHub Copilot-қа қосу
Өз MCP Server-іңізді GitHub Copilot-қа қалай қосуға болады.
Legacy project-ке unit tests қалай қосуға болады
Бүкіл application rewrite жасамай legacy code ішіне unit tests қосудың lightweight approach.
[NotNullWhen(true)] арқылы Nullable Annotations оңтайландыру
Method contracts білдіру және unnecessary C# warnings жою үшін NotNullWhen және басқа nullable analysis attributes қолдану.
NASA-ның cyclomatic complexity туралы critical lessons: неге simple code өмір сақтайды
NASA cyclomatic complexity, test effort, MC/DC coverage және safety-critical software manageable сақтау туралы не үйренді.
Мен жобаларымда қолданатын архитектура: жалғасы
Нақты жобаларда қолданатын архитектура туралы мақаланың жалғасы.
Мен жобаларымда қолданатын архитектура
Бұл post ішінде мен real-world projects-та қолданатын және practice ішінде жақсы нәтиже берген application architecture туралы бөлісемін.
ASP.NET ішінде endpoints үшін әртүрлі CORS policies қолдану
ASP.NET ішінде нақты endpoints үшін әртүрлі CORS policies қолдану тәсілі.
Projects ішіндегі package dependencies қалай тазалауға болады?
Unused NuGet references жою .NET build-ті неге сындыруы мүмкін және misplaced әрі transitive package dependencies қалай түзетіледі.
Clean Code practices-ті командада қалай тиімді енгізуге болады?
Clean Code practices-ті командада қалай тиімді енгізуге болады?
ADR-ды бюрократияға айналдырмай қалай қолдануға болады
Architecture Decision Records пайдалы әрі жеңіл болуы үшін контекст сақтайтын, бірақ артық бюрократия жасамайтын практикалық формат.
C# ішінде HttpClient mock жасау
External HTTP mocking dependencies қолданбай C# unit tests ішінде HttpClient mock жасау тәсілі.