분류 전체보기(259)
-
MongoDB 비교연산자 의미 $gt $gte $lte $lt
요약 MongoDB, Mongoose 라이브러리 에서 사용 되는 비교 연산자 의미 및 사용 방법 사용 범위 Number 타입 필드 String 타입 필드 * string 경우 알파벳 순서를 기준으로 문자열을 비교함 Date 타입 필드 의미 gt : 초과 gte : 이상 lt : 미만 lte : 이하 사용 방법 gt ex) type : 3을 초과 값을 검색하는 경우 ex) time : 2023-10-29:00:00:00 시간을 초과 값을 검색하는경우 db.collection.find({type:{$gt:3}}) db.collection.find({time:{$gt:ISODate('2023-10-29')}}) gte ex) type : 3을 이상 값을 검색하는 경우 ex) time : 2023-10-29:0..
2023.10.29 -
Docker build 시 bcrypt 에러 해결 방법 Error: Error loading shared library...
배경 bcrypt bcryptjs와 다르게 C++으로 라이브러리가 만들어져있다. bcrypt는 node에 기본적인 모듈을 사용한다. docker build시 node:xx-alpine 를 사용한다. 원인 bcrypt가 node에서 C++로 구성된 제공하는 모듈을 사용하는데 이 때 node의 alpine 버전을 설치하면 사용되는 Dependencies가 없어서 에러가 나타난다. 해결 방법 dockerfile을 수정 한다 yarn install 명령어 이후 한번 더 bcrypt를 설치한다. multistage-build를 사용하여 용량을 줄이고 빌드를 진행한다. Docker multistage-build 설명 multistage-build는 빌드에 사용하는 Dependencies만 가져오기 때문에 용량을 줄..
2023.10.29 -
불안정한 타겟 요청 시 서버 요청 방법
상황 크롤링 작업 시 종종 서버 상태가 응답 속도가 느리거나, 요청에 대한 대답을 못하고 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