내 사랑 Next.js, 그리고 Nest.js?

Yesung Lee·2022년 6월 17일
0
post-thumbnail

사... 사랑해요..! Next.js

React를 공부하면 할수록 내가 직접 구현한 웹앱이 갖고 싶어졌다. 처음 든 생각은 정적인 개발 블로그 사이트였고 후에 댓글 기능이 있으면 좋겠다 생각해서 CRUD가 가능한 블로그 사이트도 생각해 보았다.

하지만 갓 Typescript와 React를 끝낸 나는 SPA 구조도 익숙하지 않고, Express로만 웹앱을 만들어봐서 쉽지 CSR은 전혀 익숙하지 않았다. 이런 나를 구원해준것이 Nest.js..! 라이브러리의 성격을 띄는 React와 달리 규칙이 존재하는 프레임워크인 Next.js는 조금은 엄격할 수 있는 규칙만 따른다면 거의 모든것을 알아서 다~ 해준다. 이런 점은 협업을 할떄에도 큰 이점이 있겠다고 생각을 했고, 무엇보다 너무나도 쉽고 효율적으로 개발을 할 수 있게 기능을 제공하는 점이 좋았다.

모든게 초면인 Nest.js

Typescript를 사용한다는 점 외에 모든 점이 처음인 Nest.js. Angular 기반, MVC 패턴이 기본 구조로 세팅, Express 위에서 동작 하는 Nest.js는 정말 모든 면에서 새로웠다. 그럼에도 이 프레임 워크를 공부해보고 싶었던 이유는 express를 사용하면서 느낀 단점들 때문이었다.

Express는 개발자에게 많은 자유를 준다. 미들웨어의 구조를 마음대로 만들 수 있고, 어디에 url을 둘것인지, 어디에 컨트롤러 템플릿을 둘지 정할 수 있다. 정말 무한한 자유가 주어진다. 나는 이런 무한한 자유를 “무엇이든 할 수 있게 하지만 무엇도 할 수 없게 한다" 고 말하고 싶다. 전체적인 개발의 구조를 구축하고, 디자인 패턴을 생각한 뒤에 프로그래밍을 시작하는 나에게 이런 자유는 프로젝트를 시작하기 어렵게 만들었다.

Nest.js는 다르다. 규칙과 구조가 있는 Node.js 프레임워크다. 규칙을 따라주면 그 규칙과 구조 위에서 편하게 개발이 가능하다. 데코레이터를 사용해서 편리하게 API를 만들 수 있는 점이 아주 큰 매력이었다. 아직 프로젝트에서 사용해본 것이 아니라서 이 프레임워크의 이점을 드라마틱하게 느끼지 못했지만, 후에 프로젝트를 통해서 느낄 수 있길 바라 본다.

Unit test & E2E test

Nest.js를 공부하면서 해당 프레임워크에서 같이 제공해주는 jest(자바스크립트 테스트툴)를 같이 공부하게 되었다. 먼저 내가 구현한 API 하나하나의 테스트를 만들어보고 전체 커버리지를 확인 하는 방법을 공부했다.

그리고 구현한 API에 대하여 E2E 테스트를 만들어서 처음부터 끝까지 동작에 대해 200 OK 나 404, 400 과 같은 상태가 잘 반환되는지를 테스트 해보았다.

세줄 요약

  • SSR, CSR 이 모두 가능한 Next.js를 공부했다.(사랑에 빠졌다.)
  • Nest.js를 통해 API를 만드는 방법을 공부했다.
  • Unit Test, E2E Test를 만들고 커버리지를 확인해보았다.

추후 계획

  • 개인 프로젝트
  • Cloud에 구축 + Nest.js API로 접근
  • 여러가지 면접용 이론 공부
profile
응애 취준생 개발자

0개의 댓글