전체 글(232)
-
일급 컬렉션
향로님 글 참고하여 하면서 추후 정리.. https://jojoldu.tistory.com/412 일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코 jojoldu.tistory.com
2023.05.22 -
엔티티 매핑
✅ 아래 내용들에 대해서 알아보자 - @Entity - @Table @Entity @Entity가 붙은 클래스는 JPA 관리하는 엔티티가 된다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수! @Entity 속성 name JPA에서 사용할 엔티티 이름 지정 클래스 이름이 default 값이다. 같은 클래스 이름 없으면 가급적 기본값 권장 @Entity 사용 시주의사항 1. JPA 구현체(ex. Hibernate)는 엔티티 객체를 생성할 때 기본생성자를 사용한다.(필수) -> JPA는 앤티티 객체로 변환하기 위해 Java의 리플랙션을 사용하는데, 이때 JPA 구현체는 앤티티 객체를 생성하기 위해 기본생성자를 호출하여 객체를 초기화한다. 2. JPA는 프락시 객체를 사용하여 지연로딩을 구현하..
2023.05.21 -
클라우딩 컴퓨팅이란?
✅ 아래 내용들에 대해서 알아보자 - 클라우드 컴퓨팅 - 클라우드 컴퓨팅 장점 - 클라우드 컴퓨팅의 종류 - 클라우드 컴퓨팅 배포 모델 클라우드 컴퓨팅 클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것을 말한다. 클라우딩 컴퓨팅은 사용자가 자체적으로 인프라를 보유하거나 관리하지 않고도 컴퓨터 리소스에 액세스 할 수 있도록 한다. 컴퓨터 리소스는 대규모 데이터 센터의 클러스트로 구성되어 있으며, 여러 사용자에게 공유되어 사용된다. 데이터 센터는 애플리케이션의 서버를 호스팅 하는 실제 시설로 다음과 같이 구성되어 있다. 컴퓨팅 시스템을 위한 하드웨어 네트워크 장비 전원 공급장치 전기 시스템 백업 발전기 환경 제어장치(에어컨, 냉각장치, 팬 등) 운영 인력 기..
2023.05.18 -
단위 테스트 목적
✅ 아래 내용들에 대해서 알아보자 - 단위 테스트를 하는 이유 - 테스트 코드 맛보기(with Junit5) 단위 테스트를 하는 이유 단위 테스트를 하는 이유는 여러가지가 있지만 그중 뽑자면 아래와 같다고 생각한다 기능을 개발하였고 그것이 예상한대로 작동하는지 알고 싶을때 시스템에 작성한 변경사하을 문서화하여 나뿐만아니라 다른사람들에게도 이해하도록 하고 싶을떄 코드를 변경하였을때 그것으로 기존 동작이 제대로 작동하는지 확인하고 싶을때 시스템의 동작을 이해하고 싶을때 추후 TDD 적용을 위해..? 테스트 코드 맛보기(with. Junit5) @FunctionalInterface public interface Scorable { int getSCore(); } public class ScoreCollecti..
2023.05.17 -
영속성 컨텍스트
✅ 아래 내용들에 대해서 알아보자 - 엔티티 매니저 팩토리와 앤티티 매니저 - 영속성 콘텍스트 - 엔티티 생명주기 - 영속성 콘텍스트 특징 - 플러시 - 준영속 엔티티 매니저 팩토리와 앤티티 매니저 DB를 하나만 사용하는 애플리케이션은 일반적으로 EntityManagerFactory를 하나만 생성한다. EntityManagerFactory emf=Persistence.createEntityManagerFactory("jpabook"); 앤티티 매니저 팩토리는 이름 그대로 앤티티 매니저를 만드는 공장 역할을 하며, 공장을 만드는 비용은 상당히 크다. 따라서 하나의 엔티티 매니저 팩토리를 생성하여 공유하도록 설계되어 있다. 반면 공장에서 엔티티 매니저를 생성하는 비용은 거의 들지 않는다. 앤티티 매니저 팩토..
2023.05.17 -
애그리거트
✅ 아래 내용들에 대해서 알아보자 - 애그리거트 - 애그리거트 루트 - 트랜잭션 범위 애그리거트 애그리거트(aggregate, 집합)는 연관된 엔티티와 밸류 객체를 개념적으로 하나로 묶은 것이다. 그림으로 같이 보자. 아래 그림을 보면 주문, 분류, 상품, 리뷰, 결제, 회원 등으로 개념적으로 나눈 것을 볼 수 있다. 애그리거트로 단위로 분류하게 되면 복잡한 도메인을 이해,관리하기 쉽고 수많은 객체들을 애그리거트 단위로 묶어서 바라보면 상위 수준에서 도메인 모델 간의 관계를 파악하기가 용이하다. 그리고 모델을 이해하는데 도움을 줄 뿐만 아니라 일관성을 관리하는 기준이 된다. 그로 인해 복잡도가 낮아지고 도메인 기능을 확장하고 변경하는데 필요한 노력도 줄어들게 된다. 애그리거트는 관련된 모델을 하나로 모았..
2023.05.15