본문 바로가기
반응형

Server58

[Express] Sequelize로 MySQL 연결하기 (1) - 테이블 생성하기 Sequelize 라이브러리 시퀄라이즈는 ORM의 한 종류입니다. ORM은 객체와 데이터베이스의 릴레이션(명령어)를 매핑해주는 도구입니다. 쉽게 말해서 자바스크립트 객체를 ORM함수로 입력하면 ORM이 MySQL 명령어로 변역해서 실행해주는 것입니다. 꼭 mysql뿐만 아니라 다른 데이터베이스 언어와도 전부 호환 됩니다. npm으로 설치 sequelize-cli는 (comand line interface)로 시퀄라이즈 명령어를 터미널로 실행하기 위한 패키지이고, mysql2는 MySQL과 ORM을 연결해주는 드라이버입니다. mysql2이랑 MySQL이랑 헷갈리면 안됩니다. 별도로 설치해야합니다. npm i express sequelize sequelize-cli mysql2 Sequelize 초기화 아래.. 2022. 11. 6.
[Express] multer를 이용해서 백엔드 이미지 업로드 multer 미들웨어 multer는 이미지 동영상등 여러가지 파일들을 멀티파트 형식으로 업로드 할때 사용하는 미들웨어 입니다. 멀티파트 형식이란것은 enctype속성(인코딩)이 multipart/form-data인 형식을 말합니다. enctype의 속성에는 아래와 같은 종류가 있습니다. application/x-www-form-urlencoded 기본값으로, 모든 문자들은 서버로 보내기 전에 인코딩됨을 명시함. multipart/form-data 모든 문자를 인코딩하지 않음을 명시함. 이 방식은 요소가 파일이나 이미지를 서버로 전송할 때 주로 사용함. text/plain 공백 문자(space)는 "+" 기호로 변환하지만, 나머지 문자는 모두 인코딩되지 않음을 명시함. npm으로 설치하기 해당폴더의 터미널.. 2022. 11. 6.
[Express] Node.js Router(라우터)로 요청 라우팅 https://konkukcodekat.tistory.com/entry/Express-Nodejs-express-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0-%EC%9B%B9-%EC%84%9C%EB%B2%84-%EA%B5%AC%EC%B6%95-%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4 [Express] Node.js , express 설치하기 , 웹서버(백엔드) 구축 , 미들웨어 1. Node.js 설치 nodejs는 JS를 터미널로 실행시킬수 있는 프레임워크 입니다. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. node.. 2022. 6. 10.
[Express] Node.js , express 설치하기 , 웹서버(백엔드) 구축 , 미들웨어 1. Node.js 설치 nodejs는 JS를 터미널로 실행시킬수 있는 프레임워크 입니다. https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 위에 사이트에서 안정적인 LTS(long term support)버전을 설치해줍니다. 노드를 설치하면 자동으로 npm이 설치됩니다. npm(Node.js Package Manager)은 Node.js 패키지 관리자로, node의 여러 패키지들을 import할수 있는 관리자입니다. 파이썬에 pip같은 존재 입니다. 2. 노드, npm 설치 확인 윈도우 cmd / powershell , 맥(mac) terminal .. 2022. 6. 10.
[NestJS 일기] 영화 api 만들기(3) - 유닛 테스팅 (unit testing) - jest 유닛(unit) 테스팅 유닛 테스트란 전체를 테스팅하지 않고 소스 코드의 특정 모듈이나 함수등이 의도된 대로 정확히 작동하는지 부분부분 검증하는 테스트 입니다. 테스트 spec 파일 컨트롤러나 서비스 생성할때 딸려서 나오는 spec 파일이 테스트 코드를 작성하는 파일입니다. movies.service.spec 테스트 파일 (기초 테스트) import { Test, TestingModule } from '@nestjs/testing'; import { MoviesService } from './movies.service'; describe('MoviesService', () => { let service: MoviesService; beforeEach(async () => { const module: Te.. 2022. 6. 7.
[NestJS 일기] 영화 api 만들기(2) - DTO를 이용해서 입력값 검증하기 DTO (Data Transfer Object) 란? DTO(Data Transfer Object) 는 계층 간 데이터 교환을 하기 위해 사용하는 객체로 , 상대방이 쓰레기 값이나 입력할수 없는 값을 넣을때 검증하는데 쓰일 수 있습니다. dto 폴더를 새로 만들고 , 새 영화를 post방식으로 등록할때(create) body에 대한 입력값 검증을 위해 CreateMovieDto 객체를 만들었습니다. 기존 영화의 정보를 바꿀때도 입력 값의 유효성을 검증하기 위해 UpdateMovieDto를 만들었습니다. validator , transformer 모듈 설치 class-validator는 유효값 검증해주는 모델이고, class-transformer는 입력값을 자동으로 형 변환 해주는 모듈입니다. transf.. 2022. 6. 3.
[NestJS 일기] 영화 api 만들기(1) - 설치 , 컨트롤러 , 서비스 ts파일 만들기 nodejs 환경에서 nest 설치 폴더에서 아래와 같이 터미널에 입력하면 nest를 설치하고 프로젝트를 생성할수 있습니다. $ npm i -g @nestjs/cli $ nest new project-name movie들을 등록하고 정보를 조회하는 백엔드 api를 만들기로 시작했습니다. $ nest g co ==> 컨트롤러 생성 $ nest g s ==> 서비스 생성 movie폴더 안에 movies.controller , movies.service를 생성했습니다. entities(객체) 폴더 안에는 Movie 객체를 생성했습니다. Movie 객체 export class Movie { id : number title : string year : number genres : string[] } movies .. 2022. 6. 3.