본문 바로가기

Sparta x 이노베이션 캠프/Computer Science

TIL) React : DOM, 서버리스

반응형

DOM이란?

Document Object Model의 줄임말로서, 문서 객체 모델이다. 즉, HTML문서를 객체화 한 것이다. 

이 객체는 프로그래밍 언어가 DOM구조에 접근할 수 있는 방법을 제공하여, 문서구조나 스타일, 내용 등을 변경 할 수 있게 해준다.

DOM은 nodes, objects로 문서를 표현하는데 DOM의 객체지향 표현이며, 이는 Javascript와 같은 스크립트 언어로 접근이 가능하다.

 

DOM을 수정하는데 사용되는 property, method, event는 모두 objects로 표현이된다.

DOM이 있기 때문에, javascript가 웹페이지 or XML에 관련된 정보를 가질 수 있다.

또한 DOM은 프로그래밍 언어와 독립적으로 디자인 되어, javascript뿐만 아니라 python과 같은 다른 스크립트언어로도 제어가 가능하다.

DOM을 제어하는 시점은, inline script 요소를 넣거나, 문서가 다 로딩되었을 시점에 window나 document object에 접근하여 사용한다.

 

DOM의 핵심 Interfaces

 

window                                                                                                                           브라우저 자체


document                                                                                                                      root document


                           Node


                         Element


Serverless 란?

통상적으로 "서버를 직접 관리할 필요가 없는 아키텍쳐"를 말한다.

일반적으로 서버를 만들게 된다면, 단순히 호스팅 하는 것 뿐 아니라, 안정적으로 무중단으로 유지되고, 부하를 견딜 수 있도록 추가적인 관리가 필요하다. 예를들면 프로비저닝, 스케일링 등을 해주어야하지만, 서버리스는 이런것들을 자동으로 관리해주고, 개발자는 배포를 위한 코드만 패키징하면 된다.

 

Baas & Faas

일반적으로 서버리스 컴퓨팅 서비스는 두가지 그룹으로 나누어 볼 수 있다.

Baas: Backend as a Service (Firebase, Amplify...)

Faas: Function as a Service (AWS Lambda, Azure Functions, Google Cloud...)

 

Baas는 Firebase와 Amplify를 많이 사용해보아서 친숙한데, 말 그대로 백엔드에 필요한 거의 모든 서비스를 제공한다. 개발자는 API를 호출하며 서비스를 사용하면 된다.

FaaS는 개발자는 stateless하고 일회성의 함수를 작성하게 되고, 이벤트 트리거에 의해서 실행된다. 구현한 함수는 API 게이트웨이를 통해서 처리가 된다.

 

활용 사례

직접 사용해보진 않았지만, 가장 흔하게 사용되는 용도가 이미지를 리사이징하는 등의 처리이다.

대용량의 이미지가 도착할 경우, 표준에 맞게 변환한는 테스크를 말한다.

또한 챗봇, 예정된 테스크, 비지니스 로직과 관련되서 사용하기도 한다고 한다.

 

서버리스의 장, 단점

장점

1. 서버를 구축하지 않아도 됨으로써 생산성 향상

2. 프로비저닝 및 관리 비용 x

3. 24시간 돌아가는것이 아니라, 사용한 만큼 지불하는 방식으로 컴퓨팅 시간에 대한 비용말 지불

단점

서버에 대한 제어권이 낮다. 제공해주는데로 사용해야한다.

제공업체에 대한 종속성이 생긴다.

 

 

반응형