일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 게시글 이미지 업로드
- 메뉴바
- route 53
- .env
- 알림생성모듈
- 레포지토리
- secret코드
- 3계층구조
- 스테이지어스
- 메뉴바 한번에
- 부트캠프
- JWT 쓰는이유
- 패스파라미터
- Winston
- JSON Web Token
- 이미지가 포함된 게시글
- unnest
- 쿼리스트링
- 환경변수
- JWT
- 알림생성
- N+1
- element.style
- N+1문제
- 포트번호
- getComputedStyle
- JWT 쓰는 방법
- 게시글 이미지
- 네비게이션 한번에
- 토큰
- Today
- Total
목록전체 글 (142)
기주

사설망(Private Network)과 CIDR사설망-한정된 IP주소를 최대한 활용하기 위해 IP주소를 분할하고자 만든 개념-IPv4기준 IP개수는 43억개-사설망 내부에는 외부 인터넷 망으로 통신이 불가능한 사설 IP로 구성-외부로 통신할 때는 통신이 가능한 공인 IP를 번갈아 사용-보통 하나의 망에는 사설IP를 부여 받은 기기들과 NAT기능을 갖춘 Gateway로 구성IPv6 최대 IP개수: 2^128개IPv4(43억)보다 2^96배 많음 NAT사설 IP가 공용 IP로 통신할 수 있도록 주소를 변환해주는 방법3가지 종류1. Dynamic NAT: 1개의 사설 IP를 가용 가능한 공인 IP로 연결-> 공인 IP그룹(NAT Pool)에서 현재 사용 가능한 IP를 가져와서 연결예시) 2. Static NA..
자바스크립트 런타임 알아보기 자바스크립트 런타임인 nodeJS와 브라우저에는 자바스크립트 엔진외에도 백그라운드(libuv), 이벤트 큐, 이벤트 루프 등의 라이브러리가 존재한다. 그렇다면 자바스크립트 엔진외의 다른 라이브러리들은 왜 필요한걸까? 자바스크립트가 가진 한계점들을 보완하기위해서이다. 자바스크립트만으로는 싱글 스레드 블로킹 이슈와, OS수준의 작업, 파일 시스템 접근 불가하다는 문제가 있기 때문이다. 자바스크립트는 싱글스레드 언어이다. -> 따라서 두 개 이상의 연산이나 함수를 동시에 실행할 수 없다. 하나의 연산이 실행 중이면, 쓰레드가 block 된다. 간단한 함수 실행에 의한 쓰레드 block은 체감하기 어렵지만, 시간이 오래 걸리는 작업(네트워크 요청, DB Query, 파일 시..
UNION / UNION ALL 알아보기 UNION-여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어준다.-중복된 값을 제거하고 보여준다-중복된 값을 제거하는 연산이 추가로 수행되기 때문에 UNION ALL보다 속도가 느리다. UNION ALL-여러 쿼리문들을 합쳐서 하나의 쿼리문으로 만들어준다.-중복된 값을 모두 보여준다. 사용방식-컬럼명이 동일해야한다(같지않다면 AS로 정확히 맞춰줘야 한다.)-컬럼타임과 개수가 동일해야한다. JOIN과 차이점JOIN: 새로운 열로 결합한다(수평결합)UNION: 새로운 행으로 결합한다(수직결합)참고:https://silverji.tistory.com/49

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가 작은 경우에 유리하다. 즉 조인하고자하는 작은 테이블은 더 작게 큰 테이..