전체 글 3

Spring Cloud Gateway에서 JWT 인증 필터 구현하기

🤔 왜 Gateway에서 인증을 처리했냐면아키텍처를 MSA 로 변경하면서 인증을 어디서 할지 은근 고민이 많았다각각 서비스에서 처리할지 게이트웨이에서 한 번에 처리할지;;; 마이크로서비스 아키텍처에서 인증 처리 위치는 크게 두 가지다:방식장점단점각 서비스에서 처리서비스별 세밀한 제어중복 코드, 인증 로직 산재Gateway에서 처리단일 진입점, 중앙 관리Gateway 부하 집중 나는 Gateway에서 인증을 처리하는 방식을 선택했다.왜냐면?인증 로직 한 곳에서 관리각 마이크로서비스는 비즈니스 로직에만 집중인증 정책 변경 시 Gateway만 수정🛠️ GlobalFilter로 인증 필터 만들기Spring Cloud Gateway에서는 GlobalFilter를 구현하면 모든 요청에 대해 필터가 실행된다.@S..

💻 개발/Spring 2026.01.13

DTO와 Response를 분리해야 하는 이유

🤔 그냥 DTO 하나로 쓰면 안 되냐는 질문을 진짜 많이 받는다.결론부터 말하면 분리하는 게 맞다.그리고 프로젝트가 급작스럽게 Mybatis 로 변경되어 이렇게 쓰는 것이지, JPA 의 경우는 Entity 까지 분리했을 것이다. 나도 첨에는 DTO만 쓰려고 했었는데 (Mapper에서 DTO로 받아서 그대로 리턴하면 편하니까..)몇 번 겪어보니까 분리하는게 맞더라 📦 내가 사용하는 패턴domain/└── book/├── controller/│ └── BookController.java├── dto/│ └── BookDto.java ← DB 매핑용├── mapper/│ └── BookMapper.java ← MyBatis 인터페이스├── model/│ └── BookListResponse.java ← A..

💻 개발/Spring 2026.01.13

기술블로그를 다시 시작하며 - 완벽주의 개발자의 기록 리셋

개발자로 전향한 지 4년 만에 기술블로그로 이룬 것들 스킨 변경하기 3234823742회카테고리 정하고 뿌듯해하기 747298회기초부터 시작한다며 Hello World 작성하기 5326회오류 해결하고 블로그용 초안 작성하기 147회 초안 작성할 때 마다 완벽해야 된다는 강박에 사로잡혀서임시저장한 글만 수두룩하고 포스팅까지 이어진 게 없다.틀리지 않으려는 생각이 결국 아무것도 못하게 만들고 말았다. 완벽함을 추구하는 것이야말로 가장 비생산적인 완벽주의라는 것을최근 우리 팀 리더를 보며 깨달았다. ^^ 나는 남의 눈치를 많이 보는 성격이다.블로그 포스팅도 불특정 다수에게 노출되는 것이다 보니'남들이 어떻게 생각할까' 에 초점을 맞추게 되었다. 블로그조차 솔직하게 쓰지 못하는 미친 강박 때문에4년 동안 지식은..