Codecamp_17일차

김영탁·2021년 11월 23일
0

어느덧 코드캠프도 17일차가 되었다..
내가 잘 따라가고 있는게 맞는지 잘 모르겠다.. 쉽지않네..
그래도 열심히 해보자!

오늘, 내일은 백단에서 하는일들을 배운다.
프론트엔드를 공부하고있지만 백엔드에 대한 이해도가 전혀 없으면 안되니까
백엔드 부분을 배우는것같다. 한번 열심히 해봐야겠다.

웹 서비스 구조

위에 사진에 보이듯 우리는 서비스를 하기위해 저 네모안에 있는 세가지 부분을 구축해야된다

Br: 브라우저, 유저를 의미
B: 백엔드 서버
F: 프론트엔드 서버
DB: 데이트 베이스 서버

서비스를 하기위해서는 한대의 PC에서 B,F,DB를 모두 사용할수도 있지만 요즘의 추세는 한대씩 나누어서 관리하는것이기에 최소 세대는 있어야된다고 볼수있다.

물론 특별한 pc가 필요한것은 아니다. 우리의 컴퓨터도 충분히 서버의 역할을 수행할수 있다.

작동원리는 브라우저가 프론트단에 요청을 보내면 프론트 서버에서는 HTML, CSS, JS의 소스코드를 보낸다.
1차적으로 모든 껍데기를 보내주고 2차적으로 API등을 받게 되는데 요청과정에서 useQuery를 백단에 날리게 되고 백단에서 DB로 데이터를 요청 및 전달받아 브라우저로 보내주어 알맹이를 채워준다고 보면된다.


굉장히 중요한 부분이니 꼭 기억해두자!

그러면 배포 이전에 제작과정에서는 어떻게 사용하는지 알아보자!

배포 이전의 프론트단 개발과정에서는 제작하는 사람의 pc가 프론트 서버 역할을 한다.
로컬호스트로 접속하여 브라우저에 정보를 주고 그 이후 단계에서 외부에 있는 백엔드 서버에 요청, 백엔드 서버는 DB에 요청후 정보를 프론트단에 전달해주는 식으로의 단계로 진행이 된다.

추가적으로 알아보자면 우리가 브라우저에서 아폴로 클라이언트를 이용해서 백단에 요청을 보내면
백에서는 아폴로 서버라는 프로그램을 돌리고 백에서는 ORM또는 ODM을 통해 DB에 요청을 한다.

DB는 왜 ORM과 ODM으로 나눌까?

데이터 베이스에는 약간의 방식차이가 있다.
한가지는 액셀처럼 표로 저장을 하고 다른 한가지는 문서들을 서류봉투에 보관하는것처럼 저장한다.


표로 저장하는 것을 관계형 데이터 베이스 혹은 SQL데이터 베이스라고 한다.
원래는 가장 기본적인 방식으로 사용되었지만 이후에 서류봉투로 저장하는 방식인 NoSQL데이터 베이스 방식을 사용하게 되었다.
하지만 아직은 기본적으로 SQL데이터베이스를 기본으로 하고 있다고 한다.

그러면 ORM과 ODM은? ORM은 관계형 데이터 베이스에서 사용이 되고
ODM은 NoSQL방식에서 사용이 된다.

SQL의 대표적인 프로그램은 Oracle, MySQL,Postgres등이 있으며
NoSQL은 Firebase, MongoDB가 있다.

profile
front-end engineer

0개의 댓글