분류 전체보기(262)
-
6. Nest.js 광부왕 게임 서버 Filter 적용
1. src/common/filters/error.exception.ts 파일 생성 error.exceptions.ts 파일을 만들어서 해당 코드를 넣어준다. 서버 처리 중 에러 발생 시 필터를 이용사용 하여 처리 한다. 1. 개발 중 에러 발생처리를 분기 처리 하여 개발 서버에서만 확인 하기 위해 console.log() 로 에러 값을 나타낸다. 2. 에러 메시지가 String, Object 두 타입으로 발생 하기 때문에 형태를 확인하고 분기 처리한다. import { ExceptionFilter, Catch, ArgumentsHost, HttpException, } from '@nestjs/common'; import { Response, Request } from 'express'; @Catch()..
2023.03.03 -
5. Nest.js 광부왕 게임 서버 Swagger 적용
1. swagger, express-basic-auth 설치 npm install --save @nestjs/swagger npm install --save express-basic-auth 2. main.ts swagger 적용 * product 서버에서는 관리자만 swagger 접근이 가능하도록 express-basic-auth를 사용하여 비밀번호 설정 import { ValidationPipe } from '@nestjs/common'; import { NestFactory } from '@nestjs/core'; import { SocketIoAdapter } from './adapters/adapters'; import { AppModule } from './app.module'; //추가 im..
2023.03.03 -
4. Nest.js 광부왕 게임 서버 Redis 설정 [캐시 데이터]
- 캐시 데이터 DB : Redis 사용 이유 : 입출력 속도가 빠르고 서버 스케일 아웃이 발생하면 동일한 캐시 데이터를 사용 할 수 없어 한 곳에서 관리하기 용이 1. 모듈, 서비스 생성 nest g mo redis nest g s redis redis.module.ts redis.service.ts 파일이 생성된다. 2. 사용 Redis 명령어 아래 명령어를 사용 할 예정이다. ZRANGE : 순위를 저장 한 key 들을 가져오는 명령어 * WITHSCORES 옵션을 넣으면 순위와 함께 점수가 같이 출력 된다. start : 순위 시작 값 ( 0부터 시작 )end : 마지막 순위 값 ( -1일 경우 전체 ) 사용범위 : 회사 주간 순위를 확인 ZSCORE : zrange에 저장된 순위 중 검색하는 k..
2023.03.02 -
MongoDB (Mongoose) Transaction 사용 방법
MongoDB가 4.0, Mongoose는 5.0 버전 부터 트랙젝션이 지원이 되었다. 트랜잭션 사용 시에는 트랜잭션 자체가 원자적으로 동작해야 때문에 비동기로 요청을 하면 안된다. 만약 비동기로 여러개의 데이터가 업데이트가 진행되면 마지막 데이터만 업데이트가 되는 현상이 발생 할 수 있다.1. Mongoose 연결 시 필수 설정import mongoose from 'mongoose';mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useCreateIndex: false, useFindAndModify: false, useUnifiedTopology: true});const session = mongoose.s..
2023.02.26 -
3. Nest.js 광부왕 게임 서버 로그 저장 [로그 데이터]
- Log DB DB : MongoDB 사용 이유 : 대용량의 데이터를 저장 하기 유리한 NoSql 방식의 MongoDB 사용 1. 라이브러리 설치 @nestjs/mongoose mongoose 설치 npm install --save @nestjs/mongoose mongoose 2. model 파일 생성 model 폴더 안에 model 파일 생성 logs.model.ts * 로그 저장 설정 : 로그 저장 기간은 3개월이 되면 자동으로 제거되도록 설정 한다. import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'; import { Document } from 'mongoose'; const options = { timestamps: true, co..
2023.02.19 -
2. Nest.js 광부왕 게임 서버 Mysql TypeOrm 설정 [게임 데이터]
1. Configuration 설정 https://crispypotato.tistory.com/194 Nest .env 파일 사용 방법 1. 설치 npm i --save @nestjs/config https://crispypotato.tistory.com/192 Nest 설치 방법 [ CLI ] 전역 설치 npm i -g @nestjs/cli 프로젝트 생성 nest new 생성 할 프로젝트 이름 생성 중에 패키지 관리툴을 선택하면 설치 crispypotato.tistory.com 2. 라이브러리 설치 typeorm, @nestjs/typeorm, mysql2 설치 npm install --save typeorm mysql2 @nestjs/typeorm 3. model 파일 생성 src폴더 안에 model..
2023.02.16