-
2021_12_26 개발블로그, 기술블로그 제작IT/React 2021. 12. 27. 01:24
우리가 프론트만이 아닌 백엔드도 할 것이다.
백엔드를 메인으로 가져갈게 아니기 때문에 strapi 를 사용할것
backend: strapi
- Headless CMS (Content Management System)로 Node로 구성된 API를 간편하게 만들 수 있게 해주는 오픈소스 플랫폼
- strapi 는 무료 이긴한데 배포가 유료다
- 배포까지 X
- 실제로 쓰나요? -> 쓰는 곳 있음 NASA, TOYOTA, 요기요 등..
- 입사했는데 back 개발자가 없으면 이거 쓰면된다..
RDBMS (관계형 데이터베이스 관리 시스템)
- Excel = Database (대표적인 형태)
- 예를 들어서 테이플 구조로 되어있다
- 데이터베이스를 직접 다루는 일은 거의 없다 = 왜? API를 받아서 쓰기 때문 (난 프론트니깐)
- 직접 다뤄야 한다..? 탈출하셈
- 데이터베이스도 데이터가 많이 쌓이면 쌓일수록 느려진다.
- DBA(DataBase Analytics) 다루는 사람이 따로있다.
- 대표적인 DB는 mySQL, PastgreSQL, MariaDB, Oracle SQL 등..
ID Name Age Gender 0 John 29 male 1 데이터를 데이터베이스에서 조회할 때 쓰는 언어 : SQL 언어
SQL(Structured Query Language )
- 데이터베이스에서 데이터를 조회하거나 변경하거나 즉, 제어할떄 사용하는 문법
- 그래서 Query 라는 말이 들어있다
- 데이터를 조회한다 : 'SELECT * FROM DB' 같은 식으로 쓰게된다
- 조건을 걸어서 데이터를 조회 : 'SELECT *FROM DB WHERE { ... }'
RESTful API
- 가장 많이 쓰는 이름의 API
- REST (Representational State Transfer) 라고 해서 상대를 주고 받는 API
- 쉽게 생각 하면 데이터를 갱신, 조회 기타 등등 하면 1건당 1개 처리 하도록하는 것
- 데이터를 어떻게 내려줄 지의 주체 : 서버
- http://localhost:1337/posts/ > GET
- http://localhost:1337/posts/[id] > 개별 포스트를 GET으로 받아온다
- 언제나 서버가 어떻게 내려주냐에 따라서 갈린다.
- 기존에는 이것밖에 없었다..
RESTful API 말고 다른 것도 하나 있는데
GraphQL
데이터를 어떻게 내려줄 지에 대한 주체 : 서버
'SELECT {id, name, age} FROM DATA' <- 이렇게 가져온다 딱봐도 복잡쓰
SQL의 문제 : 복잡함
이거를 단순하게 만들자 한게 바로 -> GraphQL 이다
{ member{ id, name, age } }이렇게만 하면 바로 불러와진다
GraphQL의 단점은 2019년에 만들었다 - 페이스북에서
요즘은 GraphQL을 프론트에서 많이 활용하는 편
엄청난 장점이 있다 GraphQL은 서버가 RESTful API를 제작할 필요가 없다.
그냥 GraphQL을 지원하는 서버만 있으면 된다.
카카오, 네이버, 오늘의집에서 쓰고있다
이제 strapi 세팅을 할 것 (node js로 되어있다)
개발환경
Front:Next + Typescript + SWR + Emotion + Axios
localhost:3000 에 설치되어있다
Backend는 strapi를 써서 단순하게 만들었다
localhost:1337 에 있다
개발환경을 동시에 띄어져있어야 하는 경우가 있어서 같은 컴터에 2개다 띄우는 경우가있다
네긋트 + 타입스크립트 + SWR = 클라이언트 만들것
오늘의 과제
Axios로 고통받고 있음
저장소 올려줄것인데
저장소 포크 떠가지고 BE, FE 환경 세팅 해주고
FE 에서 Layout 구현 // 헤더 푸터, 글작성 버튼 정도 있는?
Write / Posts 사이 오갈 수 있도록'IT > React' 카테고리의 다른 글
2022_01_06 React Form (0) 2022.01.06 2021_12_30 React 마지막 특강 + 정리 (0) 2021.12.30 2021_12_21 React 특강 (0) 2021.12.22 2021_12_16 React 이벤트 처리하기 (0) 2021.12.16 2021_12_09 yarn start 에러, 해결, 결론 (0) 2021.12.09