DKKB
A version-controlled software engineering knowledge base for principles, architecture, patterns, decisions, AI, LLMs, and practical engineering guidance.
Engineering knowledge with context
Section titled “Engineering knowledge with context”DKKB is a public, version-controlled source of software engineering knowledge. It records concepts, patterns, decisions, practices, and practical guidance from literature, primary sources, experiments, and derived reasoning.
The goal is not to collect links or universal rules. Entries explain when an idea is useful, what it costs, where it fails, and what evidence supports it.
How to use DKKB
Section titled “How to use DKKB”Search for a concept directly or browse by area. When an entry gives guidance, read its context and trade-offs before applying it. A pattern that helps one system can add unnecessary complexity to another.
Start here
Strategy patternEncapsulate interchangeable algorithms behind one contract so a context can vary behavior without owning each implementation.
Featured
Strategy patternEncapsulate interchangeable algorithms behind one contract so a context can vary behavior without owning each implementation.
Recently reviewed
API contracts and compatibilityDefine the promise an API makes to its clients, and change it without breaking the code that already depends on it.
API versioning and evolutionChange a published API over time without a coordinated flag day, and choose versioning only when compatible evolution cannot carry the change.
Error modeling and error normalizationReport failures so a client can tell them apart and act on them, and give every layer a consistent error shape.
Indexes and query planningUse indexes to turn scans into targeted lookups, and understand how the query planner decides whether an index helps.
Isolation levels and concurrency anomaliesChoose how much concurrent transactions can observe of each other, and understand the read and write anomalies each level allows.
Normalization versus denormalizationDecide between one authoritative copy of each fact and a redundant copy shaped for a read, based on the invariants and access patterns that matter.
Explore the knowledge base
AI engineeringEngineering practices for systems that use machine learning or AI-assisted development.
Anti-patternsRecurring approaches that create predictable costs or failure modes.
API designContracts, compatibility, error semantics, versioning, and interface design.
ArchitectureSystem structure, boundaries, dependencies, and architectural trade-offs.
CodingGuidance for implementation, naming, refactoring, error handling, and code structure.
DatabasesData modeling, persistence, consistency, queries, migrations, and operational trade-offs.
Engineering decisionsCompare valid engineering approaches by context, constraints, and trade-offs.
Engineering playbookPersonal engineering defaults and decision guidance that are explicitly contextual.
GlossaryDefinitions for terms that need a stable meaning across DKKB.
LLM engineeringArchitecture, prompting, retrieval, tools, evaluation, and reliability for LLM systems.
PatternsRecurring solution structures for problems that appear in software design.
PerformanceMeasurement, profiling, resource use, latency, throughput, and optimization.
PracticesRepeatable engineering practices for development, review, delivery, and maintenance.
PrinciplesReusable software engineering principles and the conditions that make them useful.
ProblemsRecurring engineering problems, their causes, detection methods, and mitigations.
ReferencesReference material that supports or explains knowledge recorded elsewhere in DKKB.
ReliabilityTechniques for predictable behavior under faults, partial failure, and recovery.
SecuritySecurity principles, threat reduction, secure defaults, and engineering controls.
TestingTesting strategy, test design, verification boundaries, and failure diagnosis.