← Back to home

Software Engineering Tutorials

Practical guides about .NET, .NET AI, architecture, DevOps and distributed systems — written with clear explanations and real examples.

Clean Architecture in Plain Language

A plain-language guide to keeping business logic independent of databases and frameworks — Domain, Application, Infrastructure, and API, and why dependencies point inward.

  • Clean Architecture
  • .NET
  • Domain
  • Application
  • Infrastructure
  • Dependency Inversion

.NET AI — Extensions.AI, Semantic Kernel & Agent Framework

A practical map of the modern .NET AI stack: Microsoft.Extensions.AI, Semantic Kernel, and Microsoft Agent Framework 1.0 — with IChatClient, tool calling and a first agent example.

  • .NET AI
  • Extensions.AI
  • IChatClient
  • Semantic Kernel
  • Agent Framework
  • MCP

SQL — From Basics to Window Functions

A beginner-friendly guide from SELECT and JOIN to aggregates, CTE, indexes, transactions and window functions — plus a clear comparison of database types.

  • SQL
  • JOIN
  • Window Functions
  • PostgreSQL
  • MySQL
  • SQL Server

OpenTelemetry in .NET — Production Observability

A professional guide to traces, metrics and logs in ASP.NET Core — instrumentation, OTLP, Collector, Prometheus, Grafana, Jaeger, sampling, Docker, security and production architecture.

  • OpenTelemetry
  • .NET
  • Tracing
  • Prometheus
  • Grafana
  • Jaeger

Git & Branching — A Simple Visual Guide

A practical guide from the first commit to team collaboration — branches, merge, rebase, conflicts, Pull Requests, advanced commands and branching models.

  • Git
  • Branch
  • Merge
  • Rebase
  • GitHub Flow
  • Trunk-Based

CI/CD — From Commit to Production

A complete guide to CI/CD with .NET, Docker and GitHub Actions — tests, GHCR, deployment, GitLab, Azure DevOps, secrets, rollback and production practices.

  • CI/CD
  • GitHub Actions
  • GitLab
  • Azure DevOps
  • Docker
  • GHCR

JWT — Simple Authentication with ASP.NET Core

A beginner-friendly guide to JWT: token structure, login, protected APIs, roles, access and refresh tokens, testing and essential security tips.

  • JWT
  • ASP.NET Core
  • Authentication
  • Authorization
  • Web API
  • Security

DDD & CQRS with the Order Service

A complete hands-on guide to Domain-Driven Design and CQRS, built on a real .NET 8 microservices project with Product, User and Order services.

  • DDD
  • CQRS
  • .NET 8
  • Microservices
  • MediatR
  • EF Core

Dockerizing a .NET Project

A practical guide to production-ready Dockerfiles for .NET 8 — multi-stage builds, private NuGet feeds through nuget.config and safe BuildKit secrets.

  • Docker
  • .NET 8
  • nuget.config
  • Multi-stage
  • BuildKit
  • Docker Compose

RabbitMQ — What, Why & Where to Use It

A beginner-friendly guide to message brokers, exchanges, queues, bindings, acknowledgements, messaging patterns and a hands-on producer/consumer example in .NET 8.

  • RabbitMQ
  • Message Queue
  • AMQP
  • .NET 8
  • Microservices
  • Async

EF Core — How It Works & vs ADO.NET / Dapper

Understand DbContext, change tracking and LINQ-to-SQL translation, then compare EF Core with raw ADO.NET and Dapper using the same query.

  • EF Core
  • ADO.NET
  • Dapper
  • ORM
  • .NET
  • LINQ

Outbox Pattern — Reliable Events After DB Commit

A plain guide to the dual-write problem, transactional Outbox, an EF Core example, duplicates, ordering, polling versus CDC and operational challenges.

  • Outbox
  • Microservices
  • Message Broker
  • EF Core
  • .NET
  • Distributed

Linux Commands — Practical Guide for Developers

A practical guide to everyday Linux commands for files, search, permissions, processes, ports, logs, systemd, resources, packages, SSH and server troubleshooting.

  • Linux
  • Bash
  • Terminal
  • SSH
  • systemd
  • Troubleshooting