[TIL] 22.11.23 - Server, Firebase

nana·2022년 11월 23일
0

TIL

목록 보기
34/50
post-thumbnail

Server / Port


  • rest-api 서버 : express
  • graphql-api 서버 : apollo-server

apollo-server, graphql 설치
yarn add @apollo/server graphql

서버

  • API-Docs 타입
  • API 함수

하나의 함수로 실행하면 url이 만들어지고, url을 실행시킨다.

서버는 누군가의 접속을 기다리며, 24시간동안 무한루프로 실행되야 한다. 서버를 종료하는 순간 접속이 불가능하다.

또한, 포트번호(0 ~ 65535) 가 존재해야 한다. (포트번호는 한 컴퓨터 안에서 중복 불가)


서버 프로그램

  • Frontend 서버 (프로그램)
  • Backend 서버 (프로그램)
  • DB 서버 (프로그램)

각 프로그램이 실행되는 컴퓨터는 서버 컴퓨터 (생략 가능)

각 컴퓨터는 예기치 못한 상황에 대비하기 위해 데이터를 여러개의 컴퓨터에 분산해서 저장한다.


Graphql-API 만들기


  • parent: API에서 API를 요청할 때 주는 데이터
    (fetchBoards에서 creatBoard를 요청할 때 creatBoard가 parent에 들어감)
  • args: writer, title, contents
  • context : request, response (header등)
  • info: API 정보

return 타입은 type
args 타입은 input


게시글 생성, 조회


게시글 수정, 삭제


Firebase / BAAS


  • BASS (Backend As A Service)
    구글 백엔드
  • SAAS (Software As A Service)
    예)구글 스프레드 시트
  • PAAS (Platform As A Service)

Firebase

  • 장점 : 데이터 입력이 쉬워 작은 규모에서 빠르게 개발 가능. 백엔드 개발자 없이 가능함
  • 단점 : 사이즈 규모가 커져 데이터가 많아지면 데이터 구분이 어려워짐

firebase 설치
yarn add firebase

  • collection : collection을 가져온다.
  • addDoc : 문서를 추가한다.
  • getDocs : 문서를 가져온다.
  • getFirestore : DB를 가져온다.

collection(getFirestore(firebaseApp), "board");
-> firebaseApp에서 Firestore를 가져와 board collection을 가져와줘

=> Firebase를 사용하여 프론트엔드 개발자가 백엔드 없이 데이터 등록, 조회 가능!

profile
프론트엔드 개발자 도전기

0개의 댓글