프론트엔드
1. FrontEnd 디렉터리에 .next 디렉터리를 .gitignore 처리를 해주었습니다.
node_modules
.next
2. GraphQL에 대한 학습
- API 질의어, 페이스북에서 개발한 언어인데, REST API를 대체해 사용할 수 있습니다.
- 기존의 REST API와는 다르게 클라이언트에서 서버로 원하는 데이터를 쿼리로 작성해 원하는 데이터만 가져올 수 있습니다.
- 오버패칭(OverFetching)의 최소화 : 오버패칭(OverFetching)은 당장 필요한 데이터 외에 필요없는 데이터들까지 서버에서 받아오는 것을 뜻하는데 GraphQL은 클라이언트에서 원하는 데이터만 쿼리로 작성해 서버에서 가져올 수 있습니다.
- 언더패칭(UnderFetching)의 최소화 : 한 번에 여러 쿼리를 요청할 수 있기 때문에 언더 패칭의 문제를 최소화할 수 있습니다.
- GraphQL 쿼리 종류
- Query : REST API의 GET 메서드라고 생각하면 됩니다. 데이터를 조회할 때 사용합니다.
- Mutation : REST API의 POST, PUT, DELETE 등의 메서드라고 생각하면 된다. 보통 데이터를 조작할 때 많이 사용합니다.
- Subscription : 실시간 통신을 할 때 사용하는 쿼리입니다. 구독하는 기능이 있어서 Mutation 쿼리에서 데이터를 조작할 때 그 값을 구독해 변경사항을 실시간으로 가져올 수 있습니다.
- Int : 32비트형 정수
- Float : 실수형
- String : 문자열
- Boolean : true | false
- ID : id값임을 명시적으로 표현하기 위해 사용함
백엔드
1. .env 설정하기
- dotenv 파일 설치
yarn add dotenv
- 루트 디렉터리에 .env 파일 생성 후 PORT 설정
PORT=4000
- index.js에서 require('dotenv').config();를 설정합니다.
- process.env.PORT를 이용해서 port를 숨길 수 있습니다.
2. mongoDB
- C++ 로 작성된 문서(document)지향적 데이터베이스
- 고정된 스키마를 가지고있지 않습니다.
- 문서?
- RDBMS의 record와 비슷한 개념입니다.
- 한개 이상의 key-value를 가집니다.
- 한 개의 문서
{
"_id": ObjectId("5099803df3f4948bd2f98391"),
"username": "velopert",
"name": { first: "M.J.", last: "Kim" }
}
참고 블로그 : chanyeong.com/blog/post/36(graphQL)
'토이프로젝트 > 개인 블로그' 카테고리의 다른 글
tsconfig.json 설정, eslint, prettier 패키지 설치(2021.01.28) (0) | 2021.01.28 |
---|---|
backend - sequelize 선언, model 설정, frontend - prettier 설정(2021.01.27) (0) | 2021.01.27 |
koa 관련 패키지 설치 및 apollo server 패키지 설치 (2021.01.25) (0) | 2021.01.25 |
next.js 사용하기 (0) | 2021.01.21 |