전체 글

github.com/minyun02 myun02302@gmail.com
Timestamp와 LocalDateTime 타입의 차이점은 시간대 정보를 포함하는 지다. Timestamp은 UTC(협정 세계시)를 기반으로 시간대 정보를 포함한다. 이 타입은 주로 데이터베이스와 상호 작용할 때 사용한다. LocalDateTime은 Java8 이상부터 제공되는 타입으로, 이름에서도 알 수 있듯 로컬 시간 정보만을 나타내고 특정 시간대에 대한 정보는 없다. 사용 시점 및 권장 사항 데이터베이스와의 상호 작용이 중요하다면 Timestamp를 사용하는 걸 권장한다. 외국에서도 운영되는 서비스라면 시간대 정보가 중요하기 때문에 Timestamp를 사용해야 한다. Java8 이상의 환경이라면 LocalDateTime을 사용하는 것이 더 간단하고 권장된다. java.time 패키지에서 제공하는 ..
클래스 인스턴스를 얻는 전통적인 방법은 public 생성자이다. 꼭 알아야 할 또 다른 기법이 있다. 정적 팩터리 메서드(static facotry method)이다. 정적 팩터리 메서드는 그 클래스의 인스턴스를 반환한다. public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 위 메서드는 기본 타입인 boolean 값을 받아 Boolean 객체 참조로 변환해준다. 장점 1 - 이름을 가질 수 있다. 생성자 자체와 매개변수만으로는 반환될 객체의 특성을 제대로 설명하지 못한다. 장점 2 - 호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다. 장점 3 - 반환 타입의 하위 타입 객체를 반활할 수 있는 능력이..
- 컴포넌트는 명료(clarity)하고 단순(simplicity)해야한다. - 컴포넌트는 사용자를 놀라게하는 동작을 해서는 절대 안 된다. - 컴포넌트는 가능한 작아야 한다. - 코드는 복사가아니라 재사용되어야 한다. - 컴포넌트 사이의 의존성은 최소로 유지해야 한다. - 정석이 되는 규칙들을 배우고 언제 그 규칙을 깨도 되는지를 익혀야 한다.
·TIL
학습 목표 1. 프로세스 스케줄링의 개요와 정책을 이해한다. 2. 스케줄링 성능평가 기준을 이해한다. 3. 다양한 스케줄링 기법을 이해한다. 3.1 프로세스 스케줄링 - 스케줄링 : 여러 가지 작업의 처리순서를 결정하는 것을 의미 - 프로세스 스케줄링 : 주어진 프로세스가 여러 개인 경우, 어떤 순서대로 처리할지를 운영체제가 결정하는 것 3.1.1 스케줄링 단계 1) 상위 단계 스케줄링 = 장기 스케줄링 - 시스템에 들어와 작업 큐에서 선택하여 프로세스를 생성한 후 프로세스 준비 큐에 전달하는 역할 - 선택 기준 : 입출력 중심 작업과 연산 중심 작업을 균형 있게 선택하도록 작업순서를 결정 - 선택 기준 이유 : 시스템 자원을 효율적으로 이용하기위해 - 예시 : 많은 입출력 작업을 연속적으로 선택하면 입..
객체 모델을 사용하면 조직 계층을 나타내는 구성 요소 패턴을 아주 자연스럽게 보여줄 수 있다. 조상, 형제, 자손 및 다른 일반적인 관계의 객체를 얻는 메서드도 쉽게 추가할 수 있다. 반면 관계형 스키마로는 이러한 구조를 표현하기 어렵다. 이런 스키마를 조작하려면 느리고 불편한 다수의 조인이 필요하다. 객체를 지속하는 방법에 서로 연관된 테이블 행만 있는 것은 아니다. 객체를 지속하는 다른 방법으로 객체 그래프 전체를 한 테이블의 큰 객체 하나에 기록하는 직렬화가 있다. 이 직렬화는 메먼토 패턴의 한 형태이다. 메멘토 패턴(Memento Pattern)은 객체의 상태를 저장하고 이전 상태로 복원할 수 있게 해주는 디자인 패턴 중 하나입니다. 일반적으로 객체는 그 상태를 캡슐화하고 있습니다. 메멘토 패턴은..
포함 값이란, 객체가 다른 객체를 참조하는 경우, 그 참조 대상 객체를 포함 값으로 처리하여 하나의 테이블로 매핑하는 방법이다. 객체지향 시스템에서는 여러 작은 객체를 사용하는 것이 합리적이다. 하지만, 데이터베이스 테이블은 여러 작은 객체를 저장하는 데 적합하지 않다. 포함 값은 객체의 값을 객체 소유자의 레코드에 있는 필드로 매핑한다. 작동 원리 소유자 객체를 로드하거나 저장할 때마다 의존 객체를 동시에 로드하거나 저장한다. 지속성은 모두 소유자에 의해 처리되므로 의존 클래스는 자체 지속성 메서드를 포함하지 않는다. 사용 시점 언제 사용해야 하는지는 조금 복잡한 주제이다. 포함 값으로 저장할 가치가 있는지는 로드와 저장에서 알 수 있다. 예를 들어 주문을 로드할 때만 배송 데이터가 메모리로 로드된다면..
일대다 연관 관계에서는 외래 키 매핑을 활용해 연관 관계 매핑을 처리할 수 있다. 하지만 다대다 연관 관계에서는 외래 키를 포함할 단일 값 쪽이 없기 때문에 이 방법은 불가능하다. 이 문제는 관계를 기록하는 추가 테이블을 만들어서 해결할 수 있다. 그런 다음 연관 테이블 매핑으로 다중 값을 이 링크 테이블로 매핑한다. 작동 원리 연관 테이블 매핑의 기본 개념은 링크 테이블을 사용해 연관 관계를 저장하는 것이다. 서로 연결된 두 테이블의 외래 키 ID만 포함하고 연관된 객체 한 쌍당 한 행을 가진다. 링크 테이블은 ID가 없으며 기본키는 연관된 테이블의 두 기본 키를 합성한 것이다. 사용 시점 다대다 연관 관계를 나타낼 때 사용한다. 다른 모든 형식의 연관 관계에도 사용이 가능하다. 그러나 외래 키 매핑보..
트랜잭션 스크립트 내용 추가 예정....😗 도메인 모델 작동 원리 비즈니스 영역을 모델링하는 객체로 구성된 계층을 구성하는 과정이다. 이 객체 중에는 비즈니스 데이터를 나타내는 객체도 있고 비즈니스 규칙을 나타내는 객체도 있다. 이러한 데이터와 프로세스는 프로세스와 작업 대상 데이터를 가깝게 배치하기 위한 클러스터를 형성한다. 객체지향 도메인 모델과 데이터베이스 모델은 비슷해보이지만 차이점이 많다. 모데인 모델은 데이터와 프로세스가 혼합된 구조이고, 상속을 사용하고 다중 값 속성과 복잡한 연결망을 가지고 있다. 이러한 이유로 주로 두 가지 형식의 도메인 모델이 사용된다. 단순 도메인 모델은 대부분의 도메인 객체가 각 데이터베이스 테이블과 일치하므로 외형상 데이터베이스 설계와 거의 비슷해 보인다. 반면 리..
삼공비
물음표&느낌표