주문 도메인 개발
·
BackEnd/실전! 스프링 부트와 JPA 활용1
구현 기능은 상품 주문, 주문 내역 조회, 주문 취소가 있다. 구현 순서는 주문 엔티티, 주문상품 엔티티 개발 -> 주문 리포지토리 개발 -> 주문 서비스 개발 -> 주문 검색 기능 개발 -> 주문 기능 테스트 순이다. 주문, 주문상품 엔티티 개발 주문 생성 메서드 public static Order createOrder(Member member, Delivery delivery, OrderItem... orderItems){ Order order = new Order(); order.setMember(member); order.setDelivery(delivery); for (OrderItem orderitem : orderItems) { order.addOrderItem(orderitem); } or..
상품 도메인 개발
·
BackEnd/실전! 스프링 부트와 JPA 활용1
구현할 기능은 상품 목록, 상품 목록 조회, 상품 수정이다. 순서는 상품 엔티티를 개발 -> 상품 리포지토리를 개발 -> 상품 서비스 개발, 상품 기능 테스트 순이다. 상품 엔티티 개발(비즈니스 로직 추가) 비즈니스 로직은 그 관리하는 요소가 있는 엔티티에 개발하는 것이 가장 좋다. @Entity @Getter @Setter @Inheritance(strategy = InheritanceType.SINGLE_TABLE) @DiscriminatorColumn(name = "dtype") public abstract class Item { @Id @GeneratedValue @Column(name = "item_id") private Long id; private String name; private int..
회원 도메인 개발
·
BackEnd/실전! 스프링 부트와 JPA 활용1
애플리케이션 아키텍처 SpringBoot에서 늘 사용하던 애플리케이션 아키텍처 구조이다. 계층형 구조를 사용한다. Controller, web : 웹 계층 service : 비즈니스 로직, 트랜잭션 처리 repository : JPA를 직접 사용하는 계층, 엔티티 매니저 사용 domain : 엔티티가 모여 있는 계층, 모든 계층에서 사용한다. 회원 도메인 개발 구현할 기능은 회원 등록하고 회원 목록을 조회하는 것이다. 순서는 회원 리포지토리를 개발 -> 회원 서비스를 개발 -> 회원 기능을 테스트하는 순이다. 회원 리포지토리 개발 @Repository //스프링 빈으로 등록 @RequiredArgsConstructor public class MemberRepository { private final En..
도메인 분석 설계
·
BackEnd/실전! 스프링 부트와 JPA 활용1
요구사항 분석 회원 기능 : 회원 등록, 회원 조회 상품 기능 : 상품 등록, 상품 수정, 상품 조회 주문 기능 : 상품 주문, 주문 내역 조회, 주문 취소 기타 요구 사항 : 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품을 카테고리로 구분 할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 도메인 모델과 테이블 설계 회원과 주문은 1대다 관계이다. 회원 한명당 여러개의 주문을 할 수 있기 때문이다. 주문과 배송은 1대1 관계이다. 주문하나당 배송지는 하나이다. 주문과 상품은 다대다 관계이다. 한번 주문 할 때, 주문하나당 여러개의 상품을 주문할 수 있고 또 상품도 여러개의 주문에 들어 갈 수있기 때문이다. 다대다 일경우 가운대에 주문상품이라는 테이블을 만들어 1대다..
테트로미노(백준_14500)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net 문제 설명 입력 첫째 줄에 종이의 세로 크기 N과 가로 크기 M이 주어진다. (4 ≤ N, M ≤ 500) 둘째 줄부터 N개의 줄에 종이에 쓰여 있는 수가 주어진다. i번째 줄의 j번째 수는 위에서부터 i번째 칸, 왼쪽에서부터 j번째 칸에 쓰여 있는 수이다. 입력으로 주어지는 수는 1,000을 넘지 않는 자연수이다. 시간제한은 2초이므로 2억 번 연산이 가능하다고 생각하자. 전체 최대 수가 500..
프로젝트 환경설정
·
BackEnd/실전! 스프링 부트와 JPA 활용1
프로젝트 생성 이번 활용편 강의는 JPA를 활용해 직접 WEB을 구현해보는 실습 수업이다. 강의 에서는 SpringBoot를 SpringBoot initialize에서 만들었지만 인텔리제이에서 SpringBoot를 한번에 만들어주므로 나는 인텔리제이에서 한번에 만들었다. 추가한 dependecies는 Spring Boot Web H2Database Spiring Boot JPA thymeleaf Lombok 이렇게 5개를 추가해주었다. Lombok은 저번에 SpringBoot를 공부할 때 사용을 해봤다. 손쉽게 코드를 짤 수 있게 도와주는 것이다. 대표적인 것은 Getter와 Setter가 있다. 라이브러리 살펴보기 현재 만든 프로젝트에 dependencies부분이다. 'org.springframewor..