분류 전체보기193 23.06.21 1대N 관계 @OneToMany : 1대N 관계를 맺어주는 역할 단방향 관계 외래 키를 관리하는 주인은 음식 Entity이지만 실제 외래 키는 고객 Entity가 가지고 있습니다 1 : N에서 N 관계의 테이블이 외래 키를 가질 수 있기 때문에 외래 키는 N 관계인 users 테이블에 외래 키 컬럼을 만들어 추가하지만 외래 키의 주인인 음식 Entity를 통해 관리합니다 외래 키를 음식 Entity가 직접 가질 수 있다면 INSERT 발생 시 한번에 처리할 수 있지만 실제 DB에서 외래 키를 고객 테이블이 가지고 있기 때문에 추가적인 UPDATE가 발생된다는 단점이 존재 @Entity @Table(name = "food") public class Food { @Id @GeneratedValue(strat.. 2023. 6. 21. 23.06.20 'Spring Security' 프레임워크는 Spring 서버에 필요한 인증 및 인가를 위해 많은 기능을 제공 // Security implementation 'org.springframework.boot:spring-boot-starter-security' CSRF(사이트 간 요청 위조, Cross-site request forgery) 공격자가 인증된 브라우저에 저장된 쿠키의 세션 정보를 활용하여 웹 서버에 사용자가 의도하지 않은 요청을 전달하는 것입니다. CSRF 설정이 되어있는 경우 html 에서 CSRF 토큰 값을 넘겨주어야 요청을 수신 가능합니다. 쿠키 기반의 취약점을 이용한 공격 이기 때문에 REST 방식의 API 에서는 disable 가능합니다. Spring Security - Filter.. 2023. 6. 20. 23.06.19 gardle이 실행되는 경로상에 한글이 있으면 오류가 생겨서 사용자 이름, 바탕화면까지 전부 영어로 교체하는 과정을 거치느라 1시간 가량을 소비해버렸다... Bean은 @Controller, @Service, @Repository등의 Annotation들로 자동으로 등록하는게 편하고, 개발 생산성에도 유리하다. 하지만 Bean을 수동으로 등록해야 할 때가 있는데, 기술적인 문제나 공통적인 관심사를 처리할 때 사용하는 객체들을 수동으로 등록하는 것이 좋다. 공통 로그처리와 같은 비즈니스 로직을 지원하기 위한 부가 적이고 공통적인 기능들을 기술 지원 Bean이라 부르고 수동등록 합니다. 비즈니스 로직 Bean 보다는 그 수가 적기 때문에 수동으로 등록하기 부담스럽지 않습니다. 또한 수동등록된 Bean에서 문.. 2023. 6. 19. 23.06.18 이번주의 목표는 spring 기초주차를 잘 따라가는 것이였고, 과제도 나름대로 잘 풀었으나 객관적으로 평가하기에 잘 따라갔다고 하기에는 무리가 있는 느낌이다. 왜냐하면 모든 강의를 듣고, 과제도 해봤음에도 내가 제대로 이해하고 있지 않다고 생각되기 때문이다. @Trnasactional같은 Annotation들의 기능과 목표, 존재 이유도 제대로 기억이 안나고, spring이 제공하는 편의 기능에 빠져 로직을 제대로 이해하고 있지 않은 느낌이다. 다음주는 3개 주차의 강의를 시작하는데, 이도 잘 따라갈 수 있을지 모르겠다. 다음주의 목표는 기본적으로 강의의 완강과 과제를 마치는 것, 그리고 개인적인 성장을 위해서라도 기초주차를 복습하며 기본을 다지고, Java의 정석도 시간이 되는대로 정독을 이어나가야 할.. 2023. 6. 18. 이전 1 ··· 23 24 25 26 27 28 29 ··· 49 다음