목록Backend (3)
우리는 Calisthenics 입니다!
Fetch Type JPA가 하나의 Entity를 조회할 때, 연관관계에 있는 객체들을 어떻게 가져올 것이냐를 나타내는 설정값 Eager : 연관 관계에 있는 Entity들을 모두 가져온다. Lazy : 연관 관계에 있는 Entity를 가져오지 않고, getter로 접근할 때 가져온다. N+1 문제 @ManyToOne, @OneToOne의 FetchType을 LAZY로 했을 때 발생 → DB에 상당한 부하를 일으키게 된다. N+1 문제 해결 방법 join fetch 사용 inner join 불필요한 쿼리문이 추가되는 단점이 있다. @EntityGraph 사용 outer join → Cartesian Product ⇒ 중복이 발생한다. → 해결 방법 1:n 필드의 타입을 Set으로 선언한다. → Linke..
객체와 관계형 데이터베이스의 차이 상속 객체는 상속관계가 있지만, 관계형 연관관계 객체는 reference를 가지고 있다. 관계형 데이터 데이터 타입 데이터 식별 방법 JPA Java Persistence API Java ORM 표준 ORM Object-Relational Mapping(객체 관계 매핑) 객체와 RDB를 ORM 프레임워크가 중간에서 매핑 객체는 객체대로 설계, RDB는 RDB대로 설계 JPA를 사용해야 하는 이유 객체 중심으로의 개발 생산성 유지보수 패러다임 불일치 해결 성능 지연 로딩과 즉시 로딩 지연 로딩: 객체가 실제 사용될 때 로딩 즉시 로딩: JOIN SQL로 한번에 연관된 객체까지 미리 조회 hibernate.hbm2ddl.auto 속성 운영 장비에는 절대 create, cre..

해당 포스팅은 Spring Securty와 jwt를 이용하여 인증, 인가를 구현하기 위해 인프런 Spring Boot JWT Tutorial 강의를 보고 공부한 내용을 남긴 포스팅입니다. JWT RFC7519 인터넷 표준 토큰 기반의 인증 시스템에서 가장 널리 사용되는 인증 방식 JWT의 구성 Header Signature를 해싱하기 위한 알고리즘 정보 Payload 서버와 클라이언트가 주고받는, 시스템에서 실제로 사용될 정보에 대한 내용들을 담고 있다. Signature 토큰의 유효성 검증을 위한 문자열 → 이 토큰이 유효한 토큰인지 검증 가능 JWT의 장점 중앙의 인증서버, 데이터 스토어에 대한 의존성 없음. ⇒ 시스템 수평 확장 유리 Base64 URL Safe Encoding > URL, Cook..