CS 6

equals와 hashCode는 왜 함께 정의해야 하는가?

equals와 hashcode 메서드는 객체의 동등성 비교와 해시값 생성을 위해서 사용할 수 있다.하지만, 함께 재정의하지 않는다면 예상치 못한 결과를 만들 수 있다.예들 들면, 해시 값을 사용하는 자료구조(HashSet, HashMap)을 사용할 때 문제가 발생할 수 있다.class EqualsHashCodeTest { @Test @DisplayName("equals만 정의하면 HashSet이 제대로 동작하지 않는다.") void test() { // 아래 2개는 같은 구독자 Subscribe subscribe1 = new Subscribe("team.maeilmail@gmail.com", "backend"); Subscribe subscribe2 ..

CS/ETC 2024.12.17

트랜잭션 격리수준

트랜잭션 격리 수준은 4가지가 있다.SERIALIZABLEREPEATABLE_READREAD_COMMITTEDREAD_UNCOMMITTED SERIALIZABLE트랜잭션을 순차적으로 진행하는 것을 말한다.여러 트랜잭션이 동시에 같은 행에 접근 불가교착 상태가 일어날 확률도 많고 가장 성능이 떨어진다.REPEATABLE_READ하나의 트랜잭션이 수정한 행을 다른 트랜잭션이 수정할 수 없도록 막아주지만 새로운 행을 추가하는 것은 막지 않는다.따라서 이후에 추가한 행이 발견될 수도 있다.READ_COMMITTED가장 많이 사용되는 격리 수준이다.READ_UNCOMMITTED와 달리 다른 트랜잭션이 커밋하지 않은 정보는 읽을 수 없다.즉, 커밋 완료된 데이터에 대해서만 조회를 허용한다.하지만, 어떤 트랜잭션이 ..

CS/ETC 2024.12.11

일급 컬렉션이 무엇인가요?

일급 컬렉션💡 하나의 컬렉션을 감싸는 클래스를 만들고, 해당 클래스에서 컬렉션과 관련된 비지니스 로직을 관리하는 패턴을 말한다.// 예시// 일급 컬렉션public class Orders { private final List orders; public Orders(List orders) { validate(orders); // 검증 수행 ... } public void add(Order order) { if (order == null) { throw new IllegalArgumentException("Order cannot be null"); } orders.add(order); } pu..

CS/ETC 2024.12.07

SQLD 1장 정리 : 2절 엔터티

2절 엔터티 1. 정의: 업무에서 관리해야 하는 데이터의 집합, 명사형, 인스턴스의 집합 2. 특징: 업무에서 필요로 함 유일한 식별자를 가짐 2개 이상의 인스턴스를 포함함 업무 프로세스에 이용됨 속성을 가짐 관계를 가짐 3. 종류 유무형에 따른 분류 유형 엔터티: 물리적 형태가 있고 지속적으로 활용되는 엔터티 개념 엔터티: 물리적 형태가 없는 엔터티 발생시점에 따른 분류 기본 엔터티(Key Entity): 독립적으로 생성되는 엔터티 중심 엔터티(Main Entity): 기본 엔터티와 행위 엔터티의 중간에 존재하는 엔터티 행위 엔터티(Active Entity, 사건 엔터티): 2개 이상의 부모 엔터티로부터 발생함, 비즈니스 프로세스를 실행하면서 생성되는 엔터티, 지속적으로 정보가 추가되고 변경되어 데이터..

CS/SQLD 2023.05.22

SQLD 1장 정리 : 1절 데이터 모델의 이해

1절 데이터 모델의 이해 1. 모델링: 현실세계를 단순화하여 표현하는 것 특징 추상화: 일정한 형식에 맞춰 표현함 단순화: 제한된 표기법이나 언어로 표현함 명확성: 이해가 쉽게 표현함 관점 데이터 관점: 업무와 데이터 및 데이터 사이의 관계 프로세스 관점: 진행되고 있거나 진행되어야 하는 업무 상관 관점: 데이터에 대한 업무 처리 방식의 영향 2. 데이터 모델링: 정보 시스템 구축을 위한 데이터 관점의 업무 분석 기법 목적: 1) 정보에 대한 표기법을 통일하여 업무 내용 분석 정확도 증대 2) 데이터 모델을 기초로 DB 생성 기능: 1) 가시화 2) 명세화 3) 구조화된 틀 제공 4) 문서화 5) 다양한 관점 제공 6) 구체화 중요성 파급효과(Leverage) 간결한 표현(Conciseness): 정보 ..

CS/SQLD 2023.05.22

UML(Unified Modeling Language)

UML 구조 다이어 그램(6) - 정적 모델링 행위 다이어 그램(7) - 동적 모델링 다이어 그램 구조적 다이어 그램(정적 다이어그램) 클래스 다이어 그램 클래스와 클래스가 가지는 속성, 클래스 사이의 관계 표현 시스템의 구조를 파악하고 구조상의 문제점을 도출 객체 다이어 그램 클래스에 속한 사물(객체) 즉 인스턴스를 특정 시점의 개체와 객체 사이의 관계로 표현 컴포넌트 다이어그램 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현 구현단계에서 사용되는 다이어그램 배치 다이어그램 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현 노드와 의사소통(통신) 경로로 표현 구현 단계에서 사용되는 다이어그램 복합체 구조 다이어그램 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구..

CS 2023.03.08
728x90