오늘의 기록

    그래프 이론

    그래프 이론

    서로소 집합 서로소 집합 자료구조는 몇몇 그래프 알고리즘에서 매우 중요하게 사용되므로 그래프 알고리즘 이론 전에 설명하고자 한다. 서로소 집합 자료구조란 서로소 부분 집합들로 나누어진 원소들의 데이터를 처리하기 위한 자료구조라고 할 수 있다. 서로소 집합 자료구조는 union과 find 이 2개의 연산으로 조작할 수 있다. union 연산은 2개의 원소가 포함된 집합을 하나의 집합으로 합치는 연산이다. find 연산은 특정한 원소가 속한 집합이 어떤 집합인지 알려주는 연산이다. 그래서 서로소 집합 자료구조는 union-find 자료구조라고 불리기도 한다. 서로소 집합 자료구조 서로소 집합 자료구조를 구현할 때는 트리 자료구조를 이용하여 집합을 표현하는데, 서로소 집합 정보가 주어졌을 때 트리 자료구조를 ..

    알고리즘 문제 - 볼링공 고르기

    문제 A, B 두 사람이 볼링을 치고 있다. 두 사람은 서로 무게가 다른 볼링공을 고르려고 한다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여된다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주한다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재한다. 예를 들어, N이 5이고, M이 3이며 각각의 무게가 차례대로 1,3,2,3,2일 때 두 사람이 공을 고르는 경우의 수는 8가지이다. 입력 첫 째줄 -> 볼링공의 개수 N(1 ~ 1000), 공의 최대 무게 M(1 ~ 10) 둘 째줄 -> 각 볼링공의 무게 K (1 ~ M) 출력 두 사람이 볼링공을 고르는 경우의 수 풀이 3가지 풀이를 해봤다. 1. 이중 loop n,m=m..

    [JPA] 주문 도메인 개발

    실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 주문, 주문상품 엔티티 개발 상품 주문, 주문 내역 조회, 주문 취소 기능을 구현하기 위해 엔티티에 메서드를 추가한다. 상품 주문시 상품의 재고가 감소하고, 취소 시 재고가 증가해야 한다. 생성 메서드 이처럼 주문과 주문상품의 경우 생성 시 재고를 관리해야 하고 다른 여러 엔티티들과 연관관계를 맺어줘야..

    [JPA] 상품 도메인 개발

    실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 상품 엔티티 개발(비즈니스 로직 추가) Item 도메인에 다음 비즈니스 로직을 추가한다. //==비즈니스 로직==// /** * stock 증가 */ public void addStock(int quantity) { this.stockQuantity += quantity; } /** * stock 감소..

    [JPA] 회원 도메인 개발

    실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 회원 리포지토리 개발 @Repository @RequiredArgsConstructor public class MemberRepository { private final EntityManager em; public void save(Member member) { em.persist(member); } ..

    [JPA] 애플리케이션 구현 준비

    [JPA] 애플리케이션 구현 준비

    실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 구현 요구사항 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 예제를 단순화 하기 위해 다음 기능은 구현X 로그인과 권한 관리X 파라미터 검증과 예외 처리X 상품은 도서만 사용 카테고리는 사용X 배송 정보는 사용X +..

    [JPA] 도메인 분석 설계

    [JPA] 도메인 분석 설계

    실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 요구사항 분석 회원, 주문, 배송 기능을 갖는 쇼핑몰 프로그램을 개발한다. 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 도메인 모델과 테이블 설계 엔티티 설계 테이블 설계 엔티티 클래스 개발 엔티티 클래스를 설계한..

    [JPA] 프로젝트 환경설정

    [JPA] 프로젝트 환경설정

    실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 지금까지는 순수한 자바 환경에서 JPA를 사용했다. 따라서 데이터베이스 커넥션과 트랜잭션 처리도 JPA가 제공하는 기능을 직접 사용했다. 스프링 프레임워크와 JPA를 함께 사용한다는 것은 스프링 컨테이너 위에서 JPA를 사용한다는 의미다. 스프링부트는 스프링 프레임워크 기반의 애플리케이션을 쉽게 만들기..