Tutorials
Work through the original lesson series on data structures, SQL, domain modeling, and microservice design.
Numbering Systems
6 lessons
Representations
Learn why do we need a different Numbering Systems.
Decimal
Basic system which we all know from school and everyday life.
Binary
Learn about a Numbering System dedicated to computers.
Hexadecimal
Hexadecimal is helpful, when it comes to big numbers.
ASCII
ASCII hold mapping between numbers and human-readable characters.
Unicode
Solution for more characters and emoticons.
Data Structures
12 lessons
Data and Context
Data has numeric, boolean and string types, learn when to use them and how they differ, how they form structures.
Computer Memory
Know the reason for existence of Data Types like Array or Linked List.
Linked List
Linked List offers fast manipulation but slow access.
Array
Unlike Linked List, it provides fast access but slow alteration.
Stack
Learn what First In, Last Out (or just FILO) means by using Stack data structure.
Queue
Learn what First In, First Out (or just FIFO) means by using Queue data structure.
Set
Set stores only unique values.
Map
In the Map values may not be unique, but keys have to.
Hash Table
Store values under keys, which are calculated by hashing the value itself.
Graph
Get familiar with this abstract data structure, which shines when it comes to relations.
Tree
Another abstract Data Structure with Graph in its DNA.
Tree Traversal
Learn about different methods of walking the Tree
Domain Driven Design
17 lessons
Talk Of The Town
Heard the buzz about Domain-Driven Design (DDD)? This article is the starting line for understanding it. We'll unpack core ideas like the Domain itself and the crucial role of Domain Experts.
SHELF Comes To Trinity
Discover the initial steps of Domain-Driven Design through a relatable story. Follow a consultant's first call with a bookstore owner to uncover business needs, identify Domain Experts, and set the stage for an Event Storming workshop.
Events, Coupling And Cohesion
A practical introduction to Event Storming for developers and architects. Learn what domain events are, why naming them matters, and how they help build loosely coupled, highly cohesive systems.
Event Storming
Discover how to run an effective Event Storming workshop, from tools and setup to mapping business events, commands, and policies. Ideal for software architects and teams exploring complex domains with Domain-Driven Design.
Strategic Design
Discover how strategic design in Domain-Driven Design (DDD) helps align software architecture with business goals. Learn about Core, Supporting, and Generic Subdomains through a practical example.
Ubiquitous Language
Discover how Ubiquitous Language helps bridge communication gaps in software projects by aligning teams around shared vocabulary. Learn how this core concept of Domain-Driven Design improves clarity, consistency, and collaboration across roles.
Bounded Context
An insightful article exploring domain-driven design through clear explanations of ubiquitous language, bounded contexts, and upstream/downstream relationships.
Context Map
Learn how to define a Context Map and which integration pattern to use.
Tactical Domain-Driven Design
You already know your Strategy, now it's time to use some tactics.
Entity
A piece of identifiable data, which changes overtime.
Value Object
Immutable object carrying value of some significance.
Aggregate
This building block sets transaction boundaries for Entities.
Domain Event
Event informs other Aggregates about what have happened.
Repository
Special way to obtain a collection of Aggregates together with their Child Entities.
Domain Service
Stateless object, defining and validating business rules and invariants.
Factory
Its responsibility is to create initiated Aggregate with entities and value objects.
Module
Modularity helps you to keep your architecture clean.
Databases Sql
8 lessons
Database, Schemas and Tables
A beginner-friendly introduction to PostgreSQL, covering installation, basic commands, and how to use the psql client.
Create, Read, Update and Delete Operations
A practical guide to CRUD operations in PostgreSQL, with real-world analogies and SQL examples.
Joins
Joins let you select data from more than one table.
Indexes
When amount of data becomes huge, indexes help search it efficiently.
Transactions
You will learn why Transactions are so important and what A.C.I.D. stands for.
Transaction Isolation
Solution for unwanted Data Racing.
Relational, NoSQL & DBMS Database Models Explained
Explore database models like relational, NoSQL, hierarchical and DBMS. Learn about data integrity, security, and performance.
Schema Sync Strategies for Safe Database Migrations
Explore database migrations, common issues, and strategies for smooth schema changes and deployments.
Microservices
7 lessons
Why Microservices
We will try to figure out if every project needs Microservices.
Mr. Sandwich
Fabularized story of your new client, introduction to microservices.
Exploring Domain With Event Storming
Gather requirements and explore the domain with event storming workshop.
Defining Bounded Contexts
Learn by example how to define Bounded Contexts for Mr. Sandwich.
Architectural Decisions
Explain your decision behind used technology.
Architecture Visual Diagrams
Create C4 Model of the system architecture with help of Structurizr.
Principles
Microservice architecture comes with some principles they need to follow.
Terraform
1 lesson
Enclosure
7 lessons
The Pull Request That Looked Fine
A story-driven tutorial about why passing CI can still fail architecture when coding agents do not know ownership, seams, and dependency direction.
Put The Rules Where The Assistant Starts
A practical tutorial about moving architecture rules out of review folklore and into the repository path a coding agent must read before editing.
The Map Is Not The Architecture
A practical tutorial about using import edges, path tags, and modwire evidence to make architecture rules visible before a coding agent crosses boundaries.
The Review Comment That Became A Rule
A practical tutorial about turning repeated architecture review comments into deterministic checks, pre-edit questions, recipes, and human decision points.
Make The Good Path Boring
A practical tutorial about using enclosure recipes to make the approved architecture shape easier for coding agents to follow than the shortcut.
The Calibration Protocol
A practical tutorial about making a coding agent prove it understands owners, seams, dependency direction, recipes, and checks before changing architecture.
Links And Configuration
A compact closing page for the Enclosure tutorial series with the GitHub repository, starter agent instruction, boundary configuration, and route receipt templates.