Backend
#backend
Backend is the area I've been doing longest. These notes focus on the engines most of my systems actually run on — Postgres, Redis, Kafka, ClickHouse — with the fundamental properties (ACID, replication, storage internals) sitting alongside. Not a tutorial area: most notes are term-style entries to re-read when I need to remember how a specific piece works.
Architecture patterns
- CQRS — split command and query models when reads and writes diverge.
- Separation of concerns — boundaries between layers and reasons to change.
Node / API layer
- NestJS — structured Node framework (modules, DI, decorators).
Persistence and validation
Core properties
- ACID — atomicity, consistency, isolation, durability.
- Columnar storage — the storage model behind analytics engines.
- Algorithms MOC — the CS fundamentals layer under all of this.
Postgres
Redis
- Redis — overview and links into the note cluster.
- Data types
- Caching, expiration, memory management
- Persistence, clustering
- Pub/sub, streams, transactions, Lua scripts
Kafka
- Brokers, topics, partitions
- Producers, consumers, consumer groups, offsets
- Replication, Kafka Connect, Kafka Streams
ClickHouse
- MergeTree — the core storage engine.
- Primary index, partitioning, TTL
- Materialized views, query optimization
- Compression, replication, distributed tables
Tooling
- npm package template — my CLI for bootstrapping publishable npm packages.
- npm, pnpm, and Yarn — package managers for Node libraries and services.