[TIL] SoftDelete 개발 방식, 서브 모듈 설정, PR 및 Postman으로 API문서 공유하기
·
TIL
오늘 한 일SoftDelete 코드 개선서브 모듈 설정팀원들과 PR 후 코드 리뷰Postman TeamworkSpace 개설 및 Auth, User API 테스트작업 내용SoftDeleteSoftDelete방식으로 개발을 하다보니 이 방식에 대해서 여러 방법이 있다는 것을 알게되었다. @SoftDelete를 적용하고 @SQLRestriction을 사용하여 삭제되지 않은 유저를 가져오는 방식, @SQLDELETE로 직접 생성한 필드를 관리하는 방법(@SQLRestriction방법은 동일) 등 다양한 전략이 존재했다.나는 @SQLDELETE 방식을 사용했으나 자식 엔티티를 자동으로 함께 SOFTDELETE하는 방법을 고려한다면 @SoftDelete 방식으로 바꿔서 사용해보는게 좋을까 생각했다.그 외에 번거로..
[TIL] Spring Security 예외 설정 , S3 설정, JWT 구현, JPA Auditawre
·
TIL
오늘 한 일Convention정리Spring Security 환경 설정 및 필터 구현S3 이미지 컴포넌트 개발JWT 파싱 및 유효성 검사 기능 개발JPA AuditAware 컴포넌트 개발작업 내용Security 환경 구현Security의 인증 부분을 항상 구현해왔으나 이전 구현과정에서 항상 막혔던 것이 예외 발생시 처리 방법이였다.기존의 GlobalExceptoinHandler로 예외내용에 대해 전파가 되지 않아 애를 먹었는데 드디어 해결방법을 찾아냈다.이 또한 별도의 포스팅으로 남길것이나 여기에 간단히 이미지와 코드를 남겨두려고 한다.이미지처럼 Filter는 DispatcherServlet의 이전에 요청을 감지하고 filterChain에 의해 순차적으로 수행된다.이 과정에서 인증/인가 작업을 수행하거나..
[TIL] MSA 서비스 Resilience4j로 CircuitBreak설정, Fallback 실습
·
TIL
오늘 한 일Resilience4j를 사용한 CircuitBreak, Fallback 적용Fallback 메서드에서 레디스 캐시를 사용한 토큰 발급 실습Theater Server 개발 및 Movie Server와 통신 테스트MSA에서 엔티티 맵핑 방법 정리작업 내용1. Resilience4j를 사용한 CircuitBreak, Fallback 적용하기  + Redis 캐싱 [MSA - Resilienc4j] CircuitBreaker, fallback 메서드 개발하기Resilience4j란?MSA환경에서는 각각의 서비스를 호출하여 통신을 이루는 시스템이다.통신 과정에서 통신이 원활히 진행되지 않아 늦게 데이터를 반환받는 지연의 상태 또는 장애가 발생하여 통신이sunro1994.tistory.com2. MSA..
[TIL] MSA Spring Cloud Eureka, Gateway 실습
·
TIL
아직 작업중인 내용이 있어서 이후에 내용이 추가됩니다 :)오늘 한 일실습할 프로젝트 기획모노레포 개설 및 Server, gateway, user(client), auth(client) 애플리케이션 개발Spring Cloud Eureka 실습Spring Cloud Gateway 실습작업 내용실습할 프로젝트 기획나는 MSA 강의를 듣고 직접 부딪혀보며 MSA환경을 구성하면 어떤 문제들이 생기는가 알아보기 위해 미니 프로젝트를 하나 해보기로 했다.강사님은 티켓관련 프로젝트로 아래와 같이 형체를 알아 볼수는 없지만 그래도 나만 알아보면 되는? 아키텍처를 설명해주셨고 나는 이를 기반으로 영화 예매 시스템을 하나 만들어보기로 했다.그렇게 내가 생각한 아키텍처는 아래 사진과 같다.이 아키텍처가 성공적으로 다 개발이 ..
[TIL] JPA 프로젝트 완성 및 배포
·
TIL
오늘 한 일Spring, JPA 엔티티 관계 맵핑 훈련용 MySelectShop 완성MySelectShop 엔티티 연관관계 및 사용 어노테이션 정리Docker, Git Actions, AWS EC2를 사용한 Server Deploy & CI/Cd PipeLineDocker, MySQL을 이용한 DB Server 생성Nginx를 사용한 8080포트 없이 서버 요청받아오기메모리 스왑Log의 올바른 사용 방법(인프런 - 개발자에게 필요한 로그 관리/이준형(Foo) 강사님고양이 집사 예지 튜터님과 CI/CD 및 MSA 설계 궁금증 해결 Spring, JPA 엔티티 관계 맵핑 훈련용 MySelectShop 완성 프로젝트 요구 사항 확인하기작업 내용분명 다 완성했다고 생각하여 과제 제출을 누르려는 순간 나에게 보..