전체 글 (784) 썸네일형 리스트형 [도메인 주도 개발 시작하기] 애그리거트 로딩 전략 1) 애그리거트 로딩 전략이란?- JPA 매핑을 설정할 때, 항상 기억해야 할 점은 애그리거트에 속한 객체가 모두 모여야 완전한 하나가 된다는 것이다. 즉, 다음과 같이 애그리거트 루트를 로딩하면 루트에 속한 모든 객체가 완전한 상태여야 함을 의미한다. // product는 완전한 하나여야 한다.Product product = productRepository.findById(id); - 조회 시점에서 애그리거트를 완전한 상태가 되도록 하려면 애그리거트 루트에서 연관 매핑의 조회 방식을 즉시 로딩(FetchType.EAGER)으로 설정하면 된다. - 다음과 같이 컬렉션이나 @Entity에 대한 매핑의 fetch 속성을 즉시 로딩(FetchType.EAGER)으로 설정하면 EntityManager#f.. [도메인 주도 개발 시작하기] 바운디드 컨텍스트 1) 바운디드 컨텍스트란? - 바운디드 컨텍스트는 모델의 경계를 결정하며 한 개의 바운디드 컨텍스트는 논리적으로 한 개의 모델을 갖는다. 바운디드 컨텍스트는 용어를 기준으로 구분한다. 카탈로그 컨텍스트와 재고 컨텍스트는 서로 다른 용어를 사용하므로 이 용어를 기준으로 컨텍스트를 분리할 수 있다. - 또한, 바운디드 컨텍스트는 실제로 사용자에게 기능을 제공하는 물리적 시스템으로 도메인 모델은 이 바운디드 컨텍스트 안에서 도메인을 구현한다. - 이상적으로 하위 도메인과 바운디드 컨텍스트가 일대일 관계를 가지면 좋겠지만 현실은 그렇지 않을 때가 많다. 바운디드 컨텍스트는 기업의 팀 조직 구조에 따라 결정되기도 한다. - 예를 들어, 주문 하위 도메인이라도 주문을 처리하는 팀과 복잡한 .. [CS Fundamental] 셸 1) 셸이란?- 셸(shell)은 사용자의 명령을 읽고 적절한 프로그램을 실행하도록 설계된 특수 목적 프로그램이다. 이런 프로그램을 때로 명령 인터프리터(command interpreter)라고도 한다. - 로그인 셸(login shell)은 사용자가 처음 로그인했을 때 생성되어 실행되는 프로세스를 말한다. - 명령 인터프리터가 커널의 일부인 운영체제도 있는 반면, 유닉스 시스템에서 셸은 사용자 프로세스다. 여러 가지 셸이 존재하고, 같은 컴퓨터상의 다른 사용자가 동시에 다른 셸을 쓸 수 있다. 시간이 흐르면서 여러 중요한 셸이 등장했다. - 셸은 대화형 용도뿐만 아니라, 셸 스크립트(shell scripts)도 해석하도록 설계됐다. 셸 스크립트는 셸 명령을 포함하고 있는 텍스트 파일이다. .. 이전 1 ··· 14 15 16 17 18 19 20 ··· 262 다음