GitHub

https://github.com/Choidongjun0830

분류 전체보기 463

[JPA 기본편] SQL 중심적인 개발의 문제 + JPA 소개

SQL 중심적인 개발의 문제지금 시대는 객체를 관계형 DB에 관리CRUD, ... 무한 반복, 지루한 코드. 계속 쿼리를 작성해야객체에는 상속 관계가 있지만, 데이터베이스에는 상속 관계가 없음.슈퍼 타입, 서브 타입으로 설계해야함.조회 시에도 조인해서 해야함. => 객체를 테이블에 맞춰서 설계해야함. ORM (Object - relational mapping, 객체 관계 매핑)객체는 객체대로 설계관계형 데이터 베이스는 관계형 데이터베이스 대로 설계ORM 프레임워크가 중간에서 매핑JPA를 왜 사용해야 하는가SQL 중심적인 개발에서 객체 중심으로 개발생산성유지보수패러다임의 불일치 해결성능데이터 접근 추상화와 벤더 독립성표준 저장: jpa.persist(member)조회: Member member = jpa...

Spring 2024.06.14

[Spring boot& JPA 1] 도메인 분석 설계

도메인 모델과 테이블 설계회원, 주문, 상품의 관계회원은 여러 상품을 주문 가능하고, 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계이다. 하지만, 다대다 관계는 거의 사용하지 않아서 주문 상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어낸다.회원 엔티티 분석Member이름과 임베디드 타입인 Address, 주문을 리스트로 가진다.Order한 번 주문시 여러 Item을 담을 수 있어서 주문(Order)과 주문 상품(OrderItem)은 일대다 관계를 가진다.상품을 주문한 회원, 배송 정보, 주문 날짜, 주문 상태를 가짐.주문 상태는 열거형으로 ORDER, CANCEL을 표현할 수 있음.OrderItem주문한 상품 정보와 주문 금액과 주문 수량을 가지고 있..

Spring 2024.04.28

[백준] S1. boj1149번 RGB 거리 / 분류 : 다이나믹 프로그래밍

https://www.acmicpc.net/problem/1149 import sys input = sys.stdin.readline N = int(input()) costs = [] for i in range(N): costs.append(list(map(int, input().split()))) for i in range(1, N): costs[i][0] = min(costs[i-1][1], costs[i-1][2]) + costs[i][0] costs[i][1] = min(costs[i-1][0], costs[i-1][2]) + costs[i][1] costs[i][2] = min(costs[i-1][0], costs[i-1][1]) + costs[i][2] print(min(costs[N-1][0..

[백준] S4. boj2839번 설탕 배달 /분류 : 다이나믹 프로그래밍

https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net import sys input = sys.stdin.readline N = int(input()) answer = 0 while N > 0: if N % 5 == 0: answer += N / 5 N -= 5 * (N / 5) else: N -= 3 answer += 1 if N < 0: answer = -1 print(int(answer)) 먼저 5의 배수인지 체크해주고 5의 배수가 아닌 경우 3씩 빼가면..

728x90