인증을 통해 서비스는 유저를 검증할 수 있다. 인증을 만들어야 한다면 쿠키, 세션, 토큰, JWT라는 인증방법이 있는데 이것들을 알아보자. 쿠키(Cookie) 쿠키를 이용해서 서버는 나의 브라우저에 데이터를 넣을 수 있다. 나의 관한 것을 기억하기 위해서이다. 사이트에 방문하면 브라우저는 서버에 요청을 보내는데, 서버는 이에 응답한다. 응답에는 모든 데이터와 내가 찾던 페이지 정보가 있고, 브라우저에 저장하고자 하는 쿠키가 있을 수 있다. 내가 브라우저에 쿠키를 저장한 후 해당 웹사이트를 방문할 때마다 브라우저는 해당 쿠키도 요청과 함께 보내게 된다. 참고로 쿠키는 도메인에 따라 제한이 된다. 유튜브가 준 쿠키는 유튜브에만 보내지게 된다. 그리고 쿠키는 유효기간이 있다. 하루, 한 달, 혹은 서버가 정한..
분류 전체보기
스프링 컨테이너 생성 // 컨테이너 사용 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApllicationContext를 스프링 컨테이너라 하며, 인터페이스이다. XML을 기반으로 만들 수 있고, 어노테이션 기반의 자바 설정 클래스로 만들 수 있다. AppConfig를 사용했던 방식이 어노테이션 기반의 자바 설정 클래스로 스프링 컨테이너를 만든 것이다. new AnnotationConfigApllicationContext(AppConfig.class) 스프링 컨테이너를 생성할 때는 구성 정보를 지정 해주어야 한다. 여기서는 AppConfig.class를 구성정보로 지정했다. 스..
이전 게시글 예제 만들기에서 OCP와 DIP를 위반하였다. 바로 OrderServiceImple이 DiscountPolicy의 인터페이스 뿐만 아니라 구체 클래스도 함께 의존했기 때문이다. OrderServiceImpl class //주문 서비스 구현체 public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository = new MemoryMemberRepository(); private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); // 객체를 바꿔끼울때 구체 구현 클래스에도 의존중.. OCP가 위반되었다. // priv..
비즈니스 요구사항과 설계 주문과 할인 정책 회원은 상품을 주문할 수 있다. 회원 등급에 따라 할인 정책을 적용할 수 있다. 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.) 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수 도 있다. (미확정) 회원 도메인 설계 회원 도메인 요구사항 회원을 가입하고 조회할 수 있다. 회원은 일반과 VIP 두 가지 등급이 있다. 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정) 요구사항을 보면 회원 데이터, 할인 정책 같은 부분은 지금 결정하기 어려운 부분이다. 그렇다고 이..