nest
[ NestJS + mongoose ] virtual field에 대하여 알아보자
안녕하세요? 수구리입니다. 정말 오랜만에 또 포스팅을 하게 되었습니다! 이번 포스팅에서는 NestJS와 mongoose에서 virtual field에 대하여 알아보려고 합니다. 우선 간단하게 설명하자면,, 예를 들어 어떤 한 유저가 SignUp을 한다고 가정해봅시다. 그러면 이 유저는 ID, PW 등등 자신의 정보를 입력하고 DB에 Save를 하게 됩니다. Save 이후, 성공적으로 Data를 저장했다면 입력된 정보를 return 해주는 경우가 있다고 해봅시다. Save 성공 이후, 만약 이 유저의 ID를 비롯한 모든 정보가 다시 return이 된다면 큰일이 나겠죠?? 따라서 이러한 문제를 해결하기 위해서 mongoose에서는 virtual field를 제공합니다. DB의 collection에는 존재하지..
[ Nest ] postgresDB를 이용한 CRUD 앱 만들기 (2)
안녕하세요? 수구리입니다. 이번 포스팅에서는 지난 포스팅에 이어서 CRUD 앱 만들기를 이어가 보도록 하겠습니다. 이전에 지난 포스팅에서 DTO라는 것을 잠깐 알아보았었는데요~ 좀 더 자세히 짚고 넘어가 보도록 하겠습니다. [ DTO 란 ? ] Data Transfer Object라고 하며, 객체와 Eneity를 매핑해 주는 것을 의미합니다. 즉, 계층간 데이터 교환을 위한 객체를 의미하며 DB에서 데이터를 얻어 Controller 또는 Service에게 전달하는 객체를 의미합니다. 예를 들어, 회원 가입을 위해서 사용자가 id, password, email, address, phone 등등 다양한 정보를 POST 요청을 보낸다고 생각해봅시다. 그러면 Controller에서는 대충 아래와 같이 코드가 구..
[ Nest ] postgresDB를 이용한 CRUD 앱 만들기 (1)
안녕하세요? 수구리입니다. 지난 Nest 포스팅에서 postgres 설치를 하고, pgAdmin을 통해서 Server와 DB까지 생성해보았으며, 프로젝트에서 postgres 모듈을 사용하기 위해 설치까지 진행해보았습니다! 지난 포스팅을 참조해주세요! 2021.11.16 - [프로그래밍/Nest JS] - [ Nest JS ] PostgreSQL 설치 pgAdmin으로 Server와 DB를 구축해보자 [ Nest JS ] PostgreSQL 설치 pgAdmin으로 Server와 DB를 구축해보자 안녕하세요? 수구리입니다. 이번 포스팅에서는 PostgresSQL 이라는 DB를 소개하고 설치법과 Nest 프로젝트에 연동하는 방법에 대해서 알아 보자! 어느 곳에서든지 DataBase는 필수이다. MongoDB라..
[ postgres ] DataTypeNotSupportedError: Data type "Object" in "~" is not supported by "postgres" database.
[ 오류 원인 ] 이전 포스팅에서 import 관련 오류를 해결하고 난 뒤 (사실 근본적인 해결방법은 아님!) 서버를 빌드해보니 오류가 바뀌었다. 원인은 무엇이었냐면 postgresDB가 entity를 인식하기는 했는데, 이 entity를 table 형태로 매핑해야 하는 작업을 수행해주려고 딱 하는 순간! postgres 입장에서 뇌정지가 온 것이다. 바로 @Column 이라는 데코레이터의 ColumnType을 정해주지 않아서였다. [ 오류 발견 ] 위의 이미지처럼 필자는 Board라는 entity를 만들었고 그중 속성(Column)이 게시판의 상태를 나타내는 status라는 속성이 있었다. 첫 줄을 잘 보면 다 나와있다. DataTypeNotSupportedError이다. 의미를 해석해보면 " post..
[ typeORM ] SyntaxError: Cannot use import statement outside a module
[ 오류 원인 ] postgres DB를 사용해서 Nest backend app을 구현하고 있는데 typeorm을 사용하기 위해서 config 파일을 정의해주어야 했다. 그런데 js 기반이라 ts의 config 파일은 인식이 잘 되어지지 않는것이 있는 것 같다. js 파일로 config 파일을 만들면 해결이 될 것처럼 보이긴 하지만 한번 해결해보고 싶었다. [ 오류 발견 ] [ 시도 방법 ] 1. node version 재설치 - npm 관련해서 version이 잘못되었는지 삭제를 하고 버전을 업데이트 후 시도 - 실패.. 2. package.json 파일 수정 "type": "module" or "module" : "commonjs" - package.json 맨 아래부분에 위의 구문 추가 해보기 - ..
[ Nest JS ] TypeORM & pg module 설치 명령어
안녕하세요? 수구리입니다. 저번 포스팅에서는 Nest 애플리케이션에 DB를 적용하기 위해서 Postgre와 pgAdmin을 설치하였다. 이전 글 참고! [ Nest JS ] Postgres 설치 pgAdmin으로 Server와 DB를 구축해보자 안녕하세요? 수구리입니다. 이번 포스팅에서는 PostgresSQL 이라는 DB를 소개하고 설치법과 Nest 프로젝트에 연동하는 방법에 대해서 알아 보자! 어느 곳에서든지 DataBase는 필수이다. MongoDB라는 비정 tasddc.tistory.com 이번 포스팅에서는 아직 DB와 Nest App과 연동 짓기 전에 필요한 작업이 하나 더 있다. Nest 프로젝트에서 사용할 typeORM 모듈과 pg 모듈을 설치해야 한다! typeORM은 한번 강의를 들어서 공..
[ Nest JS ] 기본 프로젝트에서 Nest 로직 흐름
안녕하세요? 수구리입니다. 지난 포스팅에서는 Nest JS가 무엇인지, 어떤 특징을 가지는지, 어떻게 프로젝트를 생성하고 또 Nest가 기본적으로 만들어주는 파일들과 실행까지 알아보았었죠? 지난 포스팅을 안 보셨다면 보고 오시는 것을 추천드립니다. 2021.10.13 - [프로그래밍/Nest JS] - [ Nest JS 소개 ] Nest JS 프로젝트 시작하기 [ Nest JS 소개 ] Nest JS 프로젝트 시작하기 안녕하세요? 수구리입니다. 한창 Nest JS에 대해서 공부를 했었는데 차근차근 복습할 겸 정리를 해보도록 하겠습니다. 아래에는 Nest의 공식문서가 있습니다. 공식문서를 기반으로 정리를 한 내용 tasddc.tistory.com 이번 포스팅에서는 Nest가 무엇인지는 알았으니.. "loc..
[ Nest JS 소개 ] Nest JS 프로젝트 시작하기
안녕하세요? 수구리입니다. 한창 Nest JS에 대해서 공부를 했었는데 차근차근 복습할 겸 정리를 해보도록 하겠습니다. 아래에는 Nest의 공식문서가 있습니다. 공식문서를 기반으로 정리를 한 내용입니다. [ Nest JS 공식문서 ] 네스트JS 한국어 매뉴얼 사이트 네스트JS 한국, 네스트JS Korea 한국어 매뉴얼 docs.nestjs.kr [ Nest JS ? ] Nest는 효율적이고 확장 가능한 Node.js 서버 측 애플리케이션을 구축하기 위한 프레임 워크이다. progressive JavaScript를 사용하고 TypeScript로 빌드가 지원된다. 이는 개발자가 순수 JavaScript로 코딩할 수 있다는 의미이다. Nest는 OOP(Object Oriented Programming), FP..
[ 9/6 삽질 기록 ] 험난한 typeORM 사용기
config를 인식하지 못하는 문제 우선, typeorm을 간단히 소개하자면 현재 내가 사용하는 DB 툴(mysql)에서 스키마를 만들고, 진행하는 프로젝트로 연결을 하기 위해서 사용하기 위한 툴이다. (그 반대 작업도 가능하게 해 줌!) 나는 mysql을 사용하였고, typeorm-model-generator를 사용해서 내가 사용할 DB의 스키마들을 nest에서 작성한 뒤, 그 테이블(스키마)들을 mysql로 옮겨주는 작업을 시도했다. 이 작업에서 typeorm과 연결하기 위해 필요한 ormconfig.ts라는 파일을 다음과 같이 만들어주었는데 import { TypeOrmModuleOptions } from '@nestjs/typeorm'; import * as dotenv from 'dotenv';..
[ Nest JS ] Swagger를 사용해서 API 문서 만들기
안녕하세요? 수구리입니다. 제가 최근에 Nest와 TypeORM을 사용한 백엔드 API를 만드는 강의를 듣고 있는데요~ API 문서를 만들어주는 Swagger라는 오픈 API가 있어서 소개해드리려고 합니다. 1단계. 공식 문서를 보자 무엇이든 사용하기 전에 설치 과정은 필수이죠? https://docs.nestjs.com/openapi/introduction Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeSc..