Understanding Structs and JSON in Go: A Practical Guide with Examples
A practical guide to Go structs, pointers, struct tags, JSON encoding and decoding, and common serialization mistakes.
NOTES FROM THE BUILD
Technical articles & learnings.
A place for what I learn while building with Go, working with databases, and connecting backend systems to real products.
A practical guide to Go structs, pointers, struct tags, JSON encoding and decoding, and common serialization mistakes.
Understand Go closures through scope, lifetime, captured state, and the loop variable behavior that can cause subtle bugs.
Explore how Go functions handle parameters, slices, maps, recursion, and defer, with examples of copying and shared state.
Learn Go maps, key-value pairs, nil maps, initialization, iteration, and the comma-OK idiom through practical examples.
Understand Go arrays and slices through their memory layout, copying behavior, length, capacity, and shared backing arrays.
Explore strings in Go: bytes, runes, UTF-8, immutability, and the practical details of working with Unicode text.
Understand how access tokens, refresh tokens, rotation, and server-side session state work together to keep users logged in.
Explore JEV and the idea of giving AI agents a world model alongside language models for reasoning about actions and state.
A practical explanation of Docker networking, container isolation, service discovery, and why custom networks are useful.
Build a mental model of Kubernetes, Amazon EKS, worker nodes, IAM, networking, and scaling before memorizing commands.
Understand Dockerfile instructions FROM, RUN, COPY, ENV, and CMD, and how image construction differs from container startup.
Learn to read GitHub Actions workflow YAML: events, jobs, runners, steps, actions, and the structure behind CI/CD pipelines.
Learn the YAML basics used in DevOps, including key-value pairs, indentation, lists, nested structures, and common mistakes.
Lessons from managing production configuration and secrets with AWS, separating application settings from sensitive values.
A walkthrough of replacing long-lived AWS access keys in GitHub Actions with OIDC and temporary deployment credentials.
Understand service readiness, healthchecks, and depends_on in Docker Compose when an app starts before its database is ready.
A practical look at SOLID principles and how they help organize responsibilities, dependencies, and maintainable application code.
Understand Linux through the relationship between applications, user space, the kernel, system calls, and hardware.
APIs, concurrency, authentication, and building services in Go.
PostgreSQL, transactions, caching, queues, and reliability.
Full-stack development, project decisions, and lessons from the process.