All Logs

Browse technical logs ordered by newest date first. 36 logs published so far.

Logs by Date

Software Development
June 26, 20268 min read

Lazy Loading And Stage-by-Stage Map Screen Loading

A practical note on using lazy loading and priority-based loading to prevent a heavy map screen from blocking the app.

FrontendPerformanceReact NativeArchitecture
Software DevelopmentAWS Beginner
June 23, 20268 min read

AWS Beginner: EC2 Basics

A beginner-friendly introduction to EC2, operating system choices, user data, security groups, inbound and outbound rules, and SSH key pairs.

AWSCloudEC2Linux
Problem LogsAWS Beginner
June 23, 20267 min read

EC2 SSH Problem: Selected Vockey but Missing Private Key

A problem log about why EC2 SSH fails when the selected key pair or vockey does not match the private key on the local machine.

AWSEC2SSHDebugging
Problem LogsAWS Beginner
June 23, 20267 min read

EC2 HTTP Test Problem: Browser Tried HTTPS

A problem log about why an EC2 web server can look broken when the browser tries HTTPS while only HTTP is allowed.

AWSEC2HTTPDebugging
Software Development
June 23, 20268 min read

Dockerfile, Docker Compose, and Kubernetes

Dockerfile builds the container image, Docker Compose runs multiple containers locally, and Kubernetes replaces Compose as the production orchestration layer.

DockerKubernetesDevOpsDeployment
Software Development
June 22, 20266 min read

Popular Software Security Attacks

A brief concept introduction to common software security attacks and what they usually target.

SecurityBackendWebSoftware Development
Software Development
June 22, 20268 min read

TLS and SSL

Explain what TLS and SSL are, how HTTPS uses them, and why modern systems should use TLS instead of SSL.

BackendHTTPSecurityNetworking
Software Development
June 15, 20268 min read

Two-Factor Authentication Core Idea

A practical explanation of why accounts need more than passwords and how authentication factors prove account ownership.

SecurityAuthenticationBackendSystem Design
Software Development
June 14, 20268 min read

Session, Cookie, and Token

A practical explanation of how session, cookie, and token authentication work in real backend systems.

BackendHTTPAuthenticationSecurity
Software Development
June 13, 20268 min read

WebSocket and Webhook: Two Different Ways Systems Communicate

A practical comparison of WebSocket and webhook, explaining how each communication model works and when to use each one.

BackendHTTPNode.jsSystem Design
Software Development
June 10, 20269 min read

Common Programming File Types Beyond Normal Source Code

A practical guide to common non-source file types that appear often in programming projects.

ProgrammingFile FormatsDeveloper ToolsSoftware Development
Software Development
June 9, 20267 min read

HTTP Request Header and Body

A practical explanation of how HTTP request headers and bodies carry metadata and business data in web systems.

BackendHTTPNode.jsSystem Design
Software DevelopmentProblem I Meet
June 7, 20268 min read

Cloudflare Deployment Models: Pages, Workers, and Static Export

A practical note on why Cloudflare Pages, Workers, OpenNext, and Next.js static export feel confusing during deployment.

CloudflareNext.jsFrontendDeployment
Software DevelopmentEngineering Field Notes
June 7, 20268 min read

OpenNext as a Platform Adapter

A practical explanation of how OpenNext converts Next.js build output into deployable packages for non-Vercel platforms.

FrontendNext.jsCloudflareDeployment
Software DevelopmentStep By Step Build Your RAG
June 6, 20268 min read

Step By Step Build Your RAG: System Overview

A short overview of the full RAG build path, from why RAG is needed to indexing, retrieval, reranking, LLM design, and debugging.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20268 min read

RAG Parsing and Structure Design

A practical introduction to parsing and why structured data design improves RAG retrieval, generation, and debugging.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20269 min read

RAG Chunking Strategies

A practical guide to common RAG chunking strategies and how to choose the right one based on document type and retrieval behavior.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20268 min read

RAG Metadata Design

A practical explanation of metadata, how it differs from structure, and why it improves retrieval, filtering, tracing, and debugging in RAG systems.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20269 min read

RAG Vector Database Selection

A practical guide to choosing a suitable vector database for storing embeddings, metadata, and retrieval-ready RAG data.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20269 min read

RAG Retrieval Strategies

A practical comparison of common RAG retrieval strategies and how to choose the right one based on data type and query behavior.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20268 min read

RAG Reranking

A practical introduction to reranking in RAG systems, why it is different from retrieval, and when to add it.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20269 min read

RAG LLM Prompt Design

A practical guide to designing LLM prompts for RAG systems so answers stay grounded, scoped, traceable, and stable.

RAGBackendAISystem Design
Software DevelopmentStep By Step Build Your RAG
June 6, 20269 min read

RAG Debugging System Design

A practical guide to designing a RAG debugging system that can locate failures across indexing, retrieval, reranking, and LLM generation.

RAGBackendAISystem Design
Software DevelopmentArt of Middleware
June 5, 202610 min read

AOP and Middleware: Injecting Logging Without Touching Business Logic

A practical comparison of Java AOP and Node.js middleware for adding performance logging, request tracing, and error observation without polluting core service logic.

BackendHTTPNode.jsSystem Design
Software DevelopmentArt of Middleware
June 5, 20269 min read

The Art of Middleware: Turning Requests Into Performance Signals

A practical guide to using middleware for request lifecycle logging, performance diagnostics, error tracing, and production observability.

BackendHTTPNode.jsSystem Design
Software DevelopmentTraffic Control
June 5, 20268 min read

Nginx as a Traffic Controller

A practical introduction to what Nginx does, why it usually sits in front of application servers, and how it controls HTTP traffic.

BackendHTTPNode.jsSystem Design
Software DevelopmentTraffic Control
June 5, 20269 min read

Nginx vs Application Rate Limiting

A practical guide for deciding whether rate limiting should happen in Nginx, inside application code, or both.

BackendHTTPNode.jsSystem Design
Software DevelopmentTraffic Control
June 5, 20269 min read

Rate Limiting with Nginx

A practical explanation of how Nginx rate limiting protects backend applications by controlling request frequency before traffic reaches application code.

BackendHTTPNode.jsSystem Design
Software DevelopmentDatabase Performance
June 4, 202614 min read

A Practical Roadmap for Database Performance Optimization

A practical escalation path for improving database performance, from better queries and indexes to replicas, partitioning, and distributed storage.

BackendHTTPNode.jsSystem Design
Software DevelopmentDatabase Performance
June 4, 202610 min read

Two Cheapest Way To Increase Database Searching Performance

A practical explanation of how indexes and partitions reduce unnecessary database reads before more expensive scaling strategies are needed.

BackendDatabasePostgreSQLPerformance
Software DevelopmentTraffic Control
June 4, 20269 min read

Short Polling vs Long Polling: Choosing a Status Update Strategy

Understand how short polling and long polling retrieve changing server state, how their code differs, and when each strategy is appropriate.

BackendHTTPNode.jsSystem Design
Software DevelopmentDatabase Performance
June 4, 202614 min read

Database Query Performance Analysis

A practical PostgreSQL workflow for identifying expensive queries and reading execution plans before choosing an optimization.

BackendHTTPNode.jsSystem Design
Software DevelopmentMessage Broker
June 4, 202611 min read

Kafka vs RabbitMQ: Event History or Task Delivery?

A practical comparison of Kafka and RabbitMQ based on retention, replay, routing, consumer behavior, and backend system design.

BackendHTTPNode.jsSystem Design
Software DevelopmentServer Performance
June 3, 20267 min read

What Is CPU Overhead and How Do You Reduce It?

A practical guide to finding unnecessary CPU work and reducing it through profiling, smaller workloads, and controlled concurrency.

CPUOptimizationBackend
Software DevelopmentServer Performance
June 3, 20269 min read

How to Resolve I/O Overhead in Database-Driven Applications

A practical PostgreSQL-focused guide to reducing storage pressure through query analysis, indexing, read replicas, write control, and data-access design.

DatabasePostgreSQLPerformance
Software DevelopmentServer Performance
June 3, 20266 min read

How to Diagnose Server Performance: CPU vs I/O Overhead

A practical Linux workflow for identifying whether server slowness comes from CPU execution or storage I/O waits.

LinuxPerformanceObservability