본문 바로가기

TIL/Spring16

23.07.10 심화주차에 대한 주가 시작되었다. 팀 이름은 남녀노소이고, 어진님과 희열님 같이 이미 같이 프로젝트를 진행해봤던 분들이 계서서 마음이 편하다. 이번주차 부터는 페어프로그래밍이라는 새로운 시스템을 도입해보려 하는데, 페어를 짜서 그날 각자의 코딩을 서로 점검해주는 방식이다. 오늘 페어는 어진님이여서 스터디로 대체할 생각이다. 이제 본격적으로 심화 주차 강의를 들어보자. 이번 주차에 배울것 회원가입을 편리하게 해주는 OAuth 에 대해서 학습하고 카카오 로그인을 적용해 봅니다. 테스트의 종류와 필요성에 대해 학습하고 단위 테스트와 통합 테스트를 적용하며 버그를 사전에 발견할 수 있는 방법을 체득합니다. JUnit 으로 테스트 코드를 짜고 Mockito 를 통해 테스트용 객체를 만들며, 다양한 테스트 코드를 .. 2023. 7. 10.
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.