목록Javascript/Node.js (34)
9시 24분

테스팅에 대한 소개 package.json 파일을 보면 테스팅과 관련된 스크립트가 5개 정도 있다. jest는, 자바스크립트를 쉽게 테스팅하는 npm 패키지로, .spec.ts로 된 테스트를 포함한 파일들을 테스트한다. test:cov 코드가 얼마나 테스팅 됐는지 또는 안됐는지를 보여준다. test:watch 모든 테스트 파일을 찾아 무슨 일이 있는지 관찰한다. 테스트의 종류에는 E2E(End-To-End) 테스팅, Integration 테스팅, Unit 테스팅이 있는데 강의에서는 E2E(End-To-End) 테스팅과 Unit 테스팅을 다룬다. Unit 테스팅 - 함수나 서비스에서 분리된 유닛 같이 테스트할 수 있는 가장 작은 단위를 독립적으로 테스트 방법이다. ex) getAll() 함수만 테스팅하고 ..

이제 실전으로 가서 Movie REST API를 직접 만들어보자. Movies Controller Nest cli를 이용해서 controller 파일을 만들어주자. nest generate 명령어를 사용하여 movies controller을 생성해준다. app.module.ts에 movies 컨트롤러가 자동으로 import되며, movies.controller.ts 파일이 생성된다. spec는 테스트 파일인데, 일단 지우고 시작하자. movies controller에 들어가서 아래와 같이 테스트해보자. import { Controller, Get } from '@nestjs/common'; @Controller('movies') export class MoviesController { @Get() get..

노마드코더 'NestJS로 API 만들기' 강의를 들으며 작성하는 글입니다. NestJS란? NestJS는, node.js와 express 위에서 움직이는 프레임워크로 백엔드를 구성할 수 있도록 해준다. NestJS는 기본에 충실하며, node.js에는 없는 구조를 가지고 있다. Ruby에는 Ruby on Rails가 있으며, 순서와 구조를 가지고 있어 그것을 제대로 따른다면 멋진 ruby 버킷을 만들 수 있게 된다. Python과 Django, JAVA와 Spring도 마찬가지이다. 이것들은 큰 테마로 작업을 할 때 가능 구조상 실수를 하기 어렵다. NestJS는 그러한 프레임워크의 특징을 가져왔다. Node.js의 장점이자 단점은 프로젝트를 만들 때 따를 룰이 없다는 것이다. (ex. 컨트롤러와 미들..

axios, fetch 등 프론트엔드와의 API 통신 없이 프로젝트를 진행할 때 필요한 진행과정이다. 미들웨어 설치할 것들 목록 session 설치 npm install -s express-session session-file-store 설치 npm install -s session-file-store helmet, compression설치 npm install -s compression helmet passport 설치 npm install --save passport shortid 설치 npm install -s shortid (프론트) bcrypt 설치 npm install -s bcrypt passport-local 설치 npm install -s passport-local mysql 설치 npm..

나는 ,, 오늘도 ,, 또 한다 ,, API 공부를 ,,, 그래도 할 때마다 그 깊이가 깊어지니까 또 다시 복습하고 더 배워보자! 이번에는 API의 개념을 확실히, 구체적으로 잡고, node.js-template을 API스럽게 코드를 바꿔볼 것이다 ! API의 개념 API (Application Programming Interface) : 응용 프로그램 프로그래밍 인터페이스, 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 API는 함수, 프로토콜, 도구들의 집합 형태로 제공된다. API의 사용자가 최종 사용자인 경우는 드물다. API의 사용자는 개발자이다. 위의 코드로 예시를 들어보자. 페이스북에서 제공하는 API로 인증 과정을 서비스..

어제 밤 밍석이의 열띤 설명으로! 이제 프론트엔드와 백엔드의 경계에 대해 어느 정도 파악할 수 있었다. 나는 이제까지 response.send(html);을 하는 방법으로 웹사이트를 만들었다. 현재는 html로 프론트엔드를 간단하게 만들었지만, 나중에 html이 아닌 react 같은 프론트엔드로 프로젝트를 하면 백엔드에서 어떻게 대해야 하는지?!에 대한 고민이 많았다. 간단하게, 그쪽에서 요청(request)을 던지면 응답(response)으로 json 등 요구하는 정보를 던져주면 되는 것이었다! 이제까지 그걸 던져준 다음 어떡해?!와 같은 고민을 했는데 내가 했던 고민들은 프론트엔드의 영역이었던 것이다. 그러니까 백엔드를 하고 싶다면 API를 어떻게 만들고, 또 어떻게 해야 잘 만들지 그 쪽으로 고민하..
pm2 start main.js --watch --ignore-watch="sessions/*" --no-daemon pm2 kill
오늘은 https://hayjo.tistory.com/88 을 참고하여 검색 기능을 만들었다. 구현 핵심 포인트: 쿼리 추출 & LIKE 구문 이용 우선 이것이 search.js의 전체 코드이다! const { request } = require('express'); const express = require('express'); const router = express.Router(); const sanitizeHtml = require('sanitize-html'); const url = require('url'); // 파일 분리 const db = require('../lib/db.js'); const template = require('../lib/template.js'); const auth ..