본문 바로가기

스터디일지/PROJECT17

[Java Spring] 숙련 1 주차 강의 - PART 2 JWT 다루기 build.gradle에 JWT dependency를 추가한다. application.properties에 가서 추가할 부분 추가한다. JWTUtil을 만들어서 JWT 관련 기능을 동작하게 한다. JWT 관련 기능은 5가지가 있다. JWT 생성하기 - 생성할 때 사용자의 권한 정보를 넣는데 Key - Value 형식으로 정보를 넣는다. 확인할 때는 Key 값으로 확인하면 된다. 생성된 JWT를 Cookie에 저장하기 Cookie에 들어있던 JWT 토큰을 Substring 한다. - 토큰의 시작값이 Bearer이 맞는지 확인하고 맞으면 순수 JWT를 반환하기 위해 Substring을 사용해서 Bearer을 잘라낸다. JWT를 검증한다. - secretKey에 key 값을 넣어서 JWT의 위변.. 2023. 9. 1.
[Java Spring] 숙련 1 주차 강의 - PART 1 Bean을 수동으로 등록하는 방법 @Component를 사용하면 해당 클래스를 자동으로 등록을 해줬다. 프로젝트가 커지면 커질수록 Bean이 많아져서 저렇게 자동으로 등록하는 것이 좋다고 배웠다. 기술적인 문제 혹은 공통적인 관심사를 처리할 때는 수동으로 등록하는 것이 좋다고 한다. 공통 로그처리처럼 부가적이고 공통적인 기능들을 기술지원 Bean이라 부르고 수동등록 한다. 수동등록한 Bean 은 문제가 발생하면 그 위치를 파악하기 쉽다는 장점이 있다. 인증과 인가 인증 - 해당 유저가 실제 그 유저가 맞는지 확인(인증) 하는 개념이다. 인가 - 접근의 범위를 허가하는 것이다. 쿠키-세션 방식의 인증 '특정 유저가 로그인 되었다 '는 상태를 저장한다. 정보를 다 가지고 있는 것이 아닌 일부분의 정보만 서버.. 2023. 8. 31.
[Java Spring] 입문 2 주차 강의 - PART 2 Entity 상태 Transient - 비영속 상태로 영속성 컨텍스트에 저장되지 않았기에 JPA의 관리를 받지 않는다. Managed - 영속 상태로 persist(entity)를 사용하면 EntityManager를 통해 영속성 컨텍스트에 저장하고 관리되는 상태로 만들어 준다. Detached - 준영속 상태로 영속성 컨텍스트에서 저장되어 관리되다가 분리된 상태를 말한다. detach(entity) - 특정 Entity만 준영속 상태로 만들어준다. - 준영속 상태가 되면 1차 캐시 즉, 캐시 저장소에서 제거 된다. clear() - 영속성 컨텍스트를 초기화 시키는데 영속성 컨텍스트에 있는 모든 Entity를 준영속 상태로 바꿔준다. - 영속성 컨텍스트 틀은 유지하지만 내용이 비워져 새로 만든 상태 처럼 .. 2023. 8. 30.
[Java Spring] 입문 2 주차 강의 - PART 1 Layer Architecture 하나의 controller에서 모든 API를 처리하면 코드 이해하기도 힘들고 변경을 할 때 문제가 발생할 수 있다. 그래서 Spring 에서는 3개로 분리했는데 Controller, Service, Repository다. Controller Client에게서 오는 요청을 받는다. 요청을 받으면 Service에 전달한다. - request 데이터가 있으면 같이 전달하게 된다. Service에서 처리한 결과를 Client에게 응답한다. Service 강의에서는 실세라 했다. 비즈니스 로직을 처리하고 코드의 양이 점점 많아진다. DB에 저장하거나 조회가 필요하면 Repository에 전달한다. Repositoty DB를 관리한다. DB CURD 작업을 처리한다. CRUD = .. 2023. 8. 29.