MEAN Stack 이란?
MongoDB
Express
- 웹 서버로의 요청
- 요청에 대한 웹 서버의 응답
- 웹 애플리케이션 구성하기 위한 체계화된 디렉토리 구조
AngularJS
AngularJS는 HTML과 HTML에 삽입되어 나타나는 데이터를 함께 묶어서 표현해 주기 위해 사용된다. 웹페이지의 데이터 값에 변화가 생길 때, AngularJS는 변화를 곧바로 적용하여 업데이트를 가능하게 해준다. 이러한 방식을 Two-way Binding이라 부른다. (새로고침을 하지 않아도 웹창이 업데이트 되는 것)\
최근에는 Google Angular 팀에서 AngularJS 2를 내놓았다. 이는 AngularJS 1을 migration하지 않는 완전 새로운 프레임 워크를 내놓았기에 개발자들 사이에서 많은 의견이 오고갔다. 가장 큰 특징은 기존에 있던 Controller 기능은 사라지고, 웹을 Component화 시켰다. 기능을 모두 Component화 시켜 레고블록과 같이 조립시키기 위한 것이다.
이를 위해 AngularJS1의 주요 기능인 Contorller, $cope, modeule, jqlite같은 요소들이 삭제되고, AtScript가 추가되었다.
NodeJS
NodeJS는 서버를 구축하기 위해 사용되는 프레임워크이다. 웹 서버와 웹 서버에서 구동되는 애플리케이션 구축을 도와준다. NodeJs는 HTTP 서버 라이브러리를 포함하고 있는데, 이는 웹 서버를 실행시키기 위한 Apache 같은 서버 프로그램이 필요하지 않다는 것이다. 이에 Apache와 같은 서버 운용정책에 종속 적이지 않고, 다양하게 개발하는 것이 가능하다. 정책이 없는 만큼 복잡하기에 위에 적은 Express가 존재한다.
NodeJS의 특징 중의 하나는 단일 쓰레드 환경을 도입한 것이다. 이에 동시접속자가 많아도 느려지지 않게 서비스를 구성할 수 있다. 이를 위한 것은 앞선 키워드 중 'Non-blocking I/O'와 'Event Loop'를 참고 바란다.
참고
'IT & 개발 > 웹키워드' 카테고리의 다른 글
[웹키워드#8] URI, URL, HTTP, SSL (0) | 2017.01.03 |
---|---|
[웹키워드#7] 하이브리드앱, ionic (0) | 2016.12.31 |
[웹키워드#5] Framework (Framework7, Spring) (0) | 2016.12.28 |
[웹키워드#4] MVC, MVP, MVVM (0) | 2016.12.28 |
[웹키워드#3] Chrome V8, Non-blocking I/O, Event Loop (0) | 2016.12.27 |