프론트엔드 개발자가 알아야할 웹 지식
•
우리는 브라우저에서 생기는 모든일들을 처리할 수 있어야한다
•
NodeJS를 이용해 서버를 구성하는 경우 서버쪽 지식도 알아야한다
지금의 내 생각에서는 NextJS를 이용할때 BFF, MFA를 구축하다보면 프론트엔드 개발자도 결국 서버를 구성해야하고 만들어야한다고 생각한다. 그렇기에 서버쪽 지식은 필수라고 생각한다\
•
유저가 사이트에 접속을 했을때 index에 접근을 하게 된다. 이때 JS, Image, Data, cookie등을 가져가게 된다. 이때 JS를 가져가서 랜더링을 시키는데 이걸 하는게 FE개발자가 하는 역할이라고 볼 수 있다
•
Node 서버는 전체에 대해 어떻게 서빙을 할지 결정을 하는 역할을 할 Server를 만든다
•
유저가 여려명이 접속을 하고 있다면 흔히 말하기로는 "트래픽이 몰린다"라고 한다.
•
트래픽이 몰리다보면 서버의 사용량이 많아지는데, 이때 너무 많은 트래픽이 생기면 서버가 죽을수도 있다
•
우리는 서버에 대한 모니터링을 실시해야하는데 이 행위를 Status Check, Health Monitoring 이라고한다.
모니터링은 어떻게?
•
Server가 죽지 않게 하려면 scaling이 가능해야 한다.
Scaling?
•
서버의 가용성을 실시간으로 볼 수 있어야 한다
•
Vercel이나 AWS를 사용해서 배포를 한다고 하면 기본적으로 서버의 가용성을 보여준다
•
만약 서버 가용성이 100%가 됬을때, 서버를 늘릴지 죽일지는 PO or 비지니스팀과 상의를 해야한다(비용 문제)
트래픽?
•
트래픽은 서버에서 response를 내려줄때 생기는 것에 가깝다
•
리소스들을 가져가게가면서 생기는게 트래픽이다
•
이 트래픽을 컨트롤 하는 방법 중 하나는 리소스 크기를 줄이는 것도 방법이다
◦
예를 들면 Image 최적화, 컴포넌트 최적화 등
프론트엔드 개발자는 클라이언트에 가깝기때문에
웹에서 일어나는 모든일들을 백엔드 개발자보다는 더 가깝게 알기 때문에 그 문제들을 해결하기 위해 백엔드 개발자분과 협업을 해 해결해 나가야한다