DOM,MongoDB - TIL 10일차

sokojh·2022년 4월 14일
0

📚DOM(Document Object Model)

오늘은 Javascript로 DOM을 조작하는 것에 대해 배웠다.

배우면서 정말 재미가 있었다. 슬라이더도 만들고 setinterval로 자동으로 넘기는 포토 슬라이드, 버튼을 누르면 리스트가 추가되고 삭제되고 많은 인터랙티브한 부분들을 만들어 볼 수 있어서 매우 흥미로웠다.(css추가까지 가능해서 재미있었다 ㅎㅎ)

그러나

실습을 해보면서도 뭔가 계속 개념이 부족한 느낌이 들어서 다시 찾아보고 정리하기로 했다.
DOM에서 중요한건 각 노드들의 원리가 중요한 것 같았다.
예를 들어 부모노드-자식노드 등 선택을 얼마나 잘하느냐에 따라 문제가 쉬워지고 어려워지고 하는 느낌이라 기초적인 선택부터 다시 보기로 했다.

DOM 정리

DOM을 조작하는 이유는 결국 클라이언트가 잘 상호작용 할 수 있도록 그려주기 위해서 조작한다.
DOM을 잘 만질 수 있다는 것은 모든 태그에 내용을 집어넣거나 빼거나 변형하는 인터랙티브를 잘한다는 이야기이다.
그래서 이번에 DOM을 정리하긴 했지만, 심화해서 더 공부할 예정이다.

MongoDB🌱

팀스네일 스터디로 인해, 발등에 불이 떨어졌다 ㅋㅋ..

포토캘린더라는 미니 프로젝트를 제작하게 되어서, 프로젝트 본격 시작인 다음주 월요일이 되기전에 어느정도 알아놔야 설계도 가능하니,
마음이 조금 급해졌다. 이미 MongoDB로 프로젝트를 진행 한적이 있지만 그 프로젝트로부터 7개월이 지났기 때문에(기초도 부족한 상태로 진행한점도 있다.) 이번에 확실하게 기초부터 다시 하기 위해 엘리스 플랫폼을 이용해 공부를 시작했는데, 생각보다 잘 가르쳐줘서 놀랬다.
알려주는 강사분도 그렇고, 자료 퀄리티도 높아서 이해하기가 쉬웠다.

MongoDB의 특징

noSQL

단어 뜻에 모든 내용이 다 나와있다. NO 없다는 뜻이다. SQL 구문이.

즉, RDBMS인 Mysql, ORACLE DB와 완전히 다른 구조로 만들어진 DB이다.

그럼 SQL구문이 없으니 어떻게 사용하냐면,

무려! JS 문법과 유사하게 사용 가능하다. 이런 이유로 요즘 많은 기업에서도 프론트, 백엔드 모두 협업하기가 좋으니 많이 사용한다고 한다. 대표적인 예로 MREN 프로젝트가있다. MongoDB, React.js, Express, Node.js 프로젝트 약자이다.
MERN 프로젝트의 모든 프레임워크들이 JS기반이라 풀스택으로도 가능하고 서로 협업도 빠르게 될 수 있기 때문에 많이 선호한다.

BSON

JSON이라는 데이터 전달 타입이 있는데, 웬만한 웹 데이터 전달은 JSON이 관장한다. 그런데 MongoDB도 JSON과 거의 유사한 BSON라는 것을 쓰고 따로 데이터 변환 없이도 웹으로 통신 할 수 있기 때문에 매우 편리하다고 한다.

태생이 분산 시스템

RDBMS같은 경우는 처음부터 분산이라는 상황을 염두해놓고 나온 DB가 아니다보니 많은 트랙픽이 발생하여, 다른 서버로 부하를 분산해야 할때, 매우 힘들고 어렵다고 한다. 하지만 MongoDB는 2009년 처음 만들어졌을때 부터 분산 시스템을 염두해두고 만들어졌어서 기본 설정 자체가 분산 시스템에 맞게 적용되어있다. 물론, 대규모 부하를 받지 않는 파일럿 프로젝트 같은경우는 쓸데없는 상황이 아닌가 싶지만, 파일럿 프로젝트가 잘되어서 사람이 많이 들어오더라도 바로 확장가능한 장점이면 전자의 단점은 가려진다.

@ 업데이트 예정

profile
데이터팀에서 백엔드-데이터 엔지니어로 일하고 있습니다.

0개의 댓글