[2.16 일]
gql-yoga
apollo-server
둘다 gql server를 띄울 수 있음
yarn add apollo
bebel
ecma
babel
polyfill
stream: 파일스트림. 한번거치면 다시 못가는거,,
res => {
console.log(res.json()) // res.json()가 stream이라서 한번읽어서 이미 안되느너,,,?
return res.json()
}
res 자체를 찍는건 괜찮은데
그걸 읽는 동작에서 뭔가 그게 1번만 되는거야.
그래서 .json() 두번하면 안되는거
RDS: db
메인서버 가 여러개로 나뉘면
중간서버 역할을 gql서버가 해줌으로써
여러개의 서버는 gql문법만 알면된다!!!!!!
그럼 gql이 알아서 햊누당~
github이 graphql 쓰고 있음.
깃헙용 플레이그라운드도 있음.
spa
single page application
상태관리를 최소화하고, Route처럼..!!
서버사이드렌더링: home/user/100 이거 자체로 요청보냄
클라이언트사이드렌더링: 위처럼 안보내고 다르게 보낸 뒤 home/user/100로 그린다.
useQuery는 컴포넌트 최상단에서.
컴포넌트 선언에서만 해주그;
RN에서는 상태관리 어떻게 하나
싱글 어플리케이션으로 해야 하나?
<Router>
</Router>
apollo를 앱에서 쓰는방법.
아폴로 캐시가 리덕스를 대체한다? 응!!!
redux.
강제로 바꿀 수 없게 장치를 하나 해놓음. 그게 아마 액션.
근데, context api를 쓰면 그냥 consumer안쓰고 바로 변수 바꿔버릴수도 있어. 그래서 리덕스가 좀 복잡해지는거긴해,,
아폴로도 캐시를 그렇게 바꿀수있긴한데,,,, 리덕스는 쉣이야
서버 올리는 법: 구글 아마존 마소, 구름 아이디 등등등...
aws에 서버 올리는 법 필요하면 올리기!!!!!!!
https://www.thecocktaildb.com/api.php
https://d2.naver.com/helloworld/2838729
https://haruair.github.io/flux/docs/overview.html
2.21 금
- 오프라인 노트 앱 들어오기
- 아폴로 2020 강의 2.0 들어오기 (local state)
- RN으로 바꾸는거,,, RN & Apollo 사례
- 어떤거 만들까? - 재균: OKR 소프트웨어
- aws 서버 올리는 법
3.8 일
- 서버구축
3.14 토
- 모든건 NavController 안에 하자!!! 그렇게 안하고
blahblah ?<ApolloProvider><NavController/></ApolloProvider> : <Component/>
이렇게 했더니 Component에서 쓸 수없는게 많았음. useMutation도 쓰려니까 안됐음.
ApolloProvider안에서 써야하나봐
- 에러 해결,,,,
import {useMutation} from '@apollo/react-hooks';
// import {useMutation} from 'react-apollo-hooks'; // 에러남
import {useMutation} from '@apollo/react-hooks';
https://coding-dahee.tistory.com/142
- ApolloClient
// import {ApolloClient} from 'apollo-client'; // 안좋음. link를 HttpLink로 만들어야 하는데 잘 안됨.
import ApolloClient from 'apollo-boost';
이거 쓰시오~
- INLINE 그 type 관점에서 생각하는거야!
type Board {
episode: Episode! @reloation(link: INLINE)
}
이러면 Board 관점에서는 episode가 1:1로 되어야함
episode 관점에서는 상관없음
- relation name은 쓰고 onDelete를 쓴다?
이걸 삭제하면 이걸 없앤다면 에러나면 relation을 넣자.
- doker-comoose
1) db서버 (mysql) 도커라는걸로
2) 그 디비를 감싸는 prisma서버를 띄운다
prisma가 db로 명령을 내리는거였구나,,,
3) 그 prisma 서버랑 통신하는 graphql localhost:4000 이거! - aws에서 이 코드 다운
총 3개
1,2번은 aws에서 해?
프리즈마 클라우드 여기서 해줄수도 있다
2번은 무조건 프리즈마 클라우드가 있다!
1번을 프리즈마 클라우드에서 안올리면 RDS에 날수도,,,,?
1) 3306
2) 4466
prisma cloud에 안띄우고 로컬에띄우면 deg9810- 이렇게 안되고 localhost로 뜬ㄷ대~
3) 4000
디어는 1번을 RDS
3번을 EC2 에 올려
우리는 3번을 EC2에 올린다!
@createdAt
@updatedAt
npx prisma
local에 있는걸 사용하고
npx에 가서 prisma 접근한대. 내가 굳이 설치 안했다면
prisma deploy 글로벌에 있는걸 해!
새로운 컬럼이 isRequired 면
일단 ! 없이 배포하고 그다음에 ! 넣어주기
isRequired를 나중에 추가하는게 괜찮은가?