13주차 (3)
Express.js의 장점 & 단점 요약
1. 웹 개발의 시작
Express.js는 Node.js를 배우는 과정에서 필연적으로 접하게 되는 웹 서버 개발 라이브러리입니다.
다운로드 수가 많아 강력한 패키지로 인정받고 있습니다.
2. 빠르고 간편한 웹 서버 개발
적은 코드로 테스트 서버를 쉽게 만들 수 있습니다.
몇 줄의 코드로 간단한 웹 서버를 설정할 수 있어 개발이 용이합니다.
3. 복잡한 웹 서버 개발
JSON 데이터를 처리하기 위해 body-parser 같은 미들웨어를 사용해야 합니다.
CORS 설정 및 쿠키 처리를 위해 추가적인 미들웨어가 필요합니다.
4. 레이어드 아키텍처 패턴
레이어드 아키텍처는 시스템을 여러 계층으로 나누어 각 계층이 특정 책임을 갖도록 합니다.
각 계층은 독립적이며, 의존성 주입(DI)을 통해 처리됩니다.
5. Express.js의 단점
다양한 미들웨어를 사용해야 하므로 코드가 점점 복잡해질 수 있습니다.
디렉터리 구조 설계가 필요하기 때문에 초보자가 혼란스러울 수 있습니다.
Nest.js의 등장
1. Nest.js의 소개
Nest.js는 Express의 불편함을 해결해 주는 타입스크립트 기반의 웹 프레임워크입니다.
빠르게 인기를 얻고 있으며, 다양한 기능을 제공합니다.
2. Nest.js의 인기 비결
명령어 하나로 계층 생성: 커맨드를 통해 쉽게 컨트롤러, 서비스, 미들웨어 등을 생성할 수 있습니다.
로직 집중 환경 제공: 개발자가 비즈니스 로직에만 집중할 수 있게 도와줍니다.
오늘 또 enum에 대해서 한번더 복기하는 시간이 있었는데 잘 이해가 안 가서 찾아봤습니다.
enum은 이름이 붙은 상수들의 집합으로, 각 상수는 고유한 값을 가집니다.
주로 관련된 상수들을 그룹화하여 코드의 의미를 명확히 하고, 하드코딩된 값을 피하는 데 사용됩니다.
enum의 장점
가독성 향상: 코드의 의미가 명확해져서 다른 개발자나 미래의 자신이 이해하기 쉽습니다.
타입 안전성: 잘못된 값 할당을 방지할 수 있어 코드의 안정성이 높아집니다.
유지 보수 용이: 상수 값의 변경이나 추가가 용이하여 코드의 유지 보수가 쉬워집니다.
활용예시 :
상태 코드, 방향, 주말/평일 구분 등 다양한 상황에서 유용하게 사용됩니다.
예를 들어, 게임에서 캐릭터의 상태를 관리하거나, API 응답 상태를 정의하는 데 사용될 수 있습니다.
enum은 관련된 상수들을 그룹화하여 코드의 가독성과 타입 안전성을 높이는 강력한 도구입니다. 이를 잘 이용하여 다양한 상황에서 유용하게 사용될 수 있다는 것을 알게 되었습니다!
erd 다이어그램에서도 int string과 같이 enum을 적용시킬수 있다는 것을 알게 되어 이를 이용하여 더 좋은 erd 다이어그램을 만들도록 노력하겠습니다!