02/08 검색기능(Debounce, Throttle, 파일 업로드(Apollo-Upload-Client)

`·2022년 2월 10일
0
  • 이미지 업로드 과정

file: storage 저장
url: database 저장
cloud 제공업체: AWS, GCP, AZURE

  • 파일 업로드 셋팅(Apollo-Upload-Client)

$ yarn add apollo-upload-client
$ yarn add @types/apollo-upload-client -D (ts 제공)

import { createUploadLink } from "apollo-upload-client";

const uploadLink = createUploadLink({
    uri: "http://backend05.codebootcamp.co.kr/graphql",
  });
 const client = new ApolloClient({
    link: ApolloLink.from([uploadLink as unknown as ApolloLink]),
    cache: new InMemoryCache(),
  });
  • 검색하는 방법

    • Disk 기반 DB: 껏다켜도안날라감
      full table scan: 모든 테이블 검색, 시간소요가 큼
      토크나이징,역인덱스 => Elastic Search

    • Memory 기반 DB: 껐다키면 날라감 대신 속도가 훨씬 빠름
      ex) Redis

    • debounce: 연이어 호출되는 함수들 중 마지막 함수(또는 제일 처음)만 호출하도록 하는 것, 주로 검색 기능에 사용

    • throttle: 한번 요청 되고 특정 시간동안 반복안하는 것, 마지막 함수가 호출된 후 일정 시간이 지나기 전에 다시 호출되지 않도록 하는 것, 주로 스크롤 함수에 사용

  • Etc
    lodash 설치
    검색 = secret code로 키위드 중심으로 자른다
    배열부분 옵셔널체이닝
    '?.'
    grapql-cogen 최신화
    yarn generate

0개의 댓글