본문 바로가기

스터디일지72

[WIL] DI, IoC, Bean를 공부하며... DI, IoC, Bean 이 3가지 단어를 보자마자 이 친구들은 뭘까? 하고 생각했다. 강의를 보면서 이해한 바로는 DI와 IoC는 서로 뗄 수 없는 디자인과 설계도라고 생각했고 Bean은 필요한 클래스들을 객체로 등록할 수 있게 해 준다고 이해했다. 강의를 듣고 알게 된 것은 위의 3가지가 Springboot에서 코드를 쉽게 구현할 수 있게 해 준다는 사실이다. 전체적으로 이번주를 마무리 하면서 느낀 것은 앞으로 갈길이 멀다는 거다. 강의를 듣고 코드를 따라 치면서 이해했지만 손수 코드를 직접 100% 짜기에는 많이 미숙하고 더 배워야 한다. 그래서 결론은 다른 분들의 코드도 많이 보고 자기 스스로 코드를 직접 구현해 보는 연습을 많이 해야겠다는 생각을 강의를 보면서 다시 하게 됐다. 약간의 쉼은 필요.. 2023. 9. 3.
[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.