[TIL 4.5 part1] Public-API / Database(ORM)

진성·2022년 4월 5일
0

1.Public-API

구글에 public api를 검색하게 되면 깃허브에 공개된 api들이 나와있다.
키워드로 묶어서 관련 api들이 묵여있다.
Auth는 로그인을 해야하는지 유무가 적혀있다.
HTTPS는 HTTPS를 사용하는 사용여부가 적혀있다.
CORS는 Cross Origin Resource Sharing의 약자로 API요청을 다른 출처에서 가능한지 여부를 알려준다.
public api는 각각의 회사나 웹사이트마다 사용법이 다르기 때문에 postman을 이용을 하면 좋다.
주소로 API요청을 할수 있다.
이떄 요청을 그 데이터 파일이 있는 컴퓨터의 주소를 입력받아 접속해서 사진을 요청한 컴퓨터의 다운을 받아 보여주는 방식이다.
웹사이트들의 사진은 이런 방식으로 보여진다.
보통 웹사이트들은 화면이 열릴때 바로 보여줄수 있는 부분인 HTML, CSS, Javascript를 먼저 보여주고 사진을 받는데로 보여주는 방식이다.
이유는 사진같은경우는 데이터용량이 큰 경우도 있기에 그 데이터를 다 받아오기 전까지 화면이 안보이면 서비스의 불편함이 생길수 있기 때문이다.
사용방법 같은 경우는 위 방법은 setState가 지속적으로 실행되기 때문에 이 방법은 사용하면 안된다.위 방법 같은 경우에는 잘 보여주지만 렌더가 두번이 된다.
async를 사용할때 위 방법으로 사용하면 된다.
graphql은 useQuery가 있다.
그래서 rest-api도 이와 같은 기능을 하게 해주는 react query가 있다.
react query를 사용하려면 세팅을 따로 해줘야하기 때문에 세팅을 따로 하지 않으면 rest-api사용하면 된다.
보통 api를 요청하여 사진을 받아올때 파일 확장자는 webp를 쓴다.
이는 파일용량을 많이 줄여준다.

2.Database(ORM)

위는 최근 웹사이트를 구성하는 대표적인 구조이다.
주소를 입력했을때 프론트엔드 컴퓨터에서 HTML, CSS, Javascript를 다운받아 보여준다.
2차적으로 useQurey같은 데이터를 API의 요청을 할때 백엔드에 API요청을 한다.
백엔드에서 DB(Database)에 요청을 하여 받아온 데이터를 다시 백엔드에서 프론트엔드로 보내준다.
이때 모두 컴퓨터가 작동하고 있어야 정상적으로 데이터가 오고 갈수 있다.
이러한 것을 서버프로그램이라고 하고 켜져있는 컴퓨터는 서버컴퓨터라 부른다.
각각의 서버는 port 번호가 있고 서버가 켜져있을때 접속이 가능하다.
프론트엔드서버는 브라우저에서 접속을 할때까지 기다리고, 백엔드는 브라우저에서 API요청을 할때까지 기다리고, 데이터 베이스는 백엔드에서의 접속을 기다린다.대표적으로 데이터 베이스 의 프로그램은 엑셀같은 표 형식으로 되어있으며, 객체로 된 형식 또한 있다.
이를 부르는 명칭이 있으며 SQL 방식과, NoSQL 방식이 있다.

SQL

  • 액셀과 같이 표로 정리되어있고 이를 table이라고 부른다.
  • table의 한행을 row라고 부른다.
  • 두개의 표의 관계를 만들고 연결 시켜줄수 있는데, 이를 관계형 데이터 베이스 RDB라고 부른다.
  • 대표적이 프로그램으로는 Oracle, MySQL, PostgresSQL등이 있다.

NoSQL

  • 객체형태로 데이터가 정리되어있다.
  • 쉽게 A4용지에 적어놓은 형태라고 생각하면 되고, 이 데이터들을 모아놓은게 서류봉투 형태라고 생각하면 된다. 이를 Collection이라고 부른다.
  • 서류봉투 형태에 A4용지 한장을 Document라고 부르고 이 Document와 table의 row와 같다.
    데이터 베이스에 저장된 데이터를 조회, 삭제, 등록 등등 어떠한 명령을 내리고 싶을때 존재하는 명령어가 있다.
    이를 SQL-Quety문 이라고 한다.
    NoSQL의 명령어도 물론 존재한다.
    이러한 명령어를 기존에는 암기를 하고 사용하였는데 이제는 그것을 도와주는 라이브러리가 있다.
    이는 우리가 원하는 명령어를 자동으로 완성시켜준다.

SQL(RDB) - ORM(Object Relational Mapping)

  • sequalize - 자바스크립트 기반에서 가장 많이 사용된다.
  • typeorm - 타입스크립트 기반에서 가장 많이 사용된다.
  • prisna - GraphQL 스키마를 기반으로 만들어졌다.

NoSQL(DocumentDB) - ODM(Object Document Mapping)

  • Mongoose - MongoDB의 Document를 자바스크립트의 객체로 바꾸어주는 역할을 해준다.

위는 대표적인 ORM 과 ODM이다.
사용밥법은 자바스크립트의 객체와 Node.js의 대해 알고 있으면 사용가능하다.
다음 포스팅에 사용법에 대한 자세한 방법이 나와있다.

profile
풀스택 진행중...

0개의 댓글

Powered by GraphCDN, the GraphQL CDN