티스토리 뷰
[Node.js]NestJS+Express.js로 게시판 만들기-(1)Hello World!
Vagabund.Gni 2023. 12. 11. 13:16목차
지난 글에선 NestJS와 그 특징, 장/단점에 대해 알아보았다.
이번 글에선 Express.js와 Fastify를 간단히 비교한 뒤, 기본적인 설치까지 진행해 보겠다.
Express.js
Express.js는 Node.js의 웹 애플리케이션 개발을 위한 가장 인기 있는 프레임워크다.
2010년에 처음 출시된 이후, Express는 그 간결함과 유연성으로 많은 개발자들에게 선택되어 왔다.
Express.js의 주요 특징을 정리하면 다음과 같다.
- 간결하고 유연한 라우팅
Express는 REST API를 쉽게 구축할 수 있게 해 주며, URL 경로와 HTTP 메서드를 기반으로 하는 강력한 라우팅 시스템을 제공한다. - 다양한 미들웨어 지원
Express의 강력한 미들웨어 생태계는 로깅, 요청 본문 파싱, 쿠키 처리 등 다양한 기능을 애플리케이션에 쉽게 통합할 수 있게 해 준다. - 커스터마이징 및 확장성
Express는 매우 유연하며, 필요에 따라 다양한 확장 기능을 추가할 수 있다. - 큰 커뮤니티 및 문서
Express는 방대한 커뮤니티와 잘 정리된 문서를 갖고 있어, 학습 자료와 지원이 풍부하다.
Fastify
Fastify는 2017년에 처음 등장한 상대적으로 새로운 프레임워크이다.
Fastify의 목표는 Express의 간결함을 유지하면서도 훨씬 빠른 성능을 제공하는 것이며, 주요 특징은 다음과 같다.
- 빠른 성능
Fastify는 최적화된 코드와 빠른 JSON 직렬화로 인해 Express보다 높은 성능을 제공한다. - 스키마 기반의 요청 및 응답 검증
Fastify는 JSON Schema를 사용하여 요청 및 응답을 검증하며, 이는 API를 더 안전하고 신뢰할 수 있게 만들어 준다. - 내장된 직렬화 및 검증 도구
기본적으로 내장된 데이터 직렬화 및 검증 도구를 제공하며, 이를 통해 별도의 플러그인 없이도 효율적인 API 구축이 가능하다. - 플러그인 시스템
Fastify는 플러그인을 통해 기능을 확장할 수 있으며, 이를 통해 커뮤니티에서 제공하는 다양한 추가 기능을 활용할 수 있다.
Express.js vs. Fastify
계속해서 두 프레임워크를 비교해 보자.
- 성능
Fastify는 Express보다 향상된 성능을 제공한다. 특히 JSON 처리와 관련된 작업에서 더 빠른 처리 속도를 보인다. - 유연성 및 확장성
Express는 그 유연성과 미들웨어를 통한 확장성으로 유명하다.
반면, Fastify는 성능 최적화와 함께 스키마 기반의 검증 기능을 제공하여 API 개발의 안전성을 높일 수 있다. - 커뮤니티 및 지원
Express는 오랜 역사와 커다란 커뮤니티를 가지고 있어, 다양한 문제에 대한 해결책을 쉽게 찾을 수 있다.
Fastify도 성장하고 있지만, Express만큼의 커뮤니티 크기는 아직 가지고 있지 않다. - 학습 곡선
Express는 매우 직관적이고 간결하여 새로운 사용자가 쉽게 접근할 수 있다.
Fastify도 사용하기 쉬운 편이지만, Express에 비해 상대적으로 적은 자료와 예제가 있어 학습 곡선이 조금 더 가파르다.
요약하자면 두 프레임워크 모두 NestJS와 잘 통합되며 성능의 Fastify, 커뮤니티의 Express라고 할 수 있다.
나는 지난번 글에서 Express.js를 이용해 개발 연습을 진행했으므로 이번엔 Fastify를 잡기로 결정했다.
Fastify에 멘탈을 탈탈 털린 후 일단 Express.js를 이용해 게시판 만들기를 진행하기로 했다.
Hello World!
끝으로 기본적인 설치 및 환경 구성을 간결하게 알아보자.
이 글에서는 기본적으로 node.js와 npm이 설치되어 있다고 가정한다.
터미널에 다음과 같이 입력해 NestJS를 설치한다.
npm install -g @nestjs/cli
이어서 다음과 같이 입력해 Fastify를 설치해 준다.
npm install @nestjs/platform-fastify
계속해서 다음과 같이 입력하면,
nest new nest_practice
짠. 이렇게 구성된 프로젝트가 자동으로 생성된다.
다음으로 해당 폴더에서 터미널을 열고
npm install
을 입력해 필요한 종속성을 모두 설치한다.
이어서 main.ts 파일을 아래와 같이 수정하면 메인 코드를 실행시키고 localhost:3000으로 접근하면
짠. 위 사진과 같이 매우 간단하게 Hello World! 를 볼 수 있다.
여기까지 하면 기본적인 설치와 환경 설정은 끝이다.
다음 글부터는 늘 하던 대로 게시판을 한 땀 한 땀 만들어갈 예정이다.
끝!
'JavaScript > Node.js' 카테고리의 다른 글
[Node.js]NestJS+Express.js로 게시판 만들기-(2)데이터베이스 연동 (0) | 2024.01.30 |
---|---|
[Node.js]NestJS (0) | 2023.12.04 |
[Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(9) - 이미지 리사이징, S3 버킷에 이미지 업로드 (0) | 2023.08.13 |
[Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(8) - AWS, Github Actions, NGINX를 이용한 자동배포(2/2) (0) | 2023.08.09 |
[Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(8) - AWS, Github Actions, NGINX를 이용한 자동배포(1/2) (0) | 2023.08.04 |
[Node.js]TS, Express, MongoDB, MVC로 게시판 만들기(7.5) - 페이지네이션 (0) | 2023.07.31 |
- Total
- Today
- Yesterday
- 맛집
- 중남미
- Algorithm
- 세계일주
- BOJ
- Backjoon
- 리스트
- 스프링
- 기술면접
- 남미
- 유럽
- 백준
- 세모
- Python
- 세계여행
- 스트림
- 유럽여행
- java
- 동적계획법
- RX100M5
- 알고리즘
- 자바
- 면접 준비
- 파이썬
- 칼이사
- 지지
- 야경
- spring
- 여행
- a6000
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |