본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Node.js51

[Nestjs] 스케줄 동기화(schedule blocking, keep overlapping) 네스트에서 스케줄을 사용하기 위해서는 아래처럼 크론 데코레이터를 사용합니다. @Cron(CronExpression.EVERY_SECOND, { name: '잡이름', }) // 매일 1분마다 실행됨 async 메서드이름(): Promise { //실행할 내용 } 위 샘플 코드는 매 1초마다 동작하는 코드 입니다. 그런데 하필 동작이 1초에 끝나지않는 상황이 발생하면 위 코드는 여러번 동작하게 됩니다. 이러한 현상을 방지하기 위해 간단하게 코드를 추가하여 해결가능 합니다. 의존성 주입을 통해 아래 클래스를 받습니다. * 이름 : SchedulerRegistry import { Cron, CronExpression, SchedulerRegistry } from '@nestjs/schedule'; @Injec.. 2023. 10. 17.
Mongoose array (몽구스 배열) 간단하게 정리한 몽구스에서 배열 데이터를 관리하는 방법 입니다. * 샘플 데이터 구조 #도큐먼트 구조 ## 1번데이터 { key : 'a', group : [ { id :'aaa', number : '1234'}, { id :'bbb', number : '5678'} ] } ## 2번데이터 { key : 'b', group : [ { id :'ccc', number : '1234'}, { id :'ddd', number : '5678'} ] } ## 3번데이터 { key : 'c', group : [ { id :'eee', number : '1234'}, { id :'fff', number : '5678'} ] } #1. 배열 데이터 조회 : group 필드의 배열 값에서 id가 'aaa' 인 것 찾아오.. 2023. 9. 12.
NestJS SSE (Server-Sent Events) sse는 서버에서 이벤트를 발행하여 웹 브라우저에서 해당 이벤트를 수신하는 기능 입니다. 웹소켓보다 훨씬 더 경량화 되어있고 단순한 이벤트를 전달 할 때 효과적이기 때문에 간단한 내용을 보낼 때 주로 사용된다고 합니다. 구현 방법은 어렵지 않습니다. * 컨트롤러.ts import { Controller, Sse } from '@nestjs/common'; import { interval, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; @Controller() export class SseController { @Sse('sse') sse(): Observable { return interval(5000).pipe( map((_) => (.. 2023. 7. 19.
Nestjs 프레임워크 서버(일반 웹소켓 사용하기, websocket, socket.io 말고) Nest.js에서 웹소켓 서버를 구현하기 위한 대부분의 방법은 socket.io를 사용하는 구성 방식으로 되어 있습니다. 소켓io로 구성을 하게되면, 일반적인 웹소켓 요청으로는 데이터를 송수신 할 수 없기에.. 단순하게 구성하기 위해서는 다른 방법을 사용 해 주어야 합니다. 먼저 웹소켓(websocket) 서버 구현을 위해서 아래 2개의 라이브러리를 추가하여 줍니다. #1. 이건 기본으로 설치하는거 yarn add @nestjs/websockets #2. 요녀석이 일반 웹소켓 서버를 위해 필요한거 yarn add @nestjs/platform-ws 설치가 되고 난 이후에 가장먼저 해야 할 일은 main.ts 파일에 일반 웹소켓 서버 기능을 쓰겠다고 설정하는 것 입니다. * 대상 : 메인 파일(부트스트랩 .. 2023. 5. 25.
Nestjs 프레임워크 서버(microservices, mqtt) -17 nestjs 프레임워크에서는 소규모의 독립적인 서비스(microservices)의 기능 구현을 위해 마이크로서비스(microservices)라는 모듈을 제공하고 있습니다. 해당 마이크로서비스(microservices) 모듈을 활용하여 사용 할 수 있는 대표적인 기능이 mqtt 기능입니다. 물론 mqtt 기능을 사용하기 위해서는 mqtt 서버가 갖추어져 있어야 합니다. : - ) * mqtt서버는 래빗mq, 모스키토, eclipse-mosquitto 같은 서버를 사용하면 됩니다. 역시나 처음 서비스 사용을 위해서는 모듈을 설치하여 줍니다. //마이크로서비스 npm install @nestjs/microservices //mqtt서버 npm install mqtt nestjs에서 사용할 수 있는 마이크로서비.. 2022. 10. 11.
Nestjs 프레임워크 서버(log, winston) -16 로깅은 모든 어플리케이션의 필수기능 입니다. 슈퍼천재가 아닌이상 모든 프로그램에는 버그(bug)가 존재하고 해당 버그의 원인과 이유를 찾기 위해서는 기록을(log) 남겨야 하기 때문 입니다. nestjs에서는 기본적으로 로그와 관련된 기능이 존재 합니다. * 파일이름 : app.controller.ts import { Controller } from '@nestjs/common'; import { Logger } from '@nestjs/common'; @Controller() export class AppController { private readonly log = new Logger(AppController.name); constructor(){ this.log.error('오류발생했습니다.로그동작.. 2022. 10. 4.