전체 글(78)
-
DB 인덱스의 장단점
DB 인덱스의 장단점데이터베이스 인덱스는 데이터 검색 속도를 향상시키기 위해 사용되는 구조입니다. 인덱스를 사용하면 특정 컬럼의 값에 기반하여 데이터를 빠르게 찾을 수 있습니다. 하지만 인덱스 사용에는 장점과 단점이 모두 존재합니다. 인덱스의 장점검색 성능 향상: 인덱스를 사용하면 테이블 전체를 스캔하는 대신 인덱스를 통해 빠르게 데이터를 찾을 수 있습니다. 특히 큰 데이터 세트에서 이점이 큽니다.정렬된 데이터 접근: 인덱스는 데이터를 정렬된 상태로 유지하므로, 범위 검색과 정렬 작업이 훨씬 빠르고 효율적입니다.조인 성능 향상: 두 테이블을 조인할 때 인덱스가 있으면 조인 연산의 효율이 증가합니다. 인덱스는 관련 행을 빠르게 찾아 성능을 개선합니다.인덱스의 단점공간 사용: 인덱스는 추가적인 디스크 공..
2024.05.10 -
캐시 전략
읽기 전략Cache Aside데이터가 캐시에 없을 때 데이터베이스에서 읽어와 캐시에 저장하고 요청에 응답합니다.장점: 캐시 제어 쉬움단점: 수정이 많으면 일관성이 떨어짐Read Through캐시에 없는 데이터에 대한 요청이 들어오면 데이터베이스에서 데이터를 가져와 캐시에 저장한 후 응답합니다. 데이터베이스에서 직접 읽어 캐시에 저장하는 방식입니다.장점: 일관성 유지 쉬움단점: 수정이 많으면 DB 부하, 캐시 고장에 취약 쓰기 전략쓰기 전략은 데이터를 어떻게 캐시와 데이터베이스에 저장할지에 관한 방법론입니다.Write Back (Write Behind)데이터를 캐시에 먼저 쓰고, 일정 시간 후 또는 특정 조건에서 데이터베이스에 쓰는 방식입니다.장점: 쓰기 작업에 대한 응답 시간이 매우 빠릅니다.단점:..
2024.05.10 -
네트워크 토폴로지의 종류, 장점, 단점 : 버스 링 스타 메쉬 트리 하이브리드
네트워크 토폴로지의 종류, 장점, 단점 : 버스 링 스타 메쉬 트리 하이브리드 네트워크 토폴로지는 네트워크 내의 다양한 장치들이 서로 연결되는 물리적 또는 논리적 구조를 의미합니다. 토폴로지에 따라 네트워크의 성능, 신뢰성, 확장성이 달라질 수 있습니다. 여기서는 주로 사용되는 여섯 가지 기본 네트워크 토폴로지에 대해 설명하겠습니다. 1. 버스 토폴로지 (Bus Topology) 버스 토폴로지에서는 모든 컴퓨터와 장치들이 하나의 단일 통신 선에 연결됩니다. 이 중앙 케이블을 통해 데이터가 전송되며, 네트워크의 양 끝에는 종단저항(terminator)이 필요합니다. 버스 토폴로지는 설치가 간단하고 비용이 저렴하지만, 중앙 케이블에 문제가 생길 경우 전체 네트워크에 영향을 줄 수 있습니다. 2. 링 토폴로지..
2024.04.16 -
JAVA 자바 디자인 패턴 : MVC 패턴, MVP 패턴, MVVM 패턴 장점 단점, 예시
JAVA 자바 디자인 패턴 : MVC 패턴 MVC 패턴(Model-View-Controller)은 사용자 인터페이스를 구현하기 위해 사용되는 디자인 패턴으로, 애플리케이션을 세 가지 주요 구성 요소로 나누어 관리합니다: 모델(Model): 데이터와 비즈니스 로직을 처리합니다. 애플리케이션의 데이터 구조를 정의하고 데이터베이스와의 상호작용 및 비즈니스 규칙을 담당합니다. 뷰(View): 사용자에게 정보를 표시하는 방법(사용자 인터페이스)을 정의합니다. 모델이 가지고 있는 정보를 받아 사용자에게 보여주는 역할을 합니다. 컨트롤러(Controller): 사용자의 입력을 받아 처리하는 부분으로, 사용자의 입력에 따라 모델과 뷰를 업데이트합니다. 자바 스윙을 사용한 MVC 예시 다음은 자바 스윙을 사용하여 간단한..
2024.04.16 -
JAVA 자바 디자인 패턴 : 프록시 패턴, 이터레이터 패턴, 장점 단점, 예시
JAVA 자바 디자인 패턴 : 프록시 패턴 프록시 패턴(Proxy Pattern)은 객체의 대리인 또는 자리채움자로 작동하는 객체를 제공하여 원래 객체에 대한 접근을 제어하거나 기능을 추가하는 디자인 패턴입니다. 이 패턴은 클라이언트와 실제 객체 사이에 중재자 역할을 하는 프록시 객체를 두어, 직접적인 객체 접근을 피하고 여러 가지 유용한 용도로 활용됩니다. 주로 사용되는 용도로는 지연 초기화, 접근 제어, 로깅, 캐싱 등이 있습니다. 프록시 패턴의 종류 프록시 패턴은 크게 세 가지 유형으로 나뉩니다: 가상 프록시(Virtual Proxy): 객체의 생성을 지연시키는 데 사용됩니다. 보호 프록시(Protection Proxy): 객체에 대한 접근을 제어하는 데 사용됩니다. 리모트 프록시(Remote Pr..
2024.04.16 -
JAVA 자바 디자인 패턴 : 전략 패턴, 옵저버 패턴, 장점 단점, 예시
JAVA 자바 디자인 패턴 : 전략 패턴 전략 패턴(Strategy Pattern)은 행동을 클래스의 집합으로 정의하고, 이들을 상호 교환 가능하게 만드는 디자인 패턴입니다. 이 패턴은 객체의 행동을 동적으로 변경할 수 있게 해주어 같은 문제를 해결할 수 있는 여러 알고리즘을 클라이언트 코드에서 직접적으로 분리할 수 있게 합니다. 전략 패턴은 클라이언트가 사용할 알고리즘의 변형을 캡슐화하고, 각 알고리즘을 서로 교체할 수 있게 함으로써 동일한 작업을 다른 방식으로 수행할 수 있도록 합니다. 전략 패턴 구현 예시 다음은 자바로 구현한 간단한 전략 패턴의 예입니다. 여기서는 여러 종류의 정렬 전략을 사용하는 상황을 가정합니다. // 전략 인터페이스 정의 interface SortingStrategy { vo..
2024.04.16