일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹게임
- JavaScript
- PL/SQL
- Spring
- Cookie
- tiles.xml
- 배포
- 웹소켓
- 알고리즘
- Ajax
- 블록체인
- node.js
- autowired
- 암호화
- Servlet
- websocket
- jQuery
- model1
- EC2
- HTML
- AWS
- express
- phaser
- RDS
- SQL
- JSP
- CSS
- 비트코인
- docker
- 도커
- Today
- Total
記錄
생활코딩_Node.js) MEAN Stack 본문
MEAN Stack의 전반적인 플로우
자꾸 이것 저것 하다보면 내가 지금 공부하는 것이 어떤 과정인지 큰 흐름을 놓칠 때가 많다. 그래서 용어에 대한 분명한 정의가 중요한 것 같다. 큰 그림에 대한 이해도 없이 부분 부분만 공부하는 것은 뭔가 불완전한 학습이라는 느낌이 들기 때문이다.
Express에 대한 학습을 하던 중 정확히 이게 무엇인지에 대한 명쾌한 답을 못내리는 나 자신을 발견하고 MEAN Stack 전반에 대해 짚고 넘어가야 겠다는 생각이 들었다.
그래서 처음 찾아본 것은 Node.js이고 W3school이 매우 잘 설명해놓은 것 같아서 여기 옮긴다
What is Node.js?
Node.js is an open source server environment
Node.js is free
Node.js runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
Node.js uses JavaScript on the server
=> 오픈 소스이며 서버사이드 환경 / 공짜 / 다양한 OS에서 작동 가능 / 자바스크립트를 언어로 채택 (V8 기반)
=> Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼 (출처 : 위키)
Why Node.js?
Node.js uses asynchronous programming!
A common task for a web server can be to open a file on the server and return the content to the client.
=> Node.js는 비동기 프로그래밍을 사용한다. 흔히 웹서버에서 일어날 수 있는 파일을 열고 컨텐츠를 클라이언트에게 돌려주는 일을 아래에서 예시로 들면서 Node.js의 우월성을 설명
Here is how PHP or ASP handles a file request:
Sends the task to the computer's file system.
Waits while the file system opens and reads the file.
Returns the content to the client.
Ready to handle the next request.
=> PHP와 ASP는 요청하고, 파일 열고, 컨텐츠 리턴하고, 다음 request에 대비
Here is how Node.js handles a file request:
Sends the task to the computer's file system.
Ready to handle the next request.
When the file system has opened and read the file, the server returns the content to the client.
Node.js eliminates the waiting, and simply continues with the next request.
=> Node.js는 컴퓨터의 파일 시스템에 task를 요청하고 바로 client의 request에 대비하다가 파일 시스템이 파일을 열고 파일을 읽기를 끝냈다면 그 때에 파일의 컨텐츠를 client에게 제공(callback 함수의 개념)
Node.js runs single-threaded, non-blocking, asynchronously programming, which is very memory efficient.
출처 : https://www.w3schools.com/nodejs/nodejs_intro.asp
Express
=> Express.js는 Node.js의 핵심 모듈인 http와 Connect 컴포넌트를 기반으로 하는 웹 프레임워크이다.
=> 짧게 Node.js 웹 애플리케이션 프레임워크
Angular js
AngularJS("Angular.js" 또는 "AngularJS 1.X")는 자바스크립트 기반의 오픈 소스 프론트엔드 웹 애플리케이션 프레임워크의 하나로, 싱글 페이지 애플리케이션 개발 중에 마주치는 여러 문제들을 해결하기 위해 개발되었음(출처 : 위키)
MongoDB
몽고DB(MongoDB←HUMONGOUS)는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 문서들(몽고DB는 이러한 포맷을 BSON이라 부름)을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼간다. 이로써 특정한 종류의 애플리케이션을 더 쉽고 더 빠르게 데이터 통합을 가능케 한다. (출처 : 위키)
=> 그만큼 RDBS가 가지는 장점을 버리게 되는 것은 단점이라고 한다
'Web > Node.js' 카테고리의 다른 글
생활코딩_Node.js) 정적 파일 서비스 (0) | 2018.07.29 |
---|---|
생활코딩_Node.js) Express 기초(routing) (0) | 2018.07.29 |
생활코딩_Node.js) Callback 함수 (0) | 2018.07.29 |
생활코딩_Node.js) NPM (0) | 2018.07.27 |
생활코딩_Node.js) IP Address, Port, Node js 기본 코드 (0) | 2018.07.27 |