Notes

Complete index of all notes and documentation

All Notes

Below is a complete index of all available notes and documentation, organized by project. Click on any title to view its full content.

Projects

  • Dev Day — Notes from development conferences and workshops
  • Golang — Go language projects and technical documentation

Complete Index

OpenAPI Code Generator

Overview

Two generators run in sequence against a single OpenAPI spec:

Generator Owns Output
oapi-codegen Types, enums, nested structs, optional pointers generated/types.go
gen/main.go Per-tag interfaces, route registration, strict glue generated/interfaces.go, routes.go, routes.go, requests.go

The result is a clean boundary: generated code you never touch, and handler files you fully own.


Prerequisites

make install-tools

Installs oapi-codegen into $(go env GOPATH)/bin.


Project layout

spec/
  api.yaml              ← source of truth, edit this

cfg/
  types.yaml            ← oapi-codegen config (types only)

gen/
  main.go               ← custom splitter — generates per-tag interfaces + routes

generated/              ← never edit, safe to delete and rebuild
  types.go
  interfaces.go
  routes.go
  requests.go           ← strict mode only

server/
  middleware/           ← hand-written
  handlers/             ← hand-written, implement generated interfaces
  server.go             ← wires router + middleware + handlers

Makefile

Usage

Standard mode

Handlers receive *gin.Context directly. Full manual control.

Last updated: 2026-06-08

Architektur Dokumentation – Structured Notes

Architecture Documentation


The Core Problem

Why architecture docs fail:

Problem Why it happens
Too much too early Spec written before code — outdated by first sprint
No time during development Devs skip it under pressure, never catch up
No ownership Nobody is explicitly responsible → everyone assumes someone else does it
Unclear scope “What actually goes in there?” — no shared answer

Solution framing: Don’t ask “how do we document everything?” — ask “what and how do we document?” Less is more. Document decisions and context, not implementation details the code already tells you.

Last updated: 2026-05-05

Keynote – Structured Notes

ESDM – Event-Sourced Domain Modeling

Website: https://www.esdm.io/
Core idea: Domain-first modeling language (YAML) that captures DDD, CQRS, and Event Sourcing building blocks in a machine- and human-readable format.


The Core Message

Talk about domain first — technology is secondary.

Common mistake: teams jump to “we’ll use Kafka / PostgreSQL / microservices” before defining what the system actually does. ESDM flips this:

  1. Describe what happens in the domain (events, commands, rules)
  2. Model who triggers what and what results are needed
  3. Only then decide on tech stack

This makes conversations with domain experts productive — they don’t need to understand Kafka to participate.

Last updated: 2026-05-05

Observability: Monitoring & Logging – Structured Notes

Observability: Does My App Work?


Core Principle

Balance: Not too much, not too little. Every metric and log must answer a real operational question.


Monitoring

The Right Amount

Use Icinga (as already deployed in your infrastructure) and focus on:

  • Where can we take action if something breaks?
  • Where is the signal-to-noise ratio actually worth it?

Question every metric: If this threshold fires, can we do something about it in 30 seconds? If not, it’s noise.

Last updated: 2026-05-05

Workshop – Structured Notes

Spring, DDD & Architecture Workshop Notes


Spring Security: Upcoming Fixes (May 18)

Rollout date: 18. Mai

Spring releases a batch of security fixes discovered via the Mythos vulnerability check. All branches up to Spring 2.7 are affected.

  • Blog post with full details drops next week
  • If you run anything ≤ 2.7, plan the upgrade now
  • Full talk at DevOps Antwerpen covers this in depth

Domain-Driven Design (DDD)

Extensional vs. Intensional

Term Meaning Examples
Extensional Represents external reality — maps things from outside the domain DTOs, API models, database rows
Intensional Expresses domain concepts from within — gives things meaning Value Objects, Entities, Aggregates

The goal: code that reads like the domain language, not like database schema.

Last updated: 2026-05-05

Dev Day

Notes and learnings from development conferences and workshops

Golang

Go language projects, patterns, and technical documentation