Node.js | Node.js의 시작 (feat. Express)

edie_ko·2020년 12월 17일
0

Node.js

목록 보기
2/2
post-thumbnail

자 오늘은 몇 시간 전 Node.js를 시작한 노둥이의 첫 TIL을 정리해보겠다..
(이 글은 Wecode notion 자료 그리고 멘토 준님과 함께합니다..)

Node.js가 무엇일까?

Node.js란 간단하게 비동기 이벤트-기반 JavaScript 런타임 환경이다.
즉 Asynchronous event-driven JavaScript Runtime environment...


hmmm... okay~

1. 비동기 (Asynchronous)

비동기에 대해선 앞서 정리한 벨로그에 설명해두었다.
자바스크립트는 기본적으로 싱글 스레드 언어이기 때문에 효율적인 작업 처리를 위해 비동기를 사용한다.

동기: 하나의 작업이 완료된 후 다음 작업으로, 순차적으로 실행하는 방법
비동기: 작업이 완료되지 않더라도 다른 작업이 실행될 수 있도록 처리하는 방법

2. 비동기 이벤트-기반(Event-driven)

노드에서의 이벤트는 하나의 작업 요청이다. 노드가 비동기적으로 이벤트를 처리한다는 것은 한 명의 클라이언트에 대한 작업이 완료되지 않더라도 다른 클라이언트의 요청을 받는다는 의미이다.

노드의 싱글 스레드는 이벤트(작업 요청)을 처리(응답)해주는 역할을 할 뿐이다.

3. JavaScript 런타임 환경

JavaScript 런타임 환경은 Chrome V8 엔진이 담당한다. 싱글 스레드 기반의 동작 원리를 이해하고 JavaScript로 코드를 작성하면 헤비한 작업들은 이 Chrome V8 엔진이 처리해준다.

Node.js로 서버 열기

먼저 Express가 없는 Node.js로 서버를 열어보자.


와... 서버가 열렸고, httpie로 200OK와 헤더의 메시지를 확인할 수 있다.. (신기해🤭)

Express는 뭔가요?

여기에 Express를 사용해보자.
express는 노드 개발자들이 사용하는 백엔드 프레임워크이고, 라우팅과 로직의 모듈화를 위해 사용된다.
require는 Node.js에서 다른 패키지를 불러올 때 사용하는 키워드다. express를 불러준다.


코드 양만 봐도 간단해진 것을 알 수 있다.

라우팅까지 확인해보자.

이런 모듈을 sendPosts.js 라고 작성해주었다.
그리고 http localhost:8000/products 엔드포인트로 이동해보면,

export 해주었던 모듈도 잘 나오는 걸 확인할 수 있다.

//참고자료

  • 위코드 Node.js 노션
  • https://developer.mozilla.org/ko/docs/Learn/Server-side/Express_Nodejs/Introduction (꼭 읽어보기!)
  • https://www.zerocho.com/category/NodeJS/post/578b5a36d8316615006bee0f
profile
내 이름 고은정, 은을 180deg 돌려 고긍정 🤭

0개의 댓글