오늘 한 일 Spring Filter 공부한 것 정리 Todo API 서버 만들면서 Spring Security에서 Jwt를 사용한 인증 과정 정리 중.. [Spring] Filter 간단 정리 Filter 실행 흐름 요약 Filter는 그림과 같이 요청에서 최초, 최종 처리 단계의 위치에 있다. 요청의 최초, 최종 시점에서 필요한 작업(로깅, 보안)들을 하기 편리하다. DispatcherServlet보다 앞서 요청을 ouohoon.tistory.com
TIL
오늘 한 일 알고리즘 문제 1개 풀기 TodoList 서버 ERD 설계 Spring Security 공부 [프로그래머스] Python3 - 하노이의 탑 프로그래머스의 레벨 2 문제 하노이의 탑 문제 요구 조건 큰 원판이 작은 원판 위에 올 수 없는 규칙에 맞춰 원판을 옮겨야 한다. 풀이 방법 가장 큰 원판 위의 n-1개의 원판들을 임시 기둥으로 옮 ouohoon.tistory.com
오늘 한 일 Github Actions의 workflow를 공부하고 README 파일 업데이트를 자동화했다. 알고리즘 문제 1개 풀었다. [Github Action] 알고리즘 스터디 ReadMe 자동 업데이트하기 알고리즘 스터디로 하루에 1문제를 풀고 있는데, 매일 어떤 문제를 풀지 결정하고 Readme에 업데이트 하는게 번거로웠다. 깃허브 액션을 사용해서 문제 선정과 업데이트를 자동화 해보자. 1. 문제 ouohoon.tistory.com [프로그래머스] Python3 - 올바른 괄호 프로그래머스의 레벨 2 문제 올바른 괄호 문제 요구 조건 괄호의 짝이 잘 맞는지 확인한다. 풀이 방법 여는 괄호를 스택에 저장하면서 닫는 괄호를 만나면 스택에서 제거하는 방식으로 짝을 구 ouohoon.tistory.com
오늘 한 일 Spring Data JPA 쿼리 메서드 공부 JpaRepository 인터페이스에서 메서드 이름으로 쿼리를 구현해줌 언제? -> SimpleJpaRepository 클래스가 생성될 때, 규칙에 맞는 이름을 분석해서 구현함 빈 수동 등록 특정 상황에서 @Configuration 적용한 클래스에서 @Bean 으로 등록하면 되는데, 보통 컴포넌트 스캔을 활용한 자동 등록이 더 편하고, 특별한 상황에서만 사용한다. 같은 타입의 빈이 2개 이상이라면 여러 방법이 있다. @Autowired의 DI는 타입으로 주입하고, 타입이 안되면 이름을 찾아서 주입한다. 따라서 필드 이름을 클래스 이름으로 설정하면 된다. @Primary 애너테이션을 적용한 클래스를 우선적으로 주입한다. @Qualifier 애너테이..
오늘 한 일 Spring Data JPA 공부 스프링 컨테이너 환경에서 영속성 컨텍스트는 트랜잭션의 생명주기와 같다 트랜잭션 전파(기본설정: Propagation.REQUIRED) REQUIRED: 부모 메서드에 트랜잭션이 존재하면 자식 메서드의 트랜잭션은 부모 트랜잭션에 합류한다. SUPPORTS: 활성화된 트랜잭션이 있으면 그 트랜잭션에 참여하고, 없다면 트랜잭션 없이 실행한다. MANDATORY: 반드시 진행 중인 트랜잭션 내에서 호출해야 한다. 활성화된 트랜잭션이 없으면 예외를 발생한다. REQUIRES_NEW: 항상 새로운 트랜잭션을 시작한다. 진행 중인 트랜잭션이 있다면 일시 정지한다. NOT_SUPPORTED: 트랜잭션을 사용하지 않고 실행한다. 진행 중인 트랜잭션이 있다면 일시 정지한다. ..
오늘 한 일 JPA 공부 Entity, EntityManager, EntityManagerFactory 사용법 복습했다. 영속성 컨텍스트와 1차 캐시에 대해서 간단하게 복습했다. 쓰기 지연: 트랜잭션이 커밋될 때 까지 쿼리를 저장하고, 한 번에 모든 쿼리를 실행한다. Dirty checking: 엔티티가 변경되면 트랜잭션이 커밋될 때, 자동으로 변경된 점을 update 하는 쿼리를 실행한다. 엔티티의 상태 공부 비영속(Transient): 영속성 컨텍스트랑 상관없는 상태 영속(Managed): 영속성 컨텍스트가 관리하는 상태 준영속(Detached): 영속성 컨텍스트에 저장됐다가 분리된 상태 삭제(Removed): 영속성 컨텍스트에서 삭제되고, DB에서도 삭제될 상태 영속화 상태는 성능 최적화나 일시적인..