Spacemates프로젝트를 진행하게 되면서 개발 공부를 시작하였다. Flutter부터 공부를 시작하면서 차근차근 필요한 내용들을 배우고 있던 중 개발에 대한 전반적인 지식을 먼저 쌓아보고 싶었다. 프론트와 백엔드의 관계와 통신이 필요한 어플리케이션의 흐름 등 하나의 코드가 아닌 전체적인 흐름이 궁금하였다.

어플리케이션의 간단한 통신흐름을 알아보자

이렇게 전체적인 통신흐름을 알고나니 Node.js와 DataBase의 기본적인 개념에 대해 더 깊이 공부해 보고 싶었다. 이번 페이지에서는 Node.js에 대한 지식과 Node.js의 내부 동작들에 대해 알아보려고 한다.

Node.js

Node.js란?

Node.js의 장점

Node.js로 할 수 있는 것들?

The Internals of Node.js

출처

Node.js


Node.js란?

                                                        Node.js 공식 사이트에서 내린 Node.js의 정의

                                                    Node.js 공식 사이트에서 내린 Node.js의 정의

일단 시작부터 모르는 단어가 우수수 쏟아졌다. 대체 V8, 엔진, 런타임은 뭘까?

뒤의 어려운 말들은 이제부터 차근차근 알아보도록 하자. 혹시 중간 중간 모르는 단어가 나온다면 신경쓰지말고 그냥 넘어가도록 하자. 뒷부분에 조금씩 내용이 나올 것이다.

Node.js의 장점

Node.js는 확장성 있는 네트워크 어플리케이션 개발을 위해 설계되었다고 한다. 즉, 서버를 위해 설계된 플랫폼이라는 것이다. Node.js의 가장 큰 장점은 위에서 나왔듯이 이벤트 기반, Non-Blocking I/O라고 할 수 있다.

단일쓰레드 이벤트 루프 기반 비동기방식(Non-Blocking I/O)