kan01234 - Software Engineer Notes
A backend engineer's journey of learning and growth.
View the Project on GitHub
kan01234/post
Recent Posts
Why Elasticsearch Is Fast and How It Stores Data
2025-08-31
Solving High CPU Usage in Java Applications
2025-08-29
Migrating from IaaS to CaaS: A Practical Guide
2025-08-24
How MySQL (InnoDB) Fetches Records Using Indexes
2025-08-23
How Redis Achieves O(1) Operations — And When It Doesn't
2025-06-25
Personal Journey
Does Specific Programming Language Experience Really Matter for Senior Software Engineers?
Navigating Large Numbers in Online Assessments: A Deep Dive
Behind the Code: A New Adventure
Monitoring & Observability
Enhancing Monitoring with Datadog: Logs, APM, and Metrics
Monitoring Fundamentals: Building a Strong Foundation
From Self-Managed ELK to Datadog: Our Migration Journey
Web & Network Protocols
HTTPS: A Journey Back to the Basics
Datastore
Why Elasticsearch Is Fast and How It Stores Data
How MySQL (InnoDB) Fetches Records Using Indexes
How Redis Achieves O(1) Operations — And When It Doesn't
InnoDB vs MyISAM: Choosing the Right MySQL Storage Engine
Debunking the Myth: Yes, MySQL Can Handle 20 Million+ Records in a Single Table
Bitmap Indexing: A Deep Dive for Data
System Design
System Design: Building a Fair and Scalable Gacha System for Mobile Games
System Design: How to Build a URL Shortening Service at Scale
System Design: Scale the QR Code Payment System using the Saga Pattern
System Design: QR Code Payment System (Synchronous Version)
Clarifying Upstream and Downstream in Software Development
Understanding Consistent Hashing: From Basics to Real-World Use Cases
Remote Log Retrieval for Linux-Based Edge Devices: A System Design Approach
MQTT: The Lightweight Backbone of the Internet of Things
Infrastructure & Platform Engineering
Migrating from IaaS to CaaS: A Practical Guide
Comparing CaaS Platforms: AWS Fargate, Azure AKS, Google GKE, and Private Cloud Kubernetes
Java
Solving High CPU Usage in Java Applications
Inside the JVM: How Java Garbage Collectors Track, Mark, and Sweep Objects
How We Solved a High Memory Usage Issue in Our Apache Camel Batch Pipeline