데코레이터 패턴(decorator)
·
CS/디자인패턴
데코레이터 패턴(decorator)객체의 결합을 통해 기능을 동적으로 유연하게 확장할 수 있게 해주는 패턴 데코레이터 패턴 구조역할Component기본 기능을 뜻하는 ConcreteComponent와 추가 기능을 뜻하는 Decorator의 공통 기능을 정의즉, 클라이언트는 Component를 통해 실제 객체를 사용함.ConcreteComponent기본 기능을 구현하는 클래스Decorator많은 수가 존재하는 구체적인 Decorator의 공통 기능을 제공ConcreteDecorator1, ConcreteDecorator2Decorator의 하위 클래스로 기본 기능에 추가되는 개별적인 기능을 뜻함.ConcreteDecorator 클래스는 ConcreteComponent 객체에 대한 참조가 필요한데, 이는 D..
네트워크의 기초
·
CS/네트워크
네트워크란?노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합 노드 : 서버, 라우터, 스위치 등 네트워크 장비링크: 유선, 무선 좋은 네트워크란?많은 처리량을 처리할 수 있으며, 지연 시간이 짧고, 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크 처리량(bps)- 링크 내에서 성공적으로 전달된 데이터의 양을 말하며, 보통 얼만큼의 트래픽을 처리했는지를 나타냄- 많은 트래픽을 처리한다. == 많은 처리량을 가진다.- 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하는 에러, 장치의 하드웨어 스펙에 영향을 받는다. 트래픽특정 시점에 링크 내에 '흐르는' 데이터의 양 대역폭주어진 시간동안 네트워크 연결을 통해 흐를 수 잇는 최대 비트 수 트래픽이 많아..
IP와 서브넷 마스크
·
CS/네트워크
IPv4- 컴퓨터가 네트워크에서 서로를 식별하기 위한 주소- IPv4는 32비트로 구성된 IP 주소 체계- 192.168.0.1 같은 IP는 실제로는 32개의 0과 1로 구성된 2진수 서브넷마스크와 비트마스킹- 서브넷 마스크는 IP 주소를 네트워크 영역과 호스트 영역으로 나누는데 사용- 1로 되어 있는 부분이 네트워크 주소를 의미, 나머지 0은 호스트 식별자를 의미한다.- 비트마스킹을 통해 네트워크 주소와 브로트 캐스트 주소 등을 계산할 수 있음.- 하나의 네트워크를 여러 개의 작은 네트워크로 나누기 위해 사용- 예를 들어, 192.168.1.0/24 서브넷은 192.168.1.1 ~ 192.168.1.254까지 254개의 호스트를 사용할 수 있다.192.168.1.0(네트워크 주소), 192.168.1..
동시성 제어
·
CS/데이터베이스
B-tree, B+tree
·
CS/데이터베이스
균형 이진 트리- 리프 노드들의 레벨 차이가 최대 1레벨까지만 나는 트리, 검색할 때 O(logN) 시간 복잡도 유지(균형이 깨지면 별도 로직을 통해 다시 균형 유지)- B-tree 처음 생성 당시에는 균형 트리이지만, 테이블 갱신(INSERT, UPDATE, DELETE)의 반복을 통해 서서히 균형이 꺠지고, 성능도 약화된다.- 어느 정도 자동으로 균형을 회복하는 기능이 있지만, 갱신 빈도가 높은 테이블에 작성되는 인덱스 같은 경우 인덱스 재구성을 해서 트리의 균형을 되찾는 작업이 필요하다.- AVL 트리, 레드 블랙 트리, B-tree, B+tree 등에서 사용 B-tree- 데어베이스 인덱스, 파일 시스템, 파일 시스템 캐시 등에서 널리 사용되는 트리 자료구조- 이진 트리의 확장, 하나의 노트에 자..