티스토리 뷰

SW Project/MEAN Stack

MEAN Stack ?

쟌쥰 2020. 1. 27. 21:24

MEAN Stack (민 스택) 은 Mongo DB , Express JS , Angular , Node JS 로 구성된 웹 개발 환경을 의미합니다.

 

프로그램 개발 환경 구성에서 stack 이라는 말은 많은 사람들이 해당 조합으로 개발을 많이 하여 널리 퍼지게 된 것입니다. 

 

해당 조합으로 개발하였을 때 장점이 많기 때문에 사람들이 많이 사용하는 것 이겠지만 꼭 이 조합을 사용해야 하는것은 아닙니다.

 

MEAN Stack 안의 구성요소들을 각각 살펴보겠습니다.


Mongo DB는 대표적인 NoSQL(Non Relation Database / Not Only SQL) 데이터베이스로 Document-Oriented(문서 지향적) 데이터베이스 입니다.

 

Document

 

Document는 RDBMS 의 record와 유사한 개념으로 JSON Object 형태의 key-value 의 쌍으로 이루어진 데이터 구조로 구성됩니다.

 

그리고 value 에는 다른 document, array, document array 가 포함될 수 있습니다.

MongoDB Document

 

Collection

 

Collection 은 RDBMS의 table과 유사한 개념으로 Document들의 집합으로 이루어집니다.

 

Database

 

Database는 Collection들의 물리적인 컨테이너를 의미합니다.

 

  • Database : 0개 이상의 Collection들의 집합
    • Collection : 0개 이상의 Document들의 집합
      • Document : 1개 이상의 field들의 집합

 

RDBMS 와 MongoDB ( Terms )

RDB(MySQL) MongoDB
Database Database
Table Collection
Tuple / Row Document or BSON document
Column Field
Table Join Embedded Documents & Linking
Primary Key Primary Key (_id)

 

RDBMS 와 MongoDB ( SQL )

RDB(MySQL) MongoDB
Select
select * from users where name="lee" db.users.find({ name: "lee" })
Insert
insert into users ("name", "city") values("lee", "seoul") db.users.insert({ name: "lee", city: "seoul" })
Update
update users set city="busan" where name="lee" db.users.update({ name: "lee" }, { $set: { city: "busan" }})
Delete
delete from users where name="lee" db.users.remove({ name: "lee" })

 

Express JS 는 웹사이트 개발을 위한 Node.js용 framework 입니다.

 

C# - .Net

Java - Spring

Node.js - Express

 

처럼 각각 웹 개발을 위한 효과적인 frameWork 들이 존재합니다.

 

더 자세한 내용이나 API References 는 다음 링크를 통해 공부할 수 있습니다.

https://expressjs.com/ko/

 

Express - Node.js 웹 애플리케이션 프레임워크

Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save

expressjs.com

 


Angular는 SPA(Single Page Application)을 만드는 front-end용 farmework입니다.

 

구글에서 만들고 배포하고 있는 framework 입니다.

 

MEAN Stack 에서 실제 웹사이트에 노출이 되는 부분은 Angular로 만들어진 부분입니다.

 

** Angular 와 Angular JS 는 다른 framework 입니다. 둘다 구글에서 만들었지만 Angular 가 Angular JS 의 후속판이고 용법이 많이 다르고, 하위 호환이 안되기 때문에 이름을 완전히 바꾸어버렸습니다.

https://angular.io/

 

Angular

 

angular.io


Node.js는 JavaScript를 웹브라우저 밖에서 사용할 수 있게 해주는 프로그램입니다.

 

JavaScript는 원래 웹브라우저용 스크립트 언어로 기획, 개발되었습니다.

 

보안을 위해 컴퓨터의 파일에 접근할 수 없다거나 하는 제한이 있고, 브라우저 제어를 위한 상당한 양의 기본 라이브러리가 포함되어 있습니다.

 

node.js를 설치하면 터미널 프로그램(윈도우의 cmd, 맥OS의 terminal등)에서 JavaScript 코드를 바로 실행할 수 있습니다.

 

다른 언어처럼 파일을 조작할 수도 있으며, 브라우저 제어를 위한 라이브러리는 제거되었습니다.

 

MEAN Stack에서는 이 node.js와 JavaScript로 웹사이트용 서버를 만듭니다.

https://nodejs.org/ko/

 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함