프로젝트 2

AOP를 통한 유저 인증 정보 미리 주입하기

개요카카오 소셜 로그인을 구현하고 토큰을 발급하여, 인증 정보를 토큰으로 관리하는 프로세스를 구현했다.Authentication 객체를 통해 인증된 유저 정보를 활용할 수도 있었다.하지만 해당 방법은 사용할 수 있는 유저 정보가 제한적이고, 중복되는 코드가 많아지는 단점이 존재한다.그래서 AOP와 Authentication 객체를 활용해서 메서드 호출 전에 유저 정보를 주입해보자. 구현CurrentUserInfo 유저 정보 주입을 통해 생성되는 객체이며, 실질적으로 비즈니스 로직에서 사용되는 객체다.현재 필요한 정보인 유저 ID만 존재한다. AssignCurrentUserInfo 해당 어노테이션이 달린 메서드만 호출 전에 유저 정보 주입이 실행된다. AssignCurrentUserInfoAspect 로직..

프로젝트 2024.07.23

[지성인] JaCoCo 테스트 분석 도구 적용, 프로젝트 테스트 커버리지 확인

약 1개월 반 전에 테스트 개수가 200개였다..  추가적인 기능 개발과 리팩토링을 했더니 단위 테스트도 늘어나서 55개가 늘어난 258개가 되었다.우리 백엔드 파트는 '지성인' 프로젝트를 시작할 때부터 모든 분기 테스트를 작성하기로 마음 먹었다. 또한 레이어드 아키텍처를 적용해서 각 레이어별 역할을 명확히 했다.그에 따라 각 기능에 대해서 레이어별로 단위 테스트를 작성했다.힘들긴 했지만 .. 테스트 코드 덕분에 통해 코드의 품질이 올라갔다고 생각한다. 이쯤되니 우리 프로젝트의 테스트 커버리지는 얼마나 되는지 궁금해졌다.그래서 GitHub Actions을 통해 JaCoCo 테스트 분석 도구를 적용하기로 했다. 적용build.gradleplugins { id 'java' id 'org.sprin..

프로젝트 2024.07.09