Microservices Architecture

MSA is a decision about which criterion to use to decompose the system. Domain boundary, data ownership, scale pattern, failure isolation — the chosen criterion creates the service boundaries, and those boundaries decide communication and data in turn.

May 9, 2026 · 7 min read

Claude Code Config in Four Layers

settings.json, CLAUDE.md, slash commands, subagents, hooks. Claude Code’s customization surface settles into four layers once you pick one axis: when does each one step in?

May 1, 2026 · 11 min read

macOS Dev Environment: Dotfiles

alacritty + tmux + nvim + zsh + Claude Code in a single screen. The choices and structure behind a terminal-centric development environment.

April 30, 2026 · 10 min read

JIRA Sprint Workflows and Git/GitHub Integration

Looking at JIRA’s issues and workflows as a graph of work units — covering the Sprint lifecycle, issue hierarchy, Git/GitHub integration patterns, and automation flows.

December 30, 2025 · 6 min read

GitHub Actions Fundamentals — Workflow, Job, Step

GitHub Actions seen as an event-driven automation engine — the three-layer abstraction of workflow / job / step, plus the operational details of triggers, runners, and secrets.

December 15, 2025 · 6 min read

GitHub PRs and the Code Review Cycle

Looking at GitHub PRs as a collaboration layer on top of Git’s change graph, and walking through the Code Review cycle, PR-level design, and merge strategies.

November 30, 2025 · 5 min read

Git Workflow Basics — Commits, Branches, Merge vs Rebase

Looking at Git as a graph of changes — and seeing how commit hygiene, branching strategy, and the merge-vs-rebase choice are all decisions about the shape of that graph.

November 15, 2025 · 5 min read

Security Groups and NACLs

How Security Groups (stateful, per-instance) and NACLs (stateless, per-subnet) form different layers of defense in a VPC, plus the common pitfalls each surface.

November 1, 2025 · 5 min read

Connecting VPCs to Other Networks — Peering, VPN, Transit, PrivateLink

Comparing the four mechanisms that connect a VPC to other VPCs, on-premises networks, and external services — Peering, Transit Gateway, Site-to-Site VPN, and PrivateLink — across topology and cost.

October 20, 2025 · 5 min read

VPC Traffic Flow with Route Tables

How Route Tables decide traffic paths inside a VPC, the role of Internet Gateway and NAT Gateway as external exits, and the actual meaning of Public/Private Subnet.

October 1, 2025 · 5 min read

VPC and the Isolation Model

How VPC simulates a private network boundary by combining IP CIDR, Subnet, and Tenancy. Includes vendor naming map across AWS / GCP / Azure / Alibaba.

September 15, 2025 · 5 min read

Zero-Downtime Data Transition Pattern

A three-step pattern combining dual write and fallback read to transition data formats in live services without downtime.

April 15, 2025 · 4 min read

MLflow and the ML Lifecycle

Which slot of the ML lifecycle each MLflow component fills, and which pieces a lightweight team can pick.

February 20, 2025 · 6 min read

Circuit Breaker

A Circuit Breaker’s trip trigger and recovery strategy must be designed together. Trip without recovery cuts the dependency permanently; recovery without a trip basis becomes meaningless cycling.

February 15, 2025 · 7 min read

Choosing a Model Training Framework: sklearn vs ONNX

sklearn and ONNX aren’t competing at the same layer. Once you separate their roles, the real question becomes ‘do I need an ONNX layer at all?’

February 1, 2025 · 5 min read

Revisiting Logistic Regression

The structure and characteristics of Logistic Regression, and why an old model still serves as the baseline in CTR prediction.

January 15, 2025 · 5 min read

Kubernetes Fundamentals

Container orchestration basics and what backend developers need to know: core objects, networking, scaling with HPA, and operational essentials.

April 10, 2024 · 7 min read

Go Concurrency Model

Go’s concurrency model builds on CSP, providing Goroutines and Channels as core tools. An overview of how each works and when to choose what.

April 5, 2024 · 4 min read

MongoDB vs Redis — Same NoSQL, Different Roles

Why MongoDB and Redis end up in different roles even under the same NoSQL umbrella. A comparison across data model, storage, schema, scaling, and use cases.

April 2, 2024 · 5 min read

Spring WebFlux Fundamentals — Non-blocking I/O and the Reactive Stack

Spring MVC assigns one thread per request. When I/O waits pile up, threads sit idle. WebFlux replaces this with an event loop-based non-blocking model. A summary of the structural differences from MVC, the Reactor pattern, and when to choose which.

March 25, 2024 · 4 min read

HTTP/1.1 and HTTP/2

HTTP/1.1 processes requests and responses sequentially. HTTP/2 changed this with multiplexing, binary framing, and header compression. A summary of the differences between the two protocols and gRPC, which runs on top of HTTP/2.

March 20, 2024 · 5 min read

Docker Container Fundamentals

Covers container concepts, the differences from VMs, Docker’s architecture, and the basics of Dockerfile and Docker Compose.

March 15, 2024 · 5 min read

Horizontal vs Vertical Slicing

The difference between splitting code by technical layers (horizontal) and by features or domains (vertical). Trade-offs and selection criteria for each approach.

March 10, 2024 · 3 min read

Nest.js Fundamentals — DI and Module System

Nest.js provides a DI container and Module system at the framework level in the Node.js ecosystem. A summary of its core design principles: IoC, DI, Module, and Provider.

February 26, 2024 · 5 min read

Layered Architecture and Dependency Inversion

Layered architecture separates code into horizontal layers by technical responsibility. A summary of the four-layer structure, dependency direction rules, and how DIP decouples layers.

February 23, 2024 · 4 min read

Kafka Fundamentals and KRaft Mode

Core Kafka concepts (topics, partitions, consumer groups, replication) and the background behind KRaft mode, which removes the ZooKeeper dependency.

February 22, 2024 · 5 min read

Implementing Hexagonal Architecture in Go

Core concepts of Hexagonal Architecture and its idiomatic implementation in Go using implicit interfaces and package structure for dependency direction control.

February 21, 2024 · 5 min read

Builder

Builder is the answer when three limits of constructors meet at once — many parameters, some optional, and step-wise validation. With fewer than all three, simpler tools suffice. When the language provides rich named/default parameters, the need for Builder shrinks as well.

February 11, 2024 · 5 min read

Factory

Factory’s shared intent is separating creation from use. The three variants — Factory Method, Abstract Factory, and Static Factory Method — split creation differently and suit different conditions. Static Factory Method is the variant most often encountered in practice, and DI containers absorb part of Factory’s explicit role.

February 4, 2024 · 5 min read

Singleton

Singleton is one of the simplest patterns but the canonical anti-pattern debate. The decision to bundle single-instance guarantee with global access into one pattern causes tight coupling and test difficulty. DI is the general alternative that separates the two intents.

January 28, 2024 · 5 min read

Dependency Injection — The Hierarchy of DIP, IoC, and DI

DIP (principle), IoC (pattern), and DI (technique) sit at different levels of abstraction. The hierarchy must be clear before framework features and design principles can be told apart.

January 25, 2024 · 6 min read

Incremental Cache Refresh Pattern

A pattern for switching from full cache refresh to incremental refresh. Separating data by update frequency and applying change detection reduces network costs.

January 20, 2024 · 4 min read

What RDB Transaction ACID Actually Guarantees

What each of the four ACID properties actually guarantees in an RDB transaction. A/C/D are relatively clear guarantees, but only I has ’levels’ — the gateway to the correctness vs. concurrency trade-off.

September 1, 2023 · 4 min read

TCP and UDP

Two transport protocols that backend developers encounter constantly. A summary of TCP and UDP — connection establishment, reliability guarantees, flow/congestion control mechanisms, and selection criteria.

March 1, 2022 · 9 min read

Session Authentication and JWT

HTTP is stateless. Maintaining user authentication requires storing state somewhere. This post covers the structure, trade-offs, and storage strategies of server-side sessions and client-side JWT tokens.

March 20, 2021 · 4 min read