뚜벅뚜벅 개발일기

「세상은 죽을 때까지도 전체를 다 볼 수 없을 만큼 크고 넓으며, 삶은 말할 수 없이 아름다운 축복이다.」

Axios로 서버와 통신하기

Axios HTTP통신을 주고받을 수 있게 도와주는 비동기 통신 라이브러리. 권한 문제로 사내 서버 A 에서 서버 B의 API를 사용해야하는 기능이 필요해 백엔드 서버간의 통신은 어떻게 이루어지는지 알아보다가 axios를 사용하게 됐다. 기존의 request 라이브러리는 deprecated 상태로 더 이상 사용이 권장되지 않아 Node js...

Socket 통신

참고 : 구름에듀 / AWS 공식문서 일반적으로 네트워크 서비스를 받기 위해 클라이언트가 통신을 시작한다. 클라이언트는 서버에 접속을 시도하고 그 연결 결과를 기다리든지 어떤 서비스를 요구하고 응답을 기다린다. 클라이언트의 이와 같은 요구에 대해 서버가 응답을 보내는 방식으로 동작이 이루어진다. 일반적으로 서버 프로세스는 클라이언트보다 먼저 실...

TypeORM - QueryBuilder

QueryBuilder를 사용해 쿼리를 갖고 놀아보자!

참고 : TypeORM 공식문서 - query builder QueryBuilder 변환한 entity를 자동으로 가져와 SQL쿼리를 편리하게 빌드해준다. 1 2 3 4 5 const firstUser = await connection .getRepository(User) .createQueryBuilder("user") ...

Redis 레디스 기초

cache 1. Look aside Cache 웹서버는 데이터가 존재하는지 캐시를 먼저 확인 캐시에 데이터가 있으면 캐시에서 가져온다. 캐시에 데이터가 없으면 데이터베이스에서 가져온다. 데이터베이스에서 가져온 데이터를 캐시에 다시 저장한다. 2. Write back 웹서버는 모든 데이터를 캐시에만 저장 캐시에...

TypeORM - Entity 작성하기 (modeling)

Entity Entity is your model decorated by @Entity decorator. Entity는 데이터베이스의 테이블과 맵핑되는 클래스이다. @Entity를 사용해서 새로운 클래스를 정의하여 Entity를 생성할 수 있다. Entity 작성하기 1 2 3 4 5 6 7 import { Entity, ...

Typescript - 인터페이스(interface)를 알아보자

참고: 코딩앙마 타입스크립트 인터페이스 활용하기 인터페이스 1 2 3 4 5 6 7 type extension = 'jpeg'|'png' Interface Image { url: string; size?: number; extension: extension; } object의 타입을 만든다고 생각하면 쉽다. 위의 Ima...

MySQL - 테이블 결합

테이블의 집합 연산에서는 세로 방향으로 데이터가 합쳐진다. 테이블 결합에서는 가로 방향으로 데이터가 늘어나게 된다. 보통 데이터베이스는 많은 데이터를 여러 개의 테이블에 나눠 저장한다. 이처럼 여러 개로 나뉜 데이터를 하나로 묶어내는 방법이 테이블 결합이다. 결합을 이해하는 동시에 기본이 되는 개념이 집합론의 ‘곱집합’이다. 곱집합과 교차결합 ...

MySQL - 집합연산 (UNION)

RDBMS 은 수학 집합론의 관계형 이론에서 유래했다. 데이터베이스의 데이터를 집합으로 간주해 다루기 쉽게 하자는 것이다. 벤 다이어그램과 테이블을 대응해 생각하면 쉽다. 벤 다이어그램의 원 안에 있는 요소가 테이블의 행에 해당한다. SELECT 명령이 반환하는 여러개의 행을 하나의 집합이라고 생각하면 된다. UNION - 합집합 수학에서 사용하...

MySQL - 뷰 작성과 삭제

데이터베이스 객체로 등록할 수 없는 SELECT 명령을 객체로서 이름붙여 관리할 수 있도록 한 것이 뷰이다. SELECT 명령을 실행했을 때 테이블에 저장된 데이터를 결과값으로 반환한다. 따라서 뷰를 참조하면 그에 정의된 SELECT 명령의 실행결과를 테이블처럼 사용할 수 있다. 뷰는 SELECT 명령을 기록하는 데이터베이스 객체이다. ...

MySQL - 인덱스(색인)

인덱스 인덱스는 데이터베이스 객체 중 하나로 색인이라고도 불린다. 테이블에 인덱스를 붙이면 검색속도가 향상된다. 여기서 ‘검색’이란 SELECT 명령에 WHERE 로 조건을 지정하고 그에 일치하는 행을 찾는 일련의 과정을 말한다. 테이블에 인덱스가 지정되어 있으면 효율적으로 검색할 수 있어 SELECT 명령의 처리 속도가 향상된다. 인덱스는 테이블...