<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>TechBlog (EN)</title><description>A practical tech blog about Spring Boot, Backend development, and technical interview prep.</description><link>https://rhcwlq89.github.io/</link><item><title>Understanding AWS Credential Federation — How IAM, STS, and OIDC Actually Fit Together</title><link>https://rhcwlq89.github.io/en/blog/aws-credential-federation-deep-dive/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-credential-federation-deep-dive/</guid><description>A foundational guide for engineers who followed a GitHub Actions OIDC tutorial but still aren&apos;t sure what STS really is, why it has no console page, what &apos;federation&apos; actually means, or why the trust policy&apos;s sub condition matters so much. Covers IAM/STS/OIDC mechanics in depth, plus SAML, IAM Identity Center, and EKS IRSA as variants of the same pattern.</description><pubDate>Tue, 28 Apr 2026 01:00:00 GMT</pubDate></item><item><title>AWS Private EC2 Operations Guide Part 5: Cost Analysis and Optimization — NAT, ALB, EC2, and Data Transfer</title><link>https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-5/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-5/</guid><description>Pull the monthly bill of the environment Parts 1–4 produced apart, line by line, and find where to cut. Real numbers for NAT Gateway, ALB, EC2, and data transfer; the levers that matter (S3 Gateway Endpoint, Graviton, Savings Plans); and budget templates for side-project, startup, and enterprise tiers.</description><pubDate>Mon, 27 Apr 2026 09:00:00 GMT</pubDate></item><item><title>AWS Private EC2 Operations Guide Part 4: Deploying to Private EC2 from GitHub Actions — OIDC, SSM Run Command, CodeDeploy</title><link>https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-4/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-4/</guid><description>Build a deployment pipeline that puts no port 22 and no AWS access key on the path. OIDC federation removes static credentials, S3 acts as the artifact hub, and either SSM Run Command (simple) or CodeDeploy (zero-downtime) lands the code on the instance.</description><pubDate>Mon, 27 Apr 2026 06:00:00 GMT</pubDate></item><item><title>AWS Private EC2 Operations Guide Part 3: Connecting Without Bastion via SSM Session Manager — IAM Role, VPC Endpoint, and Port Forwarding</title><link>https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-3/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-3/</guid><description>How to land a shell on a Private EC2 without ever opening port 22. The mechanics of SSM Session Manager (the agent polls AWS), the three prerequisites (Agent / IAM / network path), the cost trade-off between NAT Gateway and VPC Endpoints, and the port-forwarding pattern that securely reaches RDS without a VPN.</description><pubDate>Mon, 27 Apr 2026 01:00:00 GMT</pubDate></item><item><title>AWS Private EC2 Operations Guide Part 2: Building VPC Infrastructure with Terraform — VPC/Subnet/Route Table/SG/ALB/EC2 in a Single main.tf</title><link>https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-2/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-2/</guid><description>Turn the Part 1 architecture into real code. We build a 10.0.0.0/16 VPC, 2AZ Public/Private subnets, IGW/NAT Gateway, the SG-references-SG pattern, and ALB + EC2 — all in one main.tf that comes up with a single terraform apply.</description><pubDate>Sat, 25 Apr 2026 01:00:00 GMT</pubDate></item><item><title>AWS Private EC2 Operations Guide Part 1: Why Private Subnet? — The ALB + NAT Gateway Standard Architecture and Sizing-Based Decision Criteria</title><link>https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-1/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-private-ec2-guide-1/</guid><description>We unpack the &apos;why&apos; behind the standard pattern of placing EC2 in a Private Subnet wrapped by ALB and NAT Gateway. Public IPv4 vs Elastic IP, sizing recommendations, HA basics, and the concrete risks of putting PII-handling servers in a Public Subnet. Part 1 of a Bastion-less AWS EC2 operations series.</description><pubDate>Fri, 24 Apr 2026 01:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 8: Zero-Downtime Migration and Multi-Tenant Design — ALTER TABLE Traps, Expand-Contract, and Tenant Isolation Strategies</title><link>https://rhcwlq89.github.io/en/blog/rdb-migration-multitenant-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-migration-multitenant-guide/</guid><description>Changing schemas on a live service is as hard as designing them. ALTER TABLE lock traps, zero-downtime column changes with Expand-Contract, Flyway vs Liquibase, rollback strategies, and three multi-tenant schema strategies. The final part of the series.</description><pubDate>Thu, 16 Apr 2026 13:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 7: Anti-Patterns and Temporal Data Design — EAV, God Table, Temporal Table, Event Sourcing</title><link>https://rhcwlq89.github.io/en/blog/rdb-antipattern-temporal-design-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-antipattern-temporal-design-guide/</guid><description>Covers repeatedly failing schema design patterns. EAV, God Table, Polymorphic Association, Soft Delete traps, and then the patterns you should actively use — Temporal Tables, Slowly Changing Dimensions, and Event Sourcing basics. Knowing what NOT to do is a design skill.</description><pubDate>Thu, 16 Apr 2026 09:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 6: Index Design and JOIN Strategy — All the Way to the Optimizer</title><link>https://rhcwlq89.github.io/en/blog/rdb-index-join-strategy-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-index-join-strategy-guide/</guid><description>Go beyond index basics into design-level thinking. Covering indexes, partial indexes, cardinality analysis, JOIN algorithms (Nested Loop, Hash, Merge), reading EXPLAIN ANALYZE, and the N+1 problem. Turn index creation into index design.</description><pubDate>Wed, 15 Apr 2026 09:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 5: Order/Payment Domain Schema — Production-Grade</title><link>https://rhcwlq89.github.io/en/blog/rdb-domain-schema-design-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-domain-schema-design-guide/</guid><description>Design the e-commerce order domain at production quality. 3-level hierarchy (order → delivery → item), state machines, payment idempotency, split payments, partial refunds, and cancellation audit trails. One domain, all the way down.</description><pubDate>Wed, 08 Apr 2026 09:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 4: Relationship Design Patterns — 1:1, 1:N, N:M and Beyond</title><link>https://rhcwlq89.github.io/en/blog/rdb-relationship-patterns-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-relationship-patterns-guide/</guid><description>Stop designing table relationships by gut feeling. From 1:1 split criteria to 1:N vs N:M judgment, self-referencing trees, and polymorphic associations — every relationship design pattern you&apos;ll face in practice.</description><pubDate>Wed, 08 Apr 2026 05:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 3: Constraints and Data Integrity — Preventing Bugs at the Schema Level</title><link>https://rhcwlq89.github.io/en/blog/rdb-constraints-integrity-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-constraints-integrity-guide/</guid><description>CHECK, UNIQUE, FK, DEFAULT, Generated Columns — constraints aren&apos;t &apos;annoying overhead,&apos; they&apos;re &apos;defense code baked into the schema.&apos; This guide provides practical criteria for DB vs app validation, whether to use FKs or not, and defensive schema design patterns.</description><pubDate>Tue, 07 Apr 2026 05:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 2: Normalization and Denormalization — Not Theory, but Judgment Calls</title><link>https://rhcwlq89.github.io/en/blog/rdb-normalization-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-normalization-guide/</guid><description>Normalization isn&apos;t &apos;always required,&apos; and denormalization isn&apos;t &apos;a compromise for performance.&apos; Using a single online store scenario, this guide explains 1NF through 3NF intuitively, then presents clear criteria for when breaking normalization is the right call — with MySQL/PostgreSQL differences.</description><pubDate>Sun, 05 Apr 2026 07:00:00 GMT</pubDate></item><item><title>RDB Design Series Part 1: Schema Basics — Naming, Data Types, PK Strategy, NULL</title><link>https://rhcwlq89.github.io/en/blog/rdb-schema-basics-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/rdb-schema-basics-guide/</guid><description>The first decisions you need to make when designing RDB tables. Naming conventions, data type selection, PK strategies (AUTO_INCREMENT vs UUID vs ULID), and NULL semantics — skip these now, pay for it later with painful migrations.</description><pubDate>Sun, 05 Apr 2026 05:00:00 GMT</pubDate></item><item><title>SDD (Spec-Driven Development): The Spec-First Methodology for the AI Era</title><link>https://rhcwlq89.github.io/en/blog/spec-driven-development-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spec-driven-development-guide/</guid><description>Beyond Vibe Coding — write the spec first, let AI generate the code. Covers SDD concepts, workflow, tools, and its realistic limitations.</description><pubDate>Fri, 03 Apr 2026 13:00:00 GMT</pubDate></item><item><title>7 Practical java.util.concurrent Patterns: From Thread Pools to Concurrency Control</title><link>https://rhcwlq89.github.io/en/blog/java-concurrent-practical-patterns/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/java-concurrent-practical-patterns/</guid><description>ExecutorService, CompletableFuture, CountDownLatch, ConcurrentHashMap, BlockingQueue, Semaphore, ReentrantLock — 7 commonly used java.util.concurrent classes with real-world patterns and working code.</description><pubDate>Thu, 26 Mar 2026 05:00:00 GMT</pubDate></item><item><title>FCFS Load Test Retrospective: Things Easy to Miss in Practice</title><link>https://rhcwlq89.github.io/en/blog/fcfs-load-test-behind-the-scenes/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/fcfs-load-test-behind-the-scenes/</guid><description>Problems we hit while k6-testing 4 FCFS strategies — Rate Limiter conflicts, queue over-counting bugs. Plus 4 ways to isolate FCFS APIs from regular APIs in production: separate DataSource, Redis offloading, service separation, and Bulkhead pattern.</description><pubDate>Wed, 25 Mar 2026 05:00:00 GMT</pubDate></item><item><title>FCFS System Showdown: Load Testing All Approaches with k6</title><link>https://rhcwlq89.github.io/en/blog/fcfs-load-test-comparison/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/fcfs-load-test-comparison/</guid><description>DB Lock, Redis, Queue, Token — we load-tested all 4 FCFS strategies under identical conditions (100 stock, 100/500/1,000/2,000 concurrent users) with k6. Each scenario ran 10 times to get stable averages for TPS, P95/P99 response times, and we identify the optimal strategy for each situation.</description><pubDate>Tue, 24 Mar 2026 13:00:00 GMT</pubDate></item><item><title>Implementing FCFS with Tokens: From Entry Tickets to Bot Prevention</title><link>https://rhcwlq89.github.io/en/blog/fcfs-token-implementation/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/fcfs-token-implementation/</guid><description>Implements a first-come-first-served system that issues entry tokens upfront — only token holders can purchase. Covers JWT-based token design, TTL expiration strategy, and multi-layered bot prevention with Rate Limiting + CAPTCHA.</description><pubDate>Tue, 24 Mar 2026 11:00:00 GMT</pubDate></item><item><title>Implementing FCFS with Queues: From Redis Sorted Set to Kafka</title><link>https://rhcwlq89.github.io/en/blog/fcfs-queue-implementation/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/fcfs-queue-implementation/</guid><description>Implements a first-come-first-served system using Redis Sorted Set waiting queues and Kafka message queues. Covers queue UX (polling vs WebSocket), slot reallocation on timeout/abandonment, and traffic spike absorption strategies.</description><pubDate>Tue, 24 Mar 2026 09:00:00 GMT</pubDate></item><item><title>Implementing FCFS with Redis: From DECR to Lua Scripts</title><link>https://rhcwlq89.github.io/en/blog/fcfs-redis-implementation/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/fcfs-redis-implementation/</guid><description>Implements a first-come-first-served stock deduction system using Redis DECR atomic operations and Lua scripts. Builds it with Spring Boot + Redisson, directly compares TPS against DB locks under identical conditions (100 stock, 100 concurrent users), and covers Redis-DB consistency and failure recovery strategies.</description><pubDate>Tue, 24 Mar 2026 07:00:00 GMT</pubDate></item><item><title>Implementing FCFS with DB Locks: From FOR UPDATE to Concurrency Testing</title><link>https://rhcwlq89.github.io/en/blog/fcfs-db-lock-implementation/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/fcfs-db-lock-implementation/</guid><description>Implements a first-come-first-served stock deduction system using SELECT FOR UPDATE. Builds it with Spring Boot + JPA, validates data consistency with 100 concurrent requests, and identifies where DB locks hit their limits.</description><pubDate>Fri, 20 Mar 2026 07:00:00 GMT</pubDate></item><item><title>First-Come-First-Served Systems Explained: 6 Implementation Strategies and How to Choose</title><link>https://rhcwlq89.github.io/en/blog/fcfs-system-comparison-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/fcfs-system-comparison-guide/</guid><description>Breaks down the core challenges of FCFS systems — concurrency, stock deduction, duplicate prevention — and compares 6 implementation strategies from DB locks to Redis, message queues, waiting queues, and token issuance.</description><pubDate>Fri, 20 Mar 2026 05:00:00 GMT</pubDate></item><item><title>Deadlocks and Lock Strategies by Isolation Level: From Pessimistic Locks to FOR UPDATE&apos;s Limits</title><link>https://rhcwlq89.github.io/en/blog/db-deadlock-and-lock-strategy-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/db-deadlock-and-lock-strategy-guide/</guid><description>Real deadlock cases at each isolation level — Read Committed, Repeatable Read, and Serializable. Covers pessimistic vs optimistic locking, FOR UPDATE mechanics, and why you&apos;ll eventually need Redis.</description><pubDate>Tue, 17 Mar 2026 14:50:00 GMT</pubDate></item><item><title>Transaction Isolation Levels Explained: From Read Uncommitted to Serializable</title><link>https://rhcwlq89.github.io/en/blog/db-isolation-level-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/db-isolation-level-guide/</guid><description>A practical guide to the 4 transaction isolation levels with real-world examples. Covers concurrency anomalies, MySQL vs PostgreSQL differences, and how to choose the right level.</description><pubDate>Tue, 17 Mar 2026 13:30:00 GMT</pubDate></item><item><title>Introduction to TSDB: Why You Need a Time Series Database</title><link>https://rhcwlq89.github.io/en/blog/tsdb-introduction-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/tsdb-introduction-guide/</guid><description>What is a Time Series Database (TSDB), why RDBs fall short for time series data, and a comparison of Prometheus, InfluxDB, and TimescaleDB.</description><pubDate>Tue, 17 Mar 2026 12:30:00 GMT</pubDate></item><item><title>A Practical Guide to HTTP Custom Headers in Production</title><link>https://rhcwlq89.github.io/en/blog/http-custom-headers-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/http-custom-headers-guide/</guid><description>A comprehensive guide to commonly used HTTP custom headers like X-Request-ID and X-Forwarded-For. Covers the history of the X- prefix convention, CORS implications, and Spring Boot implementation.</description><pubDate>Mon, 16 Mar 2026 05:00:00 GMT</pubDate></item><item><title>Getting More Out of Claude Code (3) — Sub-agents and Agent Teams</title><link>https://rhcwlq89.github.io/en/blog/claude-code-advanced-guide-3/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/claude-code-advanced-guide-3/</guid><description>A practical guide to delegating tasks with sub-agents and orchestrating parallel collaboration with agent teams in Claude Code</description><pubDate>Sat, 14 Mar 2026 11:00:00 GMT</pubDate></item><item><title>Getting More Out of Claude Code (2) — Plugins, MCP, and IDE Integration</title><link>https://rhcwlq89.github.io/en/blog/claude-code-advanced-guide-2/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/claude-code-advanced-guide-2/</guid><description>A practical guide to extending Claude Code with plugins, connecting external tools via MCP, and using Claude natively in VS Code</description><pubDate>Sat, 14 Mar 2026 10:00:00 GMT</pubDate></item><item><title>Getting More Out of Claude Code (1) — Memory, Skills, and Hooks</title><link>https://rhcwlq89.github.io/en/blog/claude-code-advanced-guide-1/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/claude-code-advanced-guide-1/</guid><description>A practical guide to Claude Code&apos;s memory system (CLAUDE.md, auto memory), 5 bundled skills, custom skills, and workflow automation with hooks</description><pubDate>Sat, 14 Mar 2026 09:00:00 GMT</pubDate></item><item><title>Understanding CORS: From Browser Security Policy to Spring Boot Configuration</title><link>https://rhcwlq89.github.io/en/blog/cors-understanding-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/cors-understanding-guide/</guid><description>Understand how CORS (Cross-Origin Resource Sharing) works and learn how to resolve common CORS errors in practice</description><pubDate>Thu, 12 Mar 2026 06:00:00 GMT</pubDate></item><item><title>SAML 2.0 Authentication Complete Guide: From Concepts to Microsoft Entra ID Integration</title><link>https://rhcwlq89.github.io/en/blog/saml-authentication-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/saml-authentication-guide/</guid><description>A practical guide to SAML 2.0 protocol core concepts and implementing Microsoft Entra ID (Azure AD) SAML integration with Spring Boot</description><pubDate>Thu, 12 Mar 2026 01:00:00 GMT</pubDate></item><item><title>Terraform Fundamentals: A Complete Guide</title><link>https://rhcwlq89.github.io/en/blog/terraform-basics-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/terraform-basics-guide/</guid><description>A comprehensive guide covering IaC fundamentals, Terraform core concepts, workflow, state management, and modules for developers getting started with infrastructure as code</description><pubDate>Sun, 08 Mar 2026 05:00:00 GMT</pubDate></item><item><title>K8s Log Monitoring with Loki + Grafana</title><link>https://rhcwlq89.github.io/en/blog/kind-loki-grafana-log-monitoring/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/kind-loki-grafana-log-monitoring/</guid><description>A hands-on guide to setting up Loki, Promtail, and Grafana on a kind cluster to collect and query Spring Boot application logs</description><pubDate>Sun, 08 Mar 2026 02:00:00 GMT</pubDate></item><item><title>Building a Local GitOps Pipeline with ArgoCD on kind</title><link>https://rhcwlq89.github.io/en/blog/kind-argocd-gitops-pipeline/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/kind-argocd-gitops-pipeline/</guid><description>A hands-on guide to installing ArgoCD on a kind cluster and building a GitOps automated deployment pipeline with the marketplace-deploy project</description><pubDate>Sun, 08 Mar 2026 01:00:00 GMT</pubDate></item><item><title>Setting Up a Local K8s Cluster with kind</title><link>https://rhcwlq89.github.io/en/blog/kind-local-k8s-cluster-setup/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/kind-local-k8s-cluster-setup/</guid><description>A hands-on guide to building a multi-node Kubernetes cluster locally using kind and deploying a Spring Boot application</description><pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building a GitOps Pipeline with ArgoCD on EKS</title><link>https://rhcwlq89.github.io/en/blog/eks-argocd-gitops-pipeline-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/eks-argocd-gitops-pipeline-guide/</guid><description>A guide to installing ArgoCD on EKS and building a complete GitOps CI/CD pipeline with GitHub Actions</description><pubDate>Sat, 07 Mar 2026 02:00:00 GMT</pubDate></item><item><title>Production-Level EKS Cluster Setup Guide</title><link>https://rhcwlq89.github.io/en/blog/eks-production-setup-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/eks-production-setup-guide/</guid><description>A practical guide to building production-grade EKS clusters from eksctl to Terraform, including networking setup</description><pubDate>Sat, 07 Mar 2026 01:00:00 GMT</pubDate></item><item><title>Kubernetes Fundamentals: Everything You Need to Know</title><link>https://rhcwlq89.github.io/en/blog/kubernetes-basics-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/kubernetes-basics-guide/</guid><description>A comprehensive guide to Kubernetes basics - architecture, core objects, networking, deployment strategies, and essential kubectl commands</description><pubDate>Sat, 07 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Top 10 Claude Code Plugins: Features, Strengths &amp; Weaknesses Fully Analyzed</title><link>https://rhcwlq89.github.io/en/blog/claude-code-popular-plugins-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/claude-code-popular-plugins-guide/</guid><description>We handpicked 10 popular plugins that supercharge Claude Code, breaking down each one&apos;s core features, why developers love them, and the real-world drawbacks to watch out for.</description><pubDate>Thu, 05 Mar 2026 01:00:00 GMT</pubDate></item><item><title>Oh My OpenCode Setup Guide: Mastering the Terminal AI Coding Agent</title><link>https://rhcwlq89.github.io/en/blog/oh-my-opencode-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/oh-my-opencode-guide/</guid><description>A practical guide to installing Oh My OpenCode plugin for OpenCode and configuring multi-agent orchestration, LSP/AST tools, and MCP integrations</description><pubDate>Sun, 08 Feb 2026 11:00:00 GMT</pubDate></item><item><title>Spring Boot SSO Integration Guide: OAuth2/OIDC and SAML in Practice</title><link>https://rhcwlq89.github.io/en/blog/spring-sso-integration-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-sso-integration-guide/</guid><description>A practical guide to SSO integration with IdPs like Keycloak, Okta, and Azure AD using Spring Security</description><pubDate>Thu, 05 Feb 2026 06:00:00 GMT</pubDate></item><item><title>AWS Database Selection Guide: EC2+Docker vs RDS vs Aurora</title><link>https://rhcwlq89.github.io/en/blog/aws-database-selection-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-database-selection-guide/</guid><description>How to choose between running a DB directly on EC2 with Docker, RDS, Aurora, and Aurora Serverless v2 — a detailed comparison based on cost, performance, and operational burden</description><pubDate>Tue, 03 Feb 2026 06:30:00 GMT</pubDate></item><item><title>Complete Guide to AWS CLI Setup and Resource Queries</title><link>https://rhcwlq89.github.io/en/blog/aws-cli-resource-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-cli-resource-guide/</guid><description>A comprehensive guide to AWS CLI authentication methods (CloudShell, IAM Identity Center, access keys) and resource query commands for major services</description><pubDate>Tue, 03 Feb 2026 02:00:00 GMT</pubDate></item><item><title>AWS Bastion Host Setup Guide</title><link>https://rhcwlq89.github.io/en/blog/aws-bastion-host-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-bastion-host-guide/</guid><description>A complete guide to configuring SSH access to Private EC2 instances through a Bastion Host</description><pubDate>Tue, 03 Feb 2026 01:00:00 GMT</pubDate></item><item><title>AWS EC2 Guide</title><link>https://rhcwlq89.github.io/en/blog/aws-ec2-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/aws-ec2-guide/</guid><description>A complete guide from EC2 instance basics to production operations</description><pubDate>Mon, 02 Feb 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Practical Guide Part 7: Logging Strategy and Practice</title><link>https://rhcwlq89.github.io/en/blog/springboot-practical-guide-7/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/springboot-practical-guide-7/</guid><description>From SLF4J, Logback, Log4j2 comparison to structured logging, MDC, and centralized log management</description><pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Spring Boot Practical Guide Part 6: Monitoring and Observability</title><link>https://rhcwlq89.github.io/en/blog/springboot-practical-guide-6/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/springboot-practical-guide-6/</guid><description>Real-time system monitoring with Prometheus, Grafana, and custom metrics</description><pubDate>Sun, 25 Jan 2026 06:00:00 GMT</pubDate></item><item><title>Spring Boot Practical Guide Part 5: Database Optimization</title><link>https://rhcwlq89.github.io/en/blog/springboot-practical-guide-5/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/springboot-practical-guide-5/</guid><description>Handling large-scale data with index design, cursor-based pagination, and Read Replicas</description><pubDate>Sun, 25 Jan 2026 05:00:00 GMT</pubDate></item><item><title>Spring Boot Practical Guide Part 4: Resilience Patterns</title><link>https://rhcwlq89.github.io/en/blog/springboot-practical-guide-4/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/springboot-practical-guide-4/</guid><description>Building fault-tolerant systems with Circuit Breaker, Rate Limiter, and Bulkhead</description><pubDate>Sun, 25 Jan 2026 04:00:00 GMT</pubDate></item><item><title>Spring Boot Practical Guide Part 3: Event-Driven Architecture</title><link>https://rhcwlq89.github.io/en/blog/springboot-practical-guide-3/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/springboot-practical-guide-3/</guid><description>Building a reliable event system with Kafka and the Outbox pattern</description><pubDate>Sun, 25 Jan 2026 03:00:00 GMT</pubDate></item><item><title>Spring Boot Practical Guide Part 2: Caching Strategy and Redis</title><link>https://rhcwlq89.github.io/en/blog/springboot-practical-guide-2/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/springboot-practical-guide-2/</guid><description>A complete caching guide from Cache-Aside pattern to cache problem resolution, ready to apply in production</description><pubDate>Sun, 25 Jan 2026 02:00:00 GMT</pubDate></item><item><title>Spring Boot Practical Guide Part 1: Concurrency Control and Inventory Management</title><link>https://rhcwlq89.github.io/en/blog/springboot-practical-guide-1/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/springboot-practical-guide-1/</guid><description>A practical guide to solving concurrency issues with atomic UPDATEs and idempotency keys</description><pubDate>Sun, 25 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide: Comprehensive Assignment</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-assignment/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-assignment/</guid><description>Spring Boot-based online marketplace REST API comprehensive assignment — from product, order, and member domain design to testing and deployment</description><pubDate>Fri, 23 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide Part 7: Advanced Patterns</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-7/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-7/</guid><description>Advanced patterns and architecture — events, async processing, file handling, and multi-module</description><pubDate>Wed, 21 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide Part 6: DevOps &amp; Deployment</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-6/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-6/</guid><description>Deployment environment setup and CI/CD — Docker, GitHub Actions, and Actuator</description><pubDate>Mon, 19 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide Part 5: Security &amp; Authentication</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-5/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-5/</guid><description>Authentication/authorization and security configuration — Spring Security, JWT, and role management</description><pubDate>Sat, 17 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide Part 4: Performance &amp; Optimization</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-4/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-4/</guid><description>Performance optimization and query tuning — N+1 problem, pagination, and caching strategies</description><pubDate>Thu, 15 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide Part 3: Documentation &amp; AOP</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-3/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-3/</guid><description>API documentation with Swagger/SpringDoc, SLF4J logging, and cross-cutting concerns with AOP</description><pubDate>Tue, 13 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide Part 2: Database &amp; Testing — Environment Split · Test Pyramid · Testcontainers</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-2/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-2/</guid><description>Environment-specific DB selection and ddl-auto policies, Memory Repository pitfalls, Test Pyramid annotation choices, choosing between test doubles (Dummy, Stub, Spy, Mock, Fake), and using Testcontainers to catch bugs that H2 dialect differences hide — the second most-flagged area in Spring Boot pre-interview submissions, covered in one post.</description><pubDate>Sun, 11 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Spring Boot Pre-Interview Guide Part 1: Core Application Layer — Controller, Service, Repository, Domain</title><link>https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-1/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/spring-boot-pre-interview-guide-1/</guid><description>The four-layer design points evaluators repeatedly flag in Spring Boot pre-interview assignments — Controller/Service/Repository/Domain responsibility split, Request → Command conversion, what @Transactional(readOnly=true) actually does, and the three-tier priority of GlobalExceptionHandler. Series Part 1.</description><pubDate>Fri, 09 Jan 2026 01:00:00 GMT</pubDate></item><item><title>Docker Compose Guide — services/networks/volumes Mental Model, What depends_on Actually Means, and Real-World Pitfalls</title><link>https://rhcwlq89.github.io/en/blog/docker-compose-guide/</link><guid isPermaLink="true">https://rhcwlq89.github.io/en/blog/docker-compose-guide/</guid><description>A guide for engineers who are new to Compose and unsure how it differs from a stack of docker run lines, or why their app crashes before the DB is ready even with depends_on. Covers the mental model behind services/networks/volumes, the real behavior of healthcheck and condition: service_healthy, dev/prod separation strategies, and macOS bind mount performance — all in one place.</description><pubDate>Wed, 07 Jan 2026 01:00:00 GMT</pubDate></item></channel></rss>