분류 전체보기
TIL | 1.17.화 [CS 기초지식 | Index]
데이터 베이스 - Index DB에서 Index란? 인덱스는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료 구조이다. 검색연산의 최적화를 위해 DB 내 값의 주소정보로 구성된 데이터 구조 (키:주소) 특정 컬럼에 인덱스를 생성하면, 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 (인덱스 생성 시 데이터를 오름차순으로 정렬) Index는 검색 성능의 속도를 올려주는 좋은 자료구조이지만 모든 데이터 컬럼에 인덱스를 생성하지 않는다. 그 이유는? 인덱스의 가장 큰 문제점은 정렬된 상태를 계속 유지시켜줘야 한다는 점인데 이런점에서 인덱스는 DML (Data manipulation language)에 아주 취약 인덱스는 테이블의 전체 데이터 중에서 10~15..
TIL | 1.16.월 [CS 기초지식 | Django 질의응답]
Django 질의 응답 - Django 란? 파이썬이라는 개발언어에서 웹을 개발하기 위해 만들어진 프레임워크이다. [프레임워크 란?] 프레임워크는 프로그래밍언어에서 복잡한 기능을 수행하기 위해 만들어진 틀이며, 다양한 기능을 구현하기 위해 사용합니다 [프레임워크와 라이브러리 차이점?] 프레임워크와 라이브러리의 차이 라이브러리는 어플리케이션의 흐름을 사용자가 직접 제어하지만 프레임워크는 흐름을 제공해준다. - 백엔드 스택 | Django Django는 템플릿부터 데이터베이스까지 웹을 구현하는데 필요한 기본적인 기능을 전부 제공하는 프레임워크이고, 쉽고 빠르게 구현이 가능하다 Python 기반 웹프레임워크이기 때문에 파이썬에서 가능한 모든 동작들이 가능하며, 다양한 라이브러리가 있다. 웹 사이트 로그인, 회..
TIL | 1.6.금 [CS 기초지식 | 우선순위 큐]
우선순위 큐(Priority Queue) - 원리 이유 : 큐의 성질을 가지고 있긴 하지만 데이터의 우선순위순으로 데이터를 꺼내게 되는데 이 부분에서 우선순위 큐는 2차원 형태의 이진 트리구조를 갖게 되고 최대 힙을 이용해 구현하게된다. - 시간 복잡도 시간 복잡도 : O(NlogN)
TIL | 1.5.목 [CS 기초지식 | 해시 테이블]
- 해시테이블 [해시 테이블] 연관 배열 구조(key - value 연관)를 이용하여 key에 value를 저장하는 자료구조 [해시테이블의 특징] 해시 테이블은 적은 자원으로 많은 데이터를 효율적으로 관리할 수 있다. 하드 디스크나, 클라우드에 존재하는 무한한 데이터들을 유한한 개수의 해시 값으로 매핑하면 작은 메모리로도 프로세스의 관리가 가능하다. [해시 테이블 | 충돌 해소] 해시 충돌이란? 해시 함수가 서로 다른 두 개의 입력 값에 대해 동일한 출력 값을 내는 상황 충돌 해소 전략 체이닝 방법 : 충돌 시 연결 리스트를 만들어 값을 할당하고 이어서 연결하는 방식 Open Addressing 방법 : 충돌 시 해시 테이블에서 놀고 있는 인덱스에 할당하는 방식' [참고 링크] https://velog...
TIL | 1.4.수 [CS 기초지식 | 배열 / 링크드리스트]
- 배열 [Array] 배열은 특정 크기만큼 연속된 메모리 공간에 데이터를 저장하는 자료구조로 데이터를 빈번하게 추가하거나, 삭제할땐 효울적이지 못하다. - Linked-List [linked-list] 배열과 달리 연속된 메모리 공간에 저장되어 있지 않다. 각각의 데이터가 메모리 공간 상에 고유한 노드로 존재한다. 그리고 이 노드는 자신의 앞에 있는 데이터와 뒤에 있는 데이터에 대한 주소를 기억하고 있다. → 따라서 데이터를 추가 하거나 삭제할때 복잡도가 현저히 줄어든다. 왜? 각 노드들이 가리키는 주소만 변경해주면 되기 때문에 [참고 링크] https://kimmeh1.tistory.com/473 [자료구조] Array와 Linked List의 차이는 무엇일까? Array와 Linked List가 무..
TIL | 1.3.화 [CS 기초지식 | 스택 / 큐]
자료구조 [스택 / 큐] - 스택 [Stack] 차곡차곡 쌓아 올린 형태의 자료구조 즉, 시간 순서에 따라 자료가 쌓여서 가장 마지막에 삽입된 자료가 가장 먼저 삭제된다는 구조적 특징으로 후입선출(LIFO, Last-In-First-Out) 구조를 갖고 있다. - 큐 [QUEUE] 사전적 의미처럼 줄을 서서 기다리는 형태의 자료구조 즉, 선입선출(FIFO, First in first out) 방식의 자료구조 이다. → 한쪽 끝에서 삽입 작업이, 다른 쪽 끝에서 삭제 작업이 양쪽으로 이루어짐