본문 바로가기

Computer Science20

데이터베이스 선택 방법 1. Key-value Database key-value 형태의 데이터를 저장 대표적인 데이터베이스 redis key-value 형식의 데이터를 저장하는 비관계형 데이터베이스 관리 시스템(DBMS) 인메모리 데이터 구조를 가진 저장소 데이터를 하드디스크에 저장하지않고 램에 저장, 하드디스크엔 백업 2. Relational Database (관계형 데이터베이스) 표 컬럼으로 이루어짐 데이터 베이스 점유율이 높음 sql문법을 사용함 데이터를 정규화해서 저장함 ACID Transaction 기능 : 실패시 롤백 가능 정확도가 매우 중요한 서비스일경우 대표적인 데이터베이스 Oracle, MySQL, PostgreSQL, SQLite, MariaDB 3. Graph Database 보통 관계를 표현할때 사용 sn.. 2023. 3. 26.
[자료 구조] 자료 구조 시간 복잡도 자료 구조(data structure) 효율적으로 데이터를 관리하고, 수정, 삭제, 탐색, 저장할 수 있는 데이터 집합 자료구조 평균 시간 복잡도 자료 구조 접근 탐색 삽입 삭제 배열 (array) O(1) O(n) O(n) O(n) 스택 (stack) O(n) O(n) O(1) O(1) 큐 (queue) O(n) O(n) O(1) O(1) 이중 연결 리스트 (doublylinked list) O(n) O(n) O(1) O(1) 해시 테이블 (hash table) O(1) O(1) O(1) O(1) 이진 탐색 트리 (BST) O(log n) O(log n) O(log n) O(log n) AVL 트리 O(log n) O(log n) O(log n) O(log n) 레드 블랙 트리 O(log n) O(lo.. 2023. 3. 19.
데이터 모델 데이터 모델 정보들을 컴퓨터에 표현하기 위해서 단순화, 추상화하여 체계적으로 표현한 개념적 모형 데이터 모델은 데이터, 데이터의 관계, 데이터의 의미 및 일관성, 제약 조건 등을 기술하기 위한 개념적 도구들의 모임임 현실 세계를 데이터베이스에 표현하는 중간 과정, 즉 데이터베이스 설계 과정에서 데이터 구조(Schema)를 논리적으로 표현하기 위해 사용되는 도구 데이터 모델 구성 요소 개체(Entity) 속성(Attribute) 관계(Relationship) 개체(Entity) 데이터베이스에 표현하려는 것으로, 사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체 속성(Attribute) 데이터의 가장 작은 논리적 단위로서 파일 구조상의 데이터 항목 또는 데이터 필드에 해당 관계(Relationsh.. 2023. 3. 10.
[디자인 패턴] 디자인 패턴 디자인 패턴 객체지향 프로그램에서 유연하고 확장성 있는 설계가 가능한 예시를 제시 객체 지향 프로그래밍 특성 추상화 캡슐화 상속 다형성 객체 지향 디자인 원칙 (Object Oriented Design Principle) 애플리케이션의 달라지는 부분을 찾아내고, 달라지지 않는 부분과 분리한다. 새로운 요구사항이 있을때 마다 달라지는 부분을 분리해야한다. 구현보다는 인터페이스에 맞춰서 프로그래밍을 한다. 상속보다는 합성을 사용한다. Abstract class vs Concrete class(구상 클래스, 구체 클래스) Class Inheritance(상속) vs Object composition(합성) Interface inheritance(인터페이스를 구현한 클래스를 유연하게 사용) vs Implemen.. 2023. 3. 5.