레벨2 소프트 스킬 강의 후기 - 회복 탄력성 : 흔들려도 무너지지 않는 힘
·
우아한테크코스 8기
자아존중감 - 나는 나에게 얼마나 관대했나?강의에서 자아존중감을 이렇게 정의했다."자신이 사랑받을 만한 가치가 있는 존재임을 인정하고 존중하는 마음"이 정의를 듣고 나서 돌아봤다. 지금까지 우테코를 다니면서 미션이 끝난 후, 혹은 레벨이 끝난 후에 나 자신에게 "잘했다"고 말한 적이 단 한 번이라도 있었나? 없었다. 항상 다른 크루들과 비교하면서 내가 부족한 부분만 눈에 들어왔다. 그 부족함을 채워야 한다는 열망으로 스스로를 채찍질했다. 그게 성장 의지라고 생각했는데, 돌아보면 나 자신을 한 번도 인정해준 적 없이 몰아붙이기만 했던 것 같다.감정을 무시하는 것이 습관이 되어 있었다강의에서 이런 말이 나왔다."감정을 무시하고 밝게 지내는 것은 회복이 아닌 회피입니다. 감정을 인식하고 흘려보내는 것이 회복의..
MethodArgumentNotValidException 발생 조건부터 핸들링까지
·
Spring
방탈출 사용자 예약 미션에서 요청 DTO 검증과 전역 예외 처리를 구현하며 MethodArgumentNotValidException을 @ExceptionHandler로 처리한 경험이 있다. 당시에는 이 예외가 왜 발생하는지, 내부적으로 어떻게 동작하는지 제대로 이해하지 못한 채 구현에 임했다. 미션이 끝난 지금, 동작 원리를 제대로 정리해두고자 한다.MethodArgumentNotValidException이란 무엇인가?BindException to be thrown when validation on an argument annotated with @Valid fails. Spring Docs - MethodArgumentNotValidException @Valid가 붙은 파라미터의 Bean Validat..
@Valid vs @Validate 차이는 무엇인가?
·
Spring
우테코 미션을 진행하면서 Spring Validation에 대해서 학습하면서 @Valid와 @Validated에 대해서 알게 되었는데 이를 상황에 맞게 선택하기 위해, 두 애노테이션이 동작하는 메커니즘의 차이를 정리하고자 한다.@Valid이란 무엇인가?@Valid는 JSR 표준 애노테이션으로, @Constraint 애노테이션이 선언된 DTO를 검증할 때 사용한다. ArgumentResolver가 객체를 바인딩한 뒤, Validator가 @Valid를 트리거로 삼아 객체 내부의 제약 조건들을 검증하는 방식이다.@Validated이란 무엇인가?@Validated는 Spring이 추가한 애노테이션으로, 클래스 위에 선언한다. @RequestParam, @PathVariable 같은 단순 파라미터에도 @NotN..
Bean Validation으로 요청 DTO 검증하기
·
Spring
레벨2 방탈출 미션에서 요청 DTO 검증을 도메인 검증과 동일하게 validate() 메서드로 직접 처리했다. 리뷰어분이 Spring Validation을 키워드로 제시해줬고, 이를 계기로 Bean Validation을 도입하게 됐다.아래는 Bean Validation을 적용하면서 겪은 시행착오와 오해를 솔직하게 정리한 내용이다.Bean Validation이란 무엇인가?Bean Validation은 JavaBean 유효성 검증을 위한 메타데이터 모델과 API에 대한 정의이며 여기서 언급하고 있는 JavaBean은 직렬화 가능하고 매개변수가 없는 생성자를 가지며, Getter 와 Setter Method를 사용하여 프로퍼티에 접근이 가능한 객체를 의미합니다 자바에서 객체의 필드 값이나 상태에 대해서 제약 ..