inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

철이와미애님의 게시글

철이와미애 철이와미애

@nahud

수강평 작성수
4
평균평점
5.0

게시글 6

질문&답변

어디까지 모니터링으로 커버하고, 어디까지 테스트로 커버해야할까요?

안녕하세요, 지나가는 객입니다 ㅎㅎ 박하탕님 말씀을 보니 모니터링과 테스트를 같은 선상에 두고 계신것 처럼 보입니다. 저는 조금 다른 생각인데요. 말씀처럼 테스트로 잡지 못한 버그도 모니터링으로 나올 수 있지만, 메모리 누수나 슬로우 쿼리 등으로 인한 데이터베이스 커넥션 타임아웃, 과도한 요청이 집중되는 순간순간들은 테스트 코드 작성을 통한 확인이 힘듦으로 보입니다. 따라서 말씀하신 방법 3가지 이외에도 모니터링 영역은 영한님 말씀대로 충분히 감시?하는 것이 좋겠습니다! 🙂 서비스 규모에 따른 테스트, 모니터링 기법은 다른 개발자분이 답해주시리라 믿습니다!

좋아요수
0
댓글수
1
조회수
332

질문&답변

ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상

저만 겪는 경우가 아니라 상황 공유합니다. 해결책은 ControllerAdvice에서 Access Denied Exception를 잡는 방법이라고 합니다. https://stackoverflow.com/questions/72615257/spring-accessdeniedhandler-interface-dont-get-called-when-i-have-exceptionhandl https://github.com/spring-projects/spring-security/issues/6908 디버깅을 해보니 아래와 같습니다. @MethodSecurity 는 AOP를 이용하여 권한을 체크합니다.(Spring MVC계층까지 전파) 이 때 권한 에러가 발생한다면 @ControllerAdvice 에서 에러를 캐치하여 응답을 내리기 때문에 SecurityFilterChain 에서 AccessDeniedException 이 발생함을 인지하지 못하여 그대로 Advice로직이 실행됩니다. 하지만 @ControllerAdvice 를 비활성화한다면 MVC 계층에서 발생한 AccessDeniedException 이 그대로 SecurityFilterChain 까지 올라가 커스텀하게 구현한 AccessDeniedHandler(Http403Handler) 로직이 동작합니다. 앞으로도 좋은 강의 기대하겠습니다. 감사합니다.

좋아요수
0
댓글수
2
조회수
1184