본문 바로가기

Eric112

[Java DP] 프로그래머스 2 X n 타일링 Dynamic Programming의 대표적인 문제인 2XN 타일링 문제입니다. 문제 DP문제는 케이스를 나누는 것이 중요합니다. 케이스를 나눌 때는 문제를 다 풀기 직전의 상황부터 거꾸로 푸는 방법이 좋습니다. 바닥의 세로 길이는 2로 고정되어있고, 가로의 길이는 60,000이하의 자연수 입니다. 그러므로 문제를 풀 때는 변수로 주어지는 가로의 길이를 기준으로 진행하여야 합니다. 가로의 길이가 n일경우 n-1까지 타일이 꽉 차있다면 다음과 같은 경우가 있습니다. Case1. n-1 개의 타일까지 꽉 차있는 경우 채울 수 있는 가로의 길이가 1밖에 없으므로, 이 경우는 단 1개의 타일만 채울 수 있습니다. 가로의 길이가 n-2까지 꽉 차있다면 다음 케이스가 가능합니다. Case2. n-2개의 타일까지 꽉.. 2019. 9. 23.
[이슈 #2] 고객의 주문 내역을 조회할 때 테이블 다수 조인 이슈 - 2 https://deveric.tistory.com/59 [이슈 #1] 고객의 주문 내역을 조회할 때 테이블 다수 조인 이슈 위 프로젝트에 대한 소개는 다음 URL에서 확인할 수 있습니다. ERD와 Github 등의 URL이 포함되어있습니다. https://deveric.tistory.com/58 [DelFood] 프로젝트 소개 Spring-boot를 이용한 프로젝트를 구상하게.. deveric.tistory.com 위 글에서 이어지는 내용입니다. 조인하는 테이블을 하나 줄였지만 여전히 7개의 테이블을 주인하여야 고객의 주문 내역을 조회할 수 있습니다. 주문시 조인하는 테이블 주문 - 주문 메뉴 - 주문메뉴 옵션 - 메뉴 옵션 - 메뉴옵션 카테고리 - 메뉴 - 고객 이번에는 여기서 '메뉴옵션 카테고리'테이.. 2019. 9. 23.
[이슈 #1] 고객의 주문 내역을 조회할 때 테이블 다수 조인 이슈 위 프로젝트에 대한 소개는 다음 URL에서 확인할 수 있습니다. ERD와 Github 등의 URL이 포함되어있습니다. https://deveric.tistory.com/58 [DelFood] 프로젝트 소개 Spring-boot를 이용한 프로젝트를 구상하게 되었습니다! 서버만 구현할 예정이며, 사용한 플랫폼과 기술은 아래와 같습니다. [배달의 민족] 이라는 어플리케이션을 모티브로 만든 웹 서버 어플리케이션입니다. 고.. deveric.tistory.com 데이터 베이스 설계 도중 고객이 주문한 주문 내역을 조회하려면 테이블이 다수 조인되는 것을 확인하였습니다. 주문내역 조회시 조인되는 테이블은 다음과 같습니다. 주문 - 주문 메뉴 - 주문메뉴 옵션 - 메뉴 옵션 - 메뉴옵션 카테고리 - 메뉴 - 고객 - .. 2019. 9. 23.
[DelFood] 프로젝트 소개 Spring-boot를 이용한 프로젝트를 구상하게 되었습니다! 서버만 구현할 예정이며, 사용한 플랫폼과 기술은 아래와 같습니다. 사용 기술 및 환경 : Spring-boot, MyBatis, Redis, MariaDB, Docker, Jenkins 프로젝트 개요 ‘배달의 민족’을 모티브로 만든 배달 O2O Rest API입니다. 위치 기반 배달 서비스를 제공하며 실시간 라이더 매칭을 제공합니다. 대한민국 도로명 주소 DB를 활용하여 라이더에게 배달하는 건물 좌표와 출입구 위치를 제공합니다. 프로젝트 진행 과정 프론트 개발에 들어가는 시간을 아껴 서버 공부에 투자하기 위하여 kakao oven을 이용해 프로토타입을 제작하고 기능 요구 사항을 추출하여 설계를 진행하였습니다. 프로젝트는 2인 팀 프로젝트로 진.. 2019. 9. 23.
[Spring-boot JPA] 쿼리와 파라미터 확인방법 application.propertice에 다음 항목을 추가한다. logging.level.org.hibernate.type.descriptor.sql=tracespring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true logging.level.org.hibernate.type.descriptor.sql=trace 2019. 9. 9.
[Spring-boot JPA] 즉시로딩(EAGER)과 지연로딩(LAZY) 즉시로딩(FetchType - EAGER)은 엔티티를 조회할 때 연관된엔티티를 함께 조회합니다. 상품 Item과 카테고리 Category 엔티티가 N:1관계일 때 상품 테이블에Category 엔티티를 추가할 수 있습니다. 이 때 fetch type을 정할 수 있는데, 이 타입을 LAZY로 설정하면 지연로딩, EAGER로 설정하면 즉각 로딩으로 설정할 수 있습니다. 즉시로딩은 Item 엔티티를 조회할 때 연관된 Category 엔티티를 즉시 조인해서 값을 넣어주게 됩니다. 지연로딩은 Item 엔티티를 조회할 때 연관된 Category 엔티티를 조인하지 않습니다. 즉 값을 넣어주지 않습니다. 대신 이 Category엔티티를 참조할 때 조인 쿼리를 작성하여 값을 넣어줍니다. 필요할 때 넣어준다는 뜻입니다. N.. 2019. 9. 6.
[Spring-boot JPA] JPA Hibernate Log 정렬해서 보여주기 application.properties파일에 다음 속성을 추가해주세요. spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true show-sql 속성은 sql쿼리문을 보여주도록 true로 설정해주세요. spring.jpa.properties.hibernate.format_sql 속성은 코드센스에 잘 안보입니다. 직접 적어주세요. 이 속성은 sql query 로그가 한줄로 나오지 않고 정렬해서 나오도록 보여줍니다. 위 속성들을 적용한 걸과는 다음과 같이 정렬되어 보입니다. 2019. 9. 6.
[Spring-boot JPA] 맵핑 어노테이션 @Entity, @Table, @Column, @Id 속성과 개념 정리 객체 - 테이블 맵핑 : @Entity, @Table 필드 - 컬럼의 팹핑 : @Column 기본키의 맵핑 : @Id 조인 맵핑 : @ManyToOne, @JoinColumn @Entity @Entity 어노테이션을 클래스에 선언하면 그 클래스는 JPA가 관리합니다. 그러므로 DB의 테이블과 Class(VO, DTO)와 맵핑한다면 반드시 @Entity를 붙여주어야 합니다. @Entity가 붙은 클래스에는 다음 제약사항이 필요합니다. 1. 필드에 final, enum, interface, class를 사용할 수 없습니다. 2. 생성자중 기본 생성자가 반드시 필요합니다. @Entity의 속성 1. name : 엔티티 이름을 지정합니다. 기본값으로 클래스 이름을 그대로 사용합니다. @Table @Table 어.. 2019. 9. 5.
[Java] 백준 1085번 : 직사각형에서 탈출 상당히 간단하게 풀 수 있는 기초문제였습니다. 정답률도 높은 문제네요 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int x = in.nextInt(); int y = in.nextInt(); int w = in.nextInt(); int h = in.nextInt(); System.out.println(Math.min(Math.min(w-x, x),Math.min(h-y, y))); } } 2019. 9. 5.