[DevNote] 0130

Noah Ko·2022년 6월 18일
0

DevNote

목록 보기
5/31
post-thumbnail

Weekly I Learn (DOM, 서버리스)

1. DOM이란 무엇인가.

DOM : Document Object Model

  • DOM이란 브라우저가 HTML 웹페이지를 계층화하는 트리구조로 인식하는 객체 모델이다.
  • 여기서 객체화란 순서에 따라 의미를 부여하는 것이다. 아래 그림 참조.


  • DOM은 이렇게 TREE 형식의 자료 구조를 갖는다. 말하자면 가계도와 같은 느낌.
  • 먼저, 하나의 root(뿌리) node에서 시작된다.
  • tree에서는 위쪽의 노드를 부모(parent) 노드, 아랫쪽 노드를 자식(child) 노드라고 한다.
  • root node는 가장 위에서 시작되는 node이니까 parent(부모)가 없는 node가 되고, 이를 뿌리(root) node 라고도 부른다.
  • 반대로, children(자식)이 없는 node를 잎(leaf) node라고도 한다. 뿌리(root)에서 시작해서 잎(leaf)에서 끝나는 것!

Node란 tree 구조에서 root 노드를 포함한 모든 개개의 개체를 node라고 표현한다.
head, body, title, script, h1, HEADER-1 등의 태그뿐 아니라 태그 안의 텍스트나 속성 등도 모두 node에 속한다.

  • 이러한 이유로 아래와 같이 Javascript가 DOM을 통해 HTML에 접근할 수 있게 되는 것이다.
document.getElementByTag("h1")

2.서버리스


  1. 서버리스는 무엇인가.
  • Sever+Less라는 말 때문에 서버가 없는 백엔드라고 이해할 수 있지만, 그것은 불가능한 이야기다. 최소한 코드가 저장되어있는 곳이 있기 때문에 서버는 존재하다.
  • 그렇기 때문에 서버리스는 서버가 없는 것이 아니라, 서버를 직접 관리하지 않는다는 뜻이다.
  1. 서버리는 왜 탄생했는가.
  • 과거에는 직접 서버를 사서 물리적 공간을 차지하며 가동을 위해서는 전기가 필요한 시기가 있었다. 말그대로 수동으로 진행되던 시기였다.
  • 그러던 중, 아마존이 등장하여 EC2를 선보이고 실제 서버를 사서 두는 대신 아마존이 관리해주는 서버를 살 수 있게 된 것이다.
  1. 서버리스의 장점
  • 서버리스가 아닌 경우에는 서버가 24/7 돌아가고 있다. 언제나 요청에 응답할 준비를 하고 있는 것이다.
  • 하지만 서버리스는 백엔드를 작은 함수 단위로 쪼개어 그 함수를 서버에 올리게 되는데, 리퀘스트가 올 때 그 함수가 실행되었다가 다시 수면 상태로 돌아가게 된다.
  • 이렇게 됨으로써, 서버의 비용이 혁명적으로 저렴해 진것이다.
    이전에는 유저가 0명이든 100명이든 같은 비용을 지불 했다면, 지금은 함수가 실행되는 만큼만 비용을 지불하면 되는 것이다. (1백만개의 함수 수행 = 20센트)
  1. 서버리스의 단점
  • 첫번째 서버리스의 단점은 'cold start'이다.
  • 우리가 서버에 올려놓은 함수는 리퀘스트가 있기 전까지는 쉬고 있는 상태이기 때문에, 리퀘스트가 왔을 시 그것을 수행하는데 시간이 필요하다는 것이다. (1밀리세컨드정도)
  • 두번째 단점은 해당서버에만 너무 의존하게 된다는 것이다. AWS의 서버를 이용하게 되면 그 서버만 이용하게 되기 때문에, 다른 서버리스의 서비스를 이용하는것이 간단하지 않다는 것이다.
  1. 사용시 유의할 사항.
  • 사이드 프로젝트를 수행 할 때 도움이 될 것이다. 설정을 신경쓰지 않고 코드에만 집중할 수 있기 때문이다.
  • 또한 자신이 운영하고자 하는 서비스에 따라 서버리스가 좋을 수도 나쁠 수도 있기 때문에 신중한 고민이 필요해보인다.
profile
아코 자네 개발이 하고 싶나

0개의 댓글