본문 바로가기

kotlin3

[Spring Security] 전역 에러 처리하기 현재 전역 에러를 처리하는 Filter를 만들어서 사용하고 있는데 운영에서도 본인 몫을 잘 해내고 있어서 해당 경험을 공유해보려고 한다. 스프링 시큐리티를 많이 만지다보면 내 코드는 그렇게 치밀하지가 않아서 (특히 코틀린은 모든게 다 unchecked 예외다보니…) 한 번씩 예외가 터지게 된다. null 예외는 예사고, IO 관련 객체들을 직접 건드리다보니 특히 더 예외 사항이 많은 것 같다.해당 에러들은 인증, 인가 에러가 아니기 때문에 시큐리티에서 자동으로 처리해주지 않는다. 이런 코드들을 하나하나 대비해서 예외 처리를 하는게 베스트겠지만 ControllerAdvice처럼 전역으로 에러를 처리할 수 있는 클래스가 있으면 좋겠다고 생각했다. 스프링 예외 처리에 대한 기본 지식이 있는 분들은 바로 본론을.. 2025. 2. 3.
kotlin kotest BehaviorSpec 에서 @SpringBootTest 하기 새 프로젝트를 코틀린으로 시작하면서 코틀린을 새롭게 배우게 됐다. 이제는 새로운 언어를 배우게 되면 테스트코드로 학습을 하게 되는것 같다. 처음에는 junit5 을 사용하다가 코틀린 진영에서 쓰는 kotest가 있다는걸 알게 됐다. 레퍼런스가 많이 없는 상황에서 spring kotest를 적용하면서 겪은 문제점들과 해결 방법을 적어보려고한다. 문제 1. kotest에서 @SpirngBootTest가 돌아가지 않는다2. 의존성 주입을 어떻게 받아야 하는지 모르겠다 기본 셋팅1. 의존성 추가 testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("io.kotest:kotest-runner-.. 2024. 9. 13.
Spring Cloud Eureka에서 AWS 외부(public) 서버 주소 동적으로 알아내기 클라우드 환경에서 개발하다보면 개발 서버의 ip가 자주 바뀌곤한다. 특히 MSA 환경에서 서버 ip 가 바뀔때마다 ip 관련 환경설정을 바꿔야 한다면 굉장히 귀찮은 일이 될 수 있다. 이를 보완하기 위해 현재 쿠버네티스 같은 MSA 환경을 위해 나온 기술들은 대부분 service discovery 기능을 지원한다. 우리 회사에서는 아직 운영중이지 않은 프로토타입의 서비스를 대상으로 Spring Cloud 기술을 사용해 적용해보기로 했다.  이번 포스팅은 AWS + Spring Cloud 환경을 구축하면서 맞이했던 문제 중 하나인 AWS 의 IP 문제를 다뤄보려고한다. Eureka는 기존  호출하는 쪽에서 서버 ip 를 가지고 있는게아닌, 서비스 스스로 자신의 ip를 등록해 다른 서버들이 서비스 ip가 아.. 2024. 9. 2.