회원 도메인 개발
·
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..
JPA - 중급 문법과 기능
·
BackEnd/자바 ORM 표준 JPA 프로그래밍
경로 표현식 경로 표현식은 점을 찍어 객체 그래프를 탐색하는 것이다. select m.username -> 상태 필드 from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드 where t.name = '팀A' 상태 필드(state field) : 단순히 값을 저장하기 위한 필드, 경로 탐색의 끝이므로 더이상 탐색이 불가능하다. JPQL: select m.username, m.age from Member m SQL: select m.username, m.age from Member m 연관 필드(association field) : 연관관계를 위한 필드, 단일 값 연관 필드 : @ManyToOne, @OneToOne, 대상이 엔티티..
절댓값 힙(백준_11286번)
·
BackEnd/알고리즘 공부
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 설명 이 문제는 숫자가 입력 되면 2가지 조건으로 정렬을 하면 된다. 배열에 정수 x (x ≠ 0)를 넣는다. 배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다 문제에 대한 아이디어 이 문제는 우선순위 큐를 사용해 해결 하라는 문제이다. 자바에서 우선순위..