분류 전체보기


☰ Index 합성과 유연한 설계 : 11 Chapter합성은..상속으로 코드 중복을 줄이면 생기는 문제점문제점을 합성으로 해결하기믹스인✅ 마무리 정리 합성은..합성은 상속과 함께 코드 재사용을 피하기 위한 방법 중 하나이다.앞서 알아본 상속의 문제점을 생각해보면 상속은 부모 클래스에 대해서 자세히알고 있어야하며 이로 인해 부모 클래스와 자식간의 결합도가 높아진다.우선 상속의 단점들을 상기시켜 합성의 장점을 알아보자불필요한 인터페이스 상속 문제 해결앞에서 알아본 Java 에서 Stack 객체는 Vector 라는 구조를상속 받아 만들었고 불필요한 상속으로 인해 Stack 에서 자료를 추가하는..


☰ Index 상속과 중복 코드 : 오브젝트 Chapter 010중복 코드를 수정하기상속의 잘못된 예시해결 방법은 추상화?읽고 나서 상속과 중복 코드 : 오브젝트 Chapter 010---중복 코드중복 코드는 말 그대로 중복되는 코드를 의미하며 여러가지 이유로 좋지 못하다.특히 코드 변경에서 좋지 않는데, 만약 중복된 코드들 중 일부분이 변경된다면어떤 코드가 중복인지 찾아야하고,변경 대상 모두 일관되게 변경해야한다. ( 많은 시간이걸림 )간단하게 말했지만, 중복된 코드를 알아보는 것 자체가 많은 수고를 들인다.이런 이유 때문에 코드안에 중복이 존재해서는 안된다는 DRY 원칙을 준수 ..


☰ Index 회고Entity 와 도메인 나누기프로젝트 적용Architecture적용하면서 느낀점 Entity 와 도메인 나누기여태 SpringBoot 로 개발을 해오면서 Entity 와 Domain 을 나눈 경험이 없었는데,이번 사이드 프로젝트를 하면서 나누게 되었다.Q1. 왜 엔티티 클래스 랑 도메인 모델 이랑 나누는 걸까?가장 큰 이유는 관심사 분리라고 한다.내가 말하고 있는 Entity 는 JPA 에서 DB 테이블과 매핑되는 객체를 말하며DB 에 데이터를 저장,수정, 조회 하는 기능에 초점이 맞춰져 있다.반면, 도메인 모델 은 객체 관점에서 시스템이 해결하려는비지니스 문제를 정의하..


☰ Index 들어가기 전에GC Remind - 1 : GC 란 무엇인가?GC Remind - 2 : GC 의 다양한 알고리즘Generation GC최근에 사용되는 GC 알고리즘G1GC✅ G1 GC 정리하자면ZGC✅ ZGC 정리하자면글을 마치며 들어가기 전에저번 글에서 가비지 컬렉터 ( GC ) 의 개념과GC 가 객체를 삭제하는 여러가지 알고리즘에 대해 알아보았다.이번에는 GC 의 동작 방식과 GC 의 종류에 대해서 알아보려고 한다.GC Remind - 1 : GC 란 무엇인가?Garbage Collector : 더이상 참조하지 않는 객체를 제거하여 자동으로 메모리를 관리하는 프로세스GC 덕분에 메모리 누수에..

들어가기 전에트랜잭션 격리 수준을 항해 플러스 과정에서 처음 듣게 되었다. 핑계를 조금 보태자면 세일즈 포스 개발을 업무로 하기 때문에 데이터 베이스에 대해서 거의 무지랭이에 가까운데, 트랜잭션 격리 수준이 과연 무엇을 의미하는 것일까?트랜잭션 격리 수준 정의→ 여러 트랜잭션 수행 시, 데이터를 일관성 있게 보장하는 기준조금 더 풀어서 설명하면여러 트랜잭션이 동시에 수행되다 보면 특정 자원에 동시에 접근하게 된다.이로 인한 동시성 문제는 아래 3가지로 나눌 수 있다.1. Dirty ReadA: 잔액을 100 → 50 (커밋 전)B: 잔액 조회 → 50A: 롤백 → 100B는 잘못된 50을 읽은 셈커밋되지 않은 데이터를 읽는 문제2. Non-Repeatable ReadB: 이름 조회 → "Alice"A: ..


들어가기 전에데이터 베이스에서 조회 성능을 높일 수 있는 방법 중 하나인 DB Index 에 대해서알아보려고 한다. 간략한 개념부터 실제 실행해본 내용까지 여러 글에 걸쳐서 적을 계획이다.이번에는 인덱스가 무엇인지?인덱스의 장단점에 대해서 적어보고 정리해보자! Index?우선 Index 란 무엇일까?우리가 흔히 Index 라는 단어를 어디에서 볼 수 있는지 생각해보면 책의 목차를 생각할 것이다. 책의 목차의 목적은 책에 어떤 것들이 있는지 알려주고해당 내용이 어느 위치에 알려줄 수 있는지 빠르게 찾기 위해서 사용한다.DB Index 도 마찬가지다. DB Index?DB Index 란데이터 베이스 조회 성능을 높이기 위한 데이터 구조로서 DB Index 를 생성하면 특정 열에 대한 포인터와 정렬된 데이터 ..


Cache 전략Cache 전략이란?캐시를 읽고, 쓰고, 삭제하는 방식이다. 캐시와 DB를 함께 사용하면 같은 데이터를 서로 다른 두 저장소에 저장하게 되므로, 업데이트가 발생할 때 두 곳에 동시에 적용해야 한다. 하지만 네트워크 문제나 시스템 장애 등으로 인해 특정 저장소에만 데이터가 반영된다면, 두 곳의 데이터가 일치하지 않는 데이터 정합성 문제가 발생한다. 이를 방지하며, 성능을 개선 시킬 수 있는 다양한 Cache 전략에 대해서 알아보자Cache 읽기 전략데이터 조회 시, Cache 와 DB 간 조회 방식 및 흐름을 결정하는 방법1. Read-through : 자동 로드 캐시Cache-Miss 일 때, 데이터를 DB로 부터 Cache 로 자동으로 들고 오는 방식 즉, 찾으려는 데이터가 Cache 에..