Node 4

[NestJs]Pipe사용하기

Pipe란???? 다음은 NestJs에서 요청과 응답의 흐름을 나타낸다. controller전에 4번을 보면 pipes라고 있는 것을 확인할 수 있다. 파이프(pipe)란?? 엔드포인트에 도달하기 전 요청 데이터에 대해 유효성 검증을 할 수 있다. 요청 데이터에 대해 변환 작업을 할 수 있다. @Get(':id') getPost(@Param('id') id: string) { return this.postsService.getPostById(+id); } 다음과 같이 id를 통해 게시글을 조회하는 로직이 있다. 현재는 url에서 string으로 id를 받기 때문에 +를 이용하여 number타입으로 형변환을 해주었다. 우리는 서버에서 id는 항상 number를 사용할 것이기 때문에 넘어올 때부터 numbe..

Node.js 2023.12.26

[TIL]29. Node 환경에서 AWS S3에 이미지 업로드

이번 팀 프로젝트를 진행하던 중 영화 리뷰를 적어서 소통하는 사이트를 개발하기로 했다. 영화 리뷰를 작성할 때 사진을 넣는 기능이 필수라고 생각이 들어서 이미지 업로드 방법에 대하여 검색하였다. 내가 과거에 자바를 공부할때 진행했던 방식은 물리적인 파일을 내 프로젝트에 보관하고 모든 파일 정보를 DB에 저장을 했었다. 그러나 이런 방식은 파일 자체를 우리 서버에 보관하기 때문에 상당히 많은 리소스를 차지한다는 것을 알았고 보통 물리적인 파일과 같은 데이터들은 외부 스토리지를 이용하여 저장하고 그 경로만 DB에 저장하는 식으로 사용한다고 한다. 그래서 그 원격 스토리지인 S3에 이미지를 업로드하는 방법을 알아보겠다. 1.AWS S3 버킷 생성 버킷을 만들면 다음과 같이 나온다. 2.AWS IAM 계정 만들..

개발이야기 2023.11.29

[TIL]24.Node sequelize mysql 연결 + model 정의하기

오늘은 과제를 위해 sequelize를 이용하여 mysql을 연결을 해보았다. 처음으로 하는 연결이어서 헤매는 부분이 많았다. Sequelize mysql 세팅하기 일단 sequelize가 설치되어있다는 가정하에 진행해 보겠다. 프로젝트를 생성 후 다음과 같은 명령어를 입력한다. 그럼 다음과 같은 3개의 폴더가 생성된다. seeder에 대해서는 지금 당장 사용하지 않을 것이다. npx sequelize-cli init config migrations seeder config 폴더 내에는 DB접속을 위한 config.json 파일이 생성되어있을것이다.(최초 생성은 json파일이지만 나는 ES6 모듈을 이용하여 세팅을 하여서 자바스크립트 형식으로 변경된 상태이다.) 내부에는 DB접속 정보가 있다.env로 환..

개발이야기 2023.11.15

[TIL]18.env란

오늘 개인과제를 진행 중 추가 요구사항이 있다는 것을 뒤늦게 인지를 하고 허겁지겁 마지막에 추가하였다..! env을 추가하라는것이였는데 env란 github나 공개된곳에 코드가 올라갈 때 API key나 password 등 공개하면 안 될 것들을 막아줄 수 있다!! npm i dotenv 명령어로 dotenv를 설치해 준다. . env파일을 생성해 준다. 필요한 값을 선언해 준다. import dotenv from 'dotenv'; dotenv.config(); process.env.MONGODB_ID, 필요한 곳에서 import 해서 사용해 준다!! 프로젝트 진행 시 많이 사용할 거 같으니 잘 알고 있으면 좋을 것 같다.

개발이야기 2023.11.06
728x90