Skip to main content

Dev|Journal

Technical blog covering software architecture, backend development, AI, and engineering best practices.

Latest Posts

Page 4 of 4
Software architectureSoftware designThoughts

Best Of: The Early History Of Smalltalk

Key quotes and insights from Alan Kay's paper on the early history of Smalltalk. Explores object-oriented programming origins, message passing, and the philosophy behind Smalltalk's design.

Read more
ReactJSThoughtsTypescript

React Hooks: UseReducer Generics Params In Typescript

How to properly type React's useReducer hook with TypeScript generics. Understand the generic parameters for Reducer, ReducerState, and ReducerAction types.

Read more
Software architectureSoftware designDomain-Driven Design

Hexagonal Architecture: Why Your Domain Logic Shouldn't Know About Your Database

Stop letting frameworks dictate your architecture. Learn how Hexagonal Architecture (Ports & Adapters) isolates business logic from infrastructure, makes testing trivial, and lets you swap databases without rewriting code.

Read more
Software architectureSoftware designDomain driven design

Anemic vs Rich Domain Models

Understand the difference between Anemic and Rich Domain Models in Domain-Driven Design. Learn which approach to choose for better code organization and where to put business logic.

Read more
Software designDomain driven design

Domain Driven Design Core Concepts

Master the core concepts of Domain Driven Design (DDD). Learn about entities, value objects, aggregates, repositories, and how to apply DDD in complex business domains.

Read more
Software design

Tell, Don't Ask: Getters Are Evil

Why getters leak abstraction and scatter business logic. Learn the Tell Don't Ask principle to encapsulate behavior inside domain objects and avoid duplicated logic.

Read more
Performance

Speed Up Your Computations

Optimize Java performance using CPU cache-friendly data structures. Learn how data locality, cache lines, and SIMD-friendly layouts can yield 32x speedups without parallelism.

Read more