Spring

· Spring
들어가며프로젝트를 진행하다 보면 로깅의 중요성을 몸소 느끼게 됩니다. 오디 프로젝트 초기만 해도 모니터링 시스템이 구축되지 않아, QA를 진행하는 데 어려움이 있었습니다. 적절한 로깅은 빠른 문제 해결에 큰 도움이 됩니다. 프로젝트에서 모니터링 시스템을 구축한 경험을 바탕으로, 로깅과 모니터링 구축 방법을 공유하고자 합니다. 스프링 부트 기반 애플리케이션의 로깅 시스템을 처음 다뤄보는 분들께 도움이 되길 바랍니다.로그와 로깅우선 정의부터 하겠습니다. 로그(log)란 시스템이나 애플리케이션에서 발생하는 사건이나 상태를 기록한 데이터를 의미합니다. 로깅(logging)은 로그를 수집하는 행위입니다. 개발에서 로깅은 중요합니다. 특히, 에러 상황을 빠르게 인지하고 디버깅하는데 용이합니다. 이 밖에도 성능 분석..
· Spring
sql 파일로 더미 데이터를 생성하던 중 이런 리뷰를 받았습니다.production, test 모두 실제 데이터를 쿼리로 넣는 것은 좋은 방법은 아닐 것 같습니다!이렇게 쿼리로 작성하면 어떤 문제가 있을까요? 쿼리로 데이터를 넣었던 이유는 쉽고 빠르기 때문이었습니다.그러나, 왜 좋은 방법이 아닐까요? '비즈니스 로직을 타지 않는다'는 점입니다. 직접 쿼리로 데이터를 넣으면 테이블에 걸려 있는 제약 조건 외에는 검증이 되지 않아, 데이터의 신뢰성이 떨어질 수 있습니다.데이터 무결성과 정합성도 보장할 수 없습니다. varchar로 정의된 날짜 칼럼에 "abc" 같은 문자열이 들어갈 수도 있을 것이고, 외래키 제약이 걸려 있지 않다면 존재하지 않는 id를 참조하게 될 수도 있을 것입니다. 비즈니스 로직을 잘 ..
· Spring
스프링 부트로 웹 애플리케이션을 만들다 보니, controller 또한 테스트의 영역이 되었습니다.아래 코드는 예약을 생성하는 api입니다. controller 로직을 어떻게 테스트할 수 있을까요? 웹 애플리케이션에 대해 알지 못했다면아래 코드처럼, 직접 createReservationByLoginMember 메서드를 호출하여 단위테스트로 구현했을 것 같습니다. 그러나, 이런 방식으로 controller를 테스트하진 않겠죠.왜일까요? 웹 애플리케이션에서 controller의 동작의 핵심은 HTTP 요청을 받아, 관련 모듈에게 협력을 요청하고 응답을 생성하여 다시 반환해 주는 것입니다. 즉, 웹 애플리케이션의 요청과 응답 사이의 상호 작용을 담당합니다. 이 부분까지 테스트를 하려면 어떻게 하면 좋을까요? ..
· Spring
레벨 2가 되어 스프링 프레임워크로 미션을 진행하게 되었습니다.DB 사용하는 테스트를 작성해야 했는데요, 이런 리뷰를 받게 되었습니다.@DirtiesContext를 사용하셨군요.프로젝트가 커지면 어떤 문제가 있을 수 있나요? 테스트 격리를 위해 @DirtiestContext를 사용하는 것이 어떤 문제가 있을까요?문제점을 알아보고, 더 좋은 방안은 없는지 알아보겠습니다. @DirtiestContext우선, @DirtiestContext이 어떤 역할을 하는지 알아보겠습니다.Test annotation which indicates that the ApplicationContext associated with a test isdirty and should therefore be closed and removed..
· Spring
빈으로 등록해서 사용하셨군요. @component 와는 어떤 차이가 있나요 방탈출 예약 관리 미션을 하면서 이런 질문을 받았습니다. 왜 repository에는 @Repository 애너테이션을 붙이는 걸까요? @Component를 붙이면 안 될까요? 어떤 차이가 있는 지 알아보겠습니다. @Repository @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Repository { /** * Alias for {@link Component#value}. */ @AliasFor(annotation = Component.class) String value() default ""..
_JoJo
'Spring' 카테고리의 글 목록