선착순 쿠폰 발급. 말은 간단한데 실제로 만들면 온갖 문제가 터진다. DB row lock으로 재고를 차감하면 동시 요청이 몰릴 때 데드락이 걸리고, 커넥션 풀이 고갈되고, 초과 발급이 일어난다.
Spring Boot + Kotlin으로 선착순 쿠폰 발급 시스템을 만들면서 Claude Code를 메인 개발 도구로 썼다. 18개 커밋, 7개 Plan 문서, 2개 Design 문서를 거치면서 플러그인을 하나씩 추가했는데, 결론부터 말하면 절반은 필요 없었다.

매일 TIL(Today I Learned)을 쓰는데, 매번 Claude한테 "이 포맷으로 써줘"라고 설명하는 게 귀찮아졌다. 그래서 Claude 스킬을 직접 만들어서, "TIL 작성해줘"라고만 하면 Notion DB에 자동으로 올라가게 만들었다. SKILL.md 하나랑

복잡하게 얽힌 if-else 로직을 Chain of Responsibility 패턴으로 리팩토링하여 유연성과 확장성을 확보한 경험을 공유합니다.

OAuth2 인증 성공 후 자체 JWT를 발급하고, 실패 시 프론트엔드 친화적인 에러 응답을 반환합니다. 사용자 경험을 해치지 않으면서 보안을 유지하는 핸들러 설계를 다룹니다.

이 글에서는 Filter, ThreadLocal, 그리고 jOOQ Condition을 조합하여, 기존 쿼리의 수정 없이 우아하게 데이터 격리를 구현한 경험을 공유합니다.

SPA(Single Page Application)와 OAuth2를 연동할 때 발생하는 상태 관리 문제를 쿠키 기반으로 해결합니다.

카카오, 네이버, 구글은 각각 다른 JSON 응답 구조를 가집니다. Factory Pattern을 활용하여 Provider별 응답을 통합된 DTO로 변환하는 시스템을 구축합니다.

카카오, 네이버, 구글 소셜 로그인을 하나의 아키텍처로 통합합니다.

Spring Boot 3와 Spring Security 6를 활용한 카카오 OAuth2 소셜 로그인 구현 방법을 단계별로 알아봅니다.

대규모 트래픽 처리를 위해 데이터베이스를 Master(Write)와 Slave(Read)로 분리하는 것은 백엔드 개발에서 흔한 패턴입니다. 하지만 이 구조를 도입하자마자 마주치는 고질적인 문제가 하나 있습니다. 바로 '리플리케이션 지연(Replication Lag)'입
Jooq는 Java 객체 지향 쿼리를 위한 프레임워크로, SQL을 타입 안전하게 작성할 수 있게 해준다. 이는 복잡한 SQL 쿼리를 간편하게 작성하고 관리할 수 있게 해준다.AOP는 프로그래밍에서 공통적으로 사용되는 기능(예: 로깅, 보안)을 모듈화하는 프로그래밍 패러

REST API의 단위 테스트를 진행하던 중, MockMVC를 사용한 테스트 케이스에서 응답이 정상적으로 반환 되지 않는 오류를 마주쳤습니다.

JWT를 사용하며 JWT에 대해 정리한 글입니다. JWT란? JWT(JSON WEB TOKEN)는 당사자 간에 정보를 JSON 객체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준입니다. 간단히 말해서 서로 다른 서비스 간에 발신자를 확인
JWT는 토큰 인증 방식 중 하나로, JSON 객체를 사용하여 토큰을 생성하고 인증하는 방식입니다. 이 방식은 상대적으로 가벼운 구조를 가지고 있어 많은 웹 서비스에서 사용되고 있습니다.Bearer는 '소지자' 또는 '착용자'라는 뜻이며, 인증 토큰을 전달할 때 사용되
본 글에서는 인증 작업 생성과 사용자 유효성 검증에 대한 코드를 소개하고, 해당 코드를 구성하는 각 요소와 구현 방법을 설명하겠습니다.인증 작업 생성을 위한 코드는 주로 AuthForm 컴포넌트와 action 함수를 포함합니다. AuthForm 컴포넌트는 사용자 인터페
인증은 현대의 디지털 시대에서 매우 중요한 개념 중 하나입니다. 인증이란, 어떤 사용자가 자신이 주장하는 것이 사실인지 확인하고, 해당 사용자에 대한 신뢰를 구축하는 과정입니다. 이번 글에서는 인증의 원리와 인증 방식에 대해 알아보겠습니다.서버-사이드 세션은 인증을 위