1. Node 개념잡기
1.1 백엔드
서버에서 만들어낸 데이터는 여러 목적으로 사용할 수 있습니다.
서버에 데이터를 담기 위해서는 여러 가지 규칙이 필요합니다. 예를 들어 특정한 데이터를 저장하기 위해서 사용자 인증이 필요할 수도 있고, 등록한 데이터의 검증방법, 데이터 다양성에 대한 구분 등 을 고려해야 합니다.
데이터를 조회할떄도 동일합니다. 어떤 종류의 데이터를 몆개로 보여줄 지 그리고 또 어떻게 보여줘야 하는지 등 로직을 만드는 작업을 서버 프로그래밍 또는 백엔드 프로그래밍이라고 합니다.
백엔드 프로그래밍은 여러가지 환경에서 언어에 구애받지 않고 수행할 수 있습니다.
PHP, 파이썬, 자바, 자바스크립트, 루비 등과 같은 언어로 구현이 가능합니다.
1.2 Node.js
처음에는 자바스크립트를 웹 브라우저에서만 사용 했었습니다. 시간이 지나면서 자바스크립트는 계속 발전하였고, 구글이 크롬 웹 브라우저를 소개할 때 V8이라는 자바스크립트 엔진을 공개하기도 했습니다. 자바스크립트 엔진을 기반으로 웹 브라우저뿐만 아니라 서버에서도 자바스크립트를 사요아 할 수 있는 런타임이 개발하게 되었는데, 이것이 지금의 Node.js 입니다.
1.3 Koa
Node.js 환경에서 웹 서버를 구축할 때는 보통 Express, Hapi, Koa 등의 웹 프레임워크를 사용합니다.
이번 챕터에서는 Koa 웹 프레임워크를 사용해 보겠습니다.
Koa 프레임워크는 Express 프레임워크를 개발한 팀이 개발하였습니다. 기존 Express에서 고치고 싶은 점을 개선하면 설계구조가 바뀌게 되어서 개발 팀이 완전히 새로운 프레임워크를 개발한게 Koa 프레임워크 라고 합니다.
Express는 미들웨어, 라우팅, 템플릿, 파일 호스팅 같은 다양한 기능을 자체적으로 지원하는 반면, Koa는 미들웨어 기능만 갖추고 있으며 나머지는 별도의 라이브러리를 적용허ㅏ여 사용합니다. 따라서 Koa는 개발자가 필요한 기능만 붙여서 사용할 수 있기 때문에 Express에 비해서 가볍다는 장점이 있습니다.
추가로 Koa는 es6 자바스크립트 문법인 async/await 문법을 정식적으로 지원하기 떄문에 비동기 작업을 더 편하게 관리할 수 있습니다.
'백엔드 > Node.js' 카테고리의 다른 글
[Node] Koa 프레임워크 [2] (0) | 2022.08.08 |
---|