일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- getComputedStyle
- JWT
- Winston
- 네비게이션 한번에
- 토큰
- 이미지가 포함된 게시글
- 알림생성모듈
- JSON Web Token
- 포트번호
- unnest
- 부트캠프
- 메뉴바 한번에
- N+1문제
- JWT 쓰는 방법
- .env
- 레포지토리
- route 53
- 패스파라미터
- JWT 쓰는이유
- 메뉴바
- 스테이지어스
- secret코드
- 게시글 이미지 업로드
- 환경변수
- 쿼리스트링
- N+1
- element.style
- 3계층구조
- 게시글 이미지
- 알림생성
- Today
- Total
목록2025/01 (9)
기주

B-tree 알아보기이진탐색트리(BST)-각 노드는 최대 2개의 자녀 노드를 가진다.-모든 노드의 왼쪽 서브 트리는 부모보다 작은 값들만 가지고 모든 노드의 오른쪽 서브 트리는 부모보다 큰 값을 가진다.-삽입,검색,삭제의 평균적인 시간복잡도: O(logN)-하지만 편향된 트리가되면 최악의 경우 O(N)까지 떨어질 수 있다 이진 탐색트리의 문제점-깊이가 깊어지면 검색, 삽입성능이 떨어진다.-균형유지가 어렵다. 자녀노드를 더 많이 갖기위해서는 어떻게 해야하는가?-> 상위 노드에 더 많은 키값을 가지면 된다.예를들어 자녀 노드를 3개씩 갖기위해서는 부모 노드에 2개의 키값을 가져야한다. 2개의 키 값이 있다면 3가지 값의 범위를 만들어 낼 수 있기 때문. ( k2)왼쪽자식: 작은 키값보다 작은값중간자식:..
인덱스를 쓰는이유1. 조건에 맞는 데이터를 O(N)에서 O(logN)의 시간복잡도로 빠르게 검색할 수 있다.2. 데이터 정렬(order by)하거나 그룹화(group by)를 더 빨리 하기위해 b-tree 기반 인덱스 동작방식이진탐색을 통해 적은 데이터 탐색범위로 빠르게 찾는다. table(a,b,c) a 속성에만 인덱스 있는경우)where a = 9;-> 인덱스 스캔으로 빨리 조회 where a=9 AND b = 45;-> a조건에 대해서는 빠른 인덱스 스캔, b조건에 대해서는 원본 데이터 테이블로 이동하여 b값비교, b값에 대해서는 full scan (a,b) 복합 인덱스 생성한 경우where a = 9;-> 인덱스 스캔으로 빨리 조회 where a=9 AND b = 45;-> a조건과 ..
Nested loop join, Merge join, Hash join 알아보기 Nested loop join첫번째 데이터 테이블을 순환하면서, 첫번째 데이터 테이블 데이터 1개당, 두번째 데이터 테이블 전체를 순환하는것.반복문으로 한테이블을 여러번 풀테이블 스캔을 하는 것.1. 인덱스가 필수적이다.2. 작은 데이터 셋 혹은 한쪽 테이블 행수가 작을 때 적합하다.3. 작은 데이터 집합에 빠르게 처리할 수 있기 때문에 실시간성인 OLTP시스템에 적합하다.OLAP시스템에서는 데이터양이 매우 크기 때문 에 적합하지않다.작업량T1 * T2특징1. 작은 데이터 세트나 매우 큰 테이블의 작은 부분만 결합할 때 가장 적합하다.(T1 * T2가 작은 경우에 유리하다. 즉 조인하고자하는 작은 테이블은 더 작게 큰 테이..

멀티 태스킹, 멀티 스레딩, 멀티 프로세싱 공부하기 관련 개념정리1. 프로세스2.CPU3.메인메모리4.I/O 프로세스-컴퓨터에서 실행중인 프로그램-각각의 프로세스는 독립된 메모리 공간을 할당 받는다.-각각의 메모리공간에 명령어들과 데이터를 가진다. CPU-명령어를 실행하는 연산장치 메인메모리-프로세스가 CPU에서 실행되기 위해 대기하는 곳 IO(input/output)-파일을 읽고쓰거나 네트워크의 어딘가와 데이터를 주고 받는 것-입출력 장치와 데이터를 주거나 받는 것 단일 프로세스 시스템-한번에 하나의 프로그램만 실행됨 단일 프로세스 시스템 단점-CPU 사용률이 좋지 않음-I/O작업을 할 때 CPU가 가동되지않음. 해결책 : 멀티프로그래밍-여러개의 프로그램을 메모리에 올려놓고 동시에 실행시키자-..
docker로 psql DB 컨테이너 버전관리하기 도커 컨테이너는 언제든지 사라질 수 있다. 도커 컨테이너를 보존하기위해서는 주기적으로 이를 이미지로 만들어놓고 도커허브나 AWS ECR에 저장해두는 것이 중요하다. 깃허브처럼 도커 이미지도 클라우드에 저장해두는 것이 안전하고 간단하다. 도커 이미지가 있다면 어디서든 이미지를 다운받아 컨테이너를 실행할 수 있다. 도커 이미지로 인해서 배포과정도 아주 간단하게 진행할 수 있다. 이때 DB 컨테이너의 데이터를 볼륨에 저장하고 있다면 데이터를 호스트 컴퓨터에 저장하고 있는 것이다. 도커 커밋으로 이미지를 만든다면 컨테이너 내의 데이터만 이미지로 커밋되기 때문에 DB에서 이미지를 컨테이너로 다시 만들어도 데이터는 복구되지 않는 것을 확인 할 수 있다. 데이터까지..
SQL - 집계함수, group by, order by 알기 ORDER BY-특정 속성(attribute)를 기준으로 정렬해서 가져오고 싶을때 사용-Default 정렬방식은 오름차순-오름차순 ASC로 표기-내림차순 DESC로 표기 집계함수(aggregate function)-여러 튜플(데이터, 행)들의 정보를 요약해서 하나의 값으로 추출하는 함수-대표적으로COUNT,SUM,MAX,MIN,AVG 함수가 있다-(주로) 관심있는 속성에 사용된다.(AVG(salary), MAX(birth_date), COUNT(sales))-*NULL값들은 제외하고 요약값을 추출한다 Q) 임직원 수를 알고싶다.SELECT COUNT(*)FROM employeeCOUNT()의 *은 튜플을 의미한다 왜 count(salary)등을..