목록2023/12 (21)
Skipalong's tistory
오늘은 테스트코드를 작성하는 개인과제를 제출하고 해설영상을 들었는데 과제를 하면서도 느끼고 해설영상을 보면서도 느꼈지만 정말 배워도 배워도 새로운게 계속 나오는 것 같다. 과제를하면서 여기저기 찾아보면서 새로운 라이브러리의 많은 애너테이션과 메서드들을 새로 배웠지만 해설영상을 보니 또 다른 여러가지 방법들을 보면서 좀 더 효율적이고 주어진 상황에 맞는 좋은 방법을 쓰는것이 중요한 것 같다. 그리고 저번 과제에서 문제가 있었던 application.properties에서 DB 정보와 secretkey등 보안관련 항목을 올리지 않기위해 IntelliJ 에서 환경변수를 통해 config하는 방법을 간단히 정리해보겠다. 이렇게 인텔리제이 오른쪽위에 점 세개를 누른 후 EditConfiguration 을 눌러서 ..
오늘도 어제에 이어서 체크리스트를 체크해보겠다. ✅ 체크리스트 [ ] Spring AOP 를 통해 핵심기능 수행 전/후 또는 성공/실패 케이스 별로 부가기능을 추가할 수 있다. -> AOP란 위의 그림과 같이 핵심기능과 부가기능을 분리해서 다른 관점으로 보는 것을 의미한다. 부가기능을 핵심기능에 적용하는 모듈로 사용하는 설계이다. 이렇게 부가기능을 모듈화하는 이유는 핵심기능과 부가기능이 섞여있다면 모든 핵심기능에 부가기능을 추가한다면 동일한 코드를 하나하나 코드를 모두 작성해야해서 매우 비효율적이고 핵심기능이 추가될 때 부가기능을 깜빡하는 등의 문제가 생길 수 있기 때문에 부가기능추가에 신경을 써야하고, 핵심기능을 수정할 때 핵심기능을 이해하기 위해 부가기능의 이해까지 필요하기 때문에 비효율적이다. 또 ..
오늘도 체크리스트를 체크해보겠다. ✅ 체크리스트 [ ] mockMvc 를 사용하여 Controller 테스트 코드를 작성할 수 있다. -> 우선 UserController 를 테스트 해보려면 인증/인가 과정에 필터와 Security 사용하고 있으므로 MockFilter를 만들어주고@WebMvcTest 애너테이션을 사용해 필터와 WebSecurityConfig등의 설정을 해준 뒤 MockMvc등 필요한 객체들을 설정해준 뒤 Controller의 각 메서드들을 given-when-then 패턴을 사용하여 테스트를 해주면 된다. 아직은 세부적인 것들을 보면 너무 어렵고 이해하기 힘들지만 필요한 항목에 주석을 달며 시행착오를 거쳐가며 테스트를 진행해 봐야할 것 같다. 오늘부터 숙련주차 개인과제를 리팩토링 하..