전체 글(257)
-
불안정한 타겟 요청 시 서버 요청 방법
상황 크롤링 작업 시 종종 서버 상태가 응답 속도가 느리거나, 요청에 대한 대답을 못하고 500에러를 내보내는 타켓 서버가 존재한다. 그래서 크롤링 진행 시 요청 시간을 길게 잡고 가야하는데 무턱대고 길게 잡으면 크롤링 작업 시간이 배로 늘어나게 될수있다. 그래서 Exponential backoff 전략을 사용한다. Exponential backoff 자세한 설명이다. Exponential backoff - Wikipedia From Wikipedia, the free encyclopedia Rate-seeking algorithm Look up backoff in Wiktionary, the free dictionary. Exponential backoff is an algorithm that uses..
2023.06.14 -
<ref> 객체 데이터를 접근하는 방법
크롤링 후 html elements 값을 가져오려고 하는중 ref 객체 안에 "동아제약" 데이터를 가져오려고 한다 Text { prev: null, next: null, startIndex: null, endIndex: null, data: '동아제약', type: 'text' } Text.data 로 객체에 접근하면 undifined가 발생한다. 방법 객체를 선언하고 ref 값을 넣어서 선언한 객체에 접근해야한다. const refObject = { 객체를 넣어준다.} const text = refObject.data; console.log(text); // 동아제약
2023.06.14 -
11. Nest.js 광부왕 게임 서버 Log 저장 모듈 생성
로그 저장은 account, stage, item, company 분류 account : 계정 로그인 관련 로그 stage : 진행 게임 관련 로그 item : 아이탬 관련 로그 company : 회사 (길드) 관련 로그 1. 모듈 생성 ( Mongoose 설정 ), dayjs 설치 명령어 작성 nest g mo logs npm i dayjs src/logs/logs.module.ts 파일에서 MongooseModule 의존성 주입한다. import { Module } from '@nestjs/common'; import { MongooseModule } from '@nestjs/mongoose'; import { Logs, LogsSchema } from '../model/logs.model'; @Mo..
2023.03.13 -
10. Nest.js 광부왕 게임 서버 Socket.IO 설정
1. @nestjs/platform-socket.io, socket.io 설치 npm i @nestjs/platform-socket.io socket.io 2.adapters/adapters.ts 생성 Nest 서버에서 socket.io를 사용하기 위해 생성한다. adapters.ts 생성 import { IoAdapter } from '@nestjs/platform-socket.io'; export class SocketIoAdapter extends IoAdapter { createIOServer(port: number, options?: any): any { const server = super.createIOServer(port, options); return server; } } main.ts ..
2023.03.04 -
9. Nest.js 광부왕 게임 서버 Decorator 생성
1. src/common/decorators/user.decorators.ts 파일 생성 Guard를 통해 jwt.payload.ts에서 만든 interface jwtPayload 타입에 맞춰 받은 유저 정보를 출력한다. import { createParamDecorator, ExecutionContext } from '@nestjs/common'; export const CurrentUser = createParamDecorator( (data: unknown, ctx: ExecutionContext) => { const request = ctx.switchToHttp().getRequest(); return request.user; }, );
2023.03.03 -
8. Nest.js 광부왕 게임 서버 JWT 설정
1. @types/passport-jwt, passport, passport-jwt, @nestjs/jwt, @nestjs/passport 설치 npm i -D @types/passport-jwt npm i passport, passport-jwt, @nestjs/jwt, @nestjs/passport 2. auth module 생성 nest g mo auth 생성 된 auth.module.ts 파일 작성 JWT인증을 Guard로 공통된 인증 처리를 해야하기 때문에 @Global()를 적용. JWT 만료 기간은 1일이다. import { Global, Module } from '@nestjs/common'; import { JwtModule } from '@nestjs/jwt'; import { JwtS..
2023.03.03