Back-end18 [NestJS] NestJS의 시작 NestJS의 시작 import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000); // 포트 3000번 리스닝 } bootstrap(); NestJS는 main.ts에서 시작한다. 하나의 모듈에서 어플리케이션을 생성한다. AppModule을 호출한다. 앱 모듈은 모든 것의 루트 모듈 같은 역할을 한다. 모듈이란 어플리케이션의 일부이다. 한 가지 역할을 하는 앱이다. 예를 들어 인증을 담당하는 어플리케이션이 있다면 users 모듈이 존재.. 2021. 12. 29. [Node.js] 사용량 제한 구현하기 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 인증된 사용자라고 해도 과도하게 API를 사용하면 API 서버에 무리가 갑니다. 따라서 일정 기간 내에 API를 사용할 수 있는 횟수를 제한하여 서버의 트래픽을 줄이는 것이 좋습니다. 또한 한 사람이 새로고침을 여러번 해서 여러번 공격하는 것을 DOS 공격, 여러 사람이 여러번 공격하는 것을 DDOS 공격 등을 대비해야합니다. 일정 시간동안 횟수 제한을 두어 무차별적인 요청을 막을 필요가 있습니다. npm 설치 npm i express-rate-limit express-rate-limit 사용하기 const RateLimit = require('express-rate-limit'.. 2021. 6. 14. [Node.js] JWT 토큰으로 인증하기 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 코드리뷰 시간에 토큰에 대해 질문을 받았었는데, 프로젝트에 계속 적용하여 사용하는 방법은 알고있었지만, 정확히 개념정리를 해야할 것 같아 정리를 하게 되었습니다. 다른 클라이언트가 데이터를 가져가게 하려면 인증과정이 필요합니다. 이 때 토큰이 필요한데 JWT 토큰으로 알아보려고 합니다. JWT는 JSON Web Token의 약어로, JSON 형식의 데이터를 저장하는 토큰입니다. JWT는 다음과 같이 세 부분으로 구성되어 있습니다. 헤더(Header) : 토큰 종류와 해시 알고리즘 정보가 들어 있습니다 페이로드(Payload) : 토큰의 내용물이 인코딩된 부분입니다. 시그니처(Si.. 2021. 6. 14. [Node.js]body-parser 미들웨어의 urlencoded( )의 역할 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 코드 리뷰를 진행하는 과정에서 urlencoded이 어떻게 사용되는지에 대한 질문을 받았었습니다. body-parser와 연관이 있는 것 같았지만, 책에 나온 그대로 따라 사용했었는데 정확히 쓰임새를 알지 못하고 정확한 정답을 제시하지 못하였던 것 같아, 이번 기회에 찾아보았습니다. app.use(express.urlencoded({extended: true})); 우선 위 코드가 정확히 왜 사용되는지 알려면 데이터가 어떤 방식으로 인코딩 되는지 알아야합니다. 인코딩 방식 POST 방식으로 요청을 하게 되면, Header 필드에는 body안의 데이터가 어떤 형식의 인코딩 방법을 .. 2021. 6. 10. 이전 1 2 3 4 5 다음