분류 전체보기

· TIL
AOP란? AOP(Aspect Oriented Programming) 관점 중심 설계다. 예를 들어 '부가기능'과 '핵심기능' 과는 관점(Aspcet)이 다르다. 따라서 핵심기능과 부가기능을 분리해서 부가기능 중심으로 설계가 가능하게 하는 것이 AOP다 AOP를 사용해서 부가기능을 모듈화 할 수 있다. 모듈화 - 유지보수성을 높이기 위해 코드를 여러개의 모듈로 나누는 것 @Aspect Spring Bean 클래스에만 적용 가능 클래스를 AOP화 하게 해주는 어노테이션 어드바이스 종류 @Around: '핵심기능' 수행 전과 후 (@Begore + @After) @Before: '핵심기능' 호출 전 @After: '핵심기능' 수행 성공/실패 여부와 상관없이 언제나 동작 @AfterReturning: '핵심기..
· TIL
오늘은 기존 개인 투 두 프로젝트에서 Service를 인터페이스화 시키고 Service 구현체를 만드는 리팩토링을 진행하였다. public interface CardService { // ... } @Service public class CardServiceImpl implements CardService { // ... } 의문점 굳이 인터페이스를 써야하나? 라는 의문점을 가진 것은 아니다. Spring에서 의존성 관리를 위해서 @Service 어노테이션을 갖고있는 클래스의 Bean을 빈팩토리에 넣어서 가지고 있는데, 내가 CardService인터페이스를 Controller에서 주입을 받는다고 하면 Spring 은 자동으로 인터페이스의 구현체 Bean을 찾아서 주입을 해준다. 여기서 들었던 의문이다. ..
· TIL
이번 배달 어플 API 팀 프로젝트를 하면서 고민했던게 가게나 메뉴, 주문등이 삭제되면 고아객체를 어떻게 관리할 것인가? 였다. 강의에서 Cascade와 OrphanRemoval를 배워서 고아객체에 대한 개념을 알기 때문에 이 부분에 대해서 논의를 해봤다. 논의 실제 서비스를 한다고 가정했을때, 메뉴가 삭제되거나, 가게가 삭제된다고 해서 주문과 리뷰등이 사라진다면 어떤 문제가 일어날까? 사업자가 정산을 받거나, 추후에 세금 계산 할 때 누락이 되는 등 갖가지 문제가 일어날 수 있다. 이런 문제를 어떻게 해결할까? 간단한 해결법 엔티티에 Boolean 타입으로 isDeleted 필드를 추가해주었다. 이렇게 하면 위에서 논의한 문제들을 간단하게 해결할 수 있다 조회를 할 때도 isDeleted true만 제..
· TIL
문제 정의사실 수집유저 회원가입 테스트 중 getWriter() has already been called for this response 출력 ExceptionHandeler에서 문제가 났다고 하길래, Exception을 안 내면 되겠다고 생각했다. Exception을 안 내도 getWriter() has already 오류가 발생했다 원인 추론response를 반환해야하는데, 이미 getWriter() 가 쓰였기 때문에 안 된다는 의미 같았다. @RequiredArgsConstructor public class JwtAuthorizationFilter extends OncePerRequestFilter { private final JwtUtil jwtUtil; private final ObjectMa..
· TIL
Access Token Access Token이 탈취를 당하면 큰 일이 난다. 그래서 이걸 방지하려고 AccessToken의 만료기한을 짧게 설정하는데, 이러면 사용자 경험이 나빠지게 된다. 계속 로그인을 해야하니까! 그래서 이 해결법으로 나온 게 Refresh Token이다 Refresh Token Refresh Token은 Access Token 이 만료 됐을 때 Access Token 을 재발급 해주기 위해서 사용한다 프로세스 기본적인 개념은 아래와 같다 Access Token 만료기한이 짧다 Refresh Token 만료기한이 길다 평소 API 통신에서는 Access Token을 사용하고, Refresh Token은 Access Token이 만료되어 갱신 될 때 사용한다. Refresh Token..
· TIL
오늘 팀 프로젝트간에 일어났던 문제다 jwt와 security를 정확히 잘 파악하지 못해서 팀 프로젝트에서 내가 인증 인가, 및 유저 도메인을 맡기로했다 그런데 역시나 문제가 발생했다 로그인을 하는데 unsuccessfulAuthentication로 계속 빠지는 것이다. 그래서 디버깅을 해봤는데 AccountStatus??? 분명 이런 걸 관리하는 곳이 있었는데 @Getter @RequiredArgsConstructor public class UserDetailsImpl implements UserDetails { private final User user; @Override public Collection
wonow_
'분류 전체보기' 카테고리의 글 목록 (20 Page)