본문 바로가기

Node.js10

nest.js 환경변수 패키지 설치 > npm i @nestjs/config 2-1. app.module.ts 설정 import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { UsersModule } from './users/users.module'; import { CatsModule } from './cats/cats.module'; import { ConnectionService } from './connection/connection.service'; import { ConfigModule } from '@nestjs/con.. 2023. 1. 15.
nest.js 서비스 만들기(provider) provider? services, repositories, factories, helpers 등이 있음 ❣️ provider는 종속성에 의해 Inject(주입)할 수 있음 ❣️ 즉, provider 객체의 생성 및 연결은 nest runtime 시스템에 위임될 수 있음 ❣️ 컨트롤러는 HTTP 요청을 처리하고 복잡한 작업은 Provider에게 위임함 ❣️ provider는 module에서 선언하는 일반 javascript class 1. interface 정리 cat.interface.ts export interface Cat { id: number; name: string; age: number; breed: string; } cats.controller.ts import { Controller, G.. 2023. 1. 14.
Nest.js&ejs 연결해보기 main.ts import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; import { NestExpressApplication } from '@nestjs/platform-express'; // express import { join } from 'path'; async function bootstrap() { const app = await NestFactory.create( // NestExpressApplication 태워주기 AppModule ); // ejs app.useStaticAssets(join(__dirname, '..', 'public')); app.setBaseViewsDir(join(.. 2023. 1. 13.
dto(Data Transfer Object) 및 옵션 세부설명(nest.js) DTO(Data Transfer Object) 📓 데이터를 오브젝트로 변환하는 객체로 어떠한 값이 어떤 타입을 가지고 이 값이 필수인지 옵션인지 정의하기 위한 파일 dto폴더에 변수명 맞춰서 dto.ts 파일 만들어줌 1. package 설치 npm i class-validator class-transformer 2. main.ts에 pipeline 설정 express에서 검증하는 미들웨어를 설정하는 것과 비슷 주석처리한 부분은 ValidationPipe에서 쓰이는 옵션 // main.ts import { ValidationPipe } from "@nestjs/common"; import { NestFactory } from "@nestjs/core"; import { AppModule } from "... 2023. 1. 13.
module, controller 및 service 만들기(nest.js) nest 위와 같이 나오는 nest 설명 참고하여 모듈 자동 생성하기 nest g module 모듈명 혹은 nest g mo 모듈명 생성완료되면 아래와 같이 파일 새로 생성되고, app.module.ts에 자동으로 import 됨 2.controller 생성하기 nest g co 컨드롤러명 # generate controller 동일하게 nest가 알아서 controller 및 spec 파일 생성해준다!! controller 생성과 함께 module파일 자동으로 업데이트 됨 controller에는 users라우팅 패스 자동 추가 ! 3.service 생성하기 nest g s 서비스명 명령이 완료되면 service 파일 및 service.spec 생김 users.module.ts 자동 업데이트 import.. 2023. 1. 12.
node nohup 실행 및 강제 종료 nohup 실행 $ nohup node [실행파일] & nohup 강제 종료 방법 # 1. 현재 돌고있는 포트 있는지 확인해준다 $ lsof -nP -iTCP: | grep LISTEN # 2. 아래와 같이 현재 포트 정보 응답에 따라 node 28111 ubuntu TCP *:8000 (LISTEN) # 3. 서버 강제종료 실행해주면 된다! $ kill 28111 2022. 10. 31.
Nodemailer 에러콜렉터의 에러해결 Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at(2022.10.18최신!) 에러 1 : Missing credentials for "PLAIN” 🤓 원인 ? : nodemailer에서 패스워드 부분 잘 못되어서 생긴 에러 ! 🤔 해결방법 const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: 'sasha.gwak@gmail.com', pass: process.env.EMAIL_PASS, // 비밀번호 맞는지 재확인 필요 ! }, tls: { rejectUnauthorized: false } }) 에러 2 ⭐️ : Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at 🤓 원인 ? : 구글 보안 정책에.. 2022. 10. 18.
Express request(req.params, req.query, req.body) express에서 request란? 'HTTP request'로써 'req'로 표현되는 객체 request 'query string', 'parameters, 'body', 'HTTP header' 등의 프로퍼티를 가진다 위와 같이 ‘req’객체에는 다양한 프로퍼티가 있지만, 오늘은 req.params와 req.query에 대하여 알아보려한다. req.params 라우터 매개변수 // 예시 1 // 제품별 상세 페이지 routes부분 :productId을 예약어로 지정하여 -> req.params.productId로 받을 수 있게함 router.get('/products/:productId', shopController.getProduct); // controller 부분 exports.getProduc.. 2022. 10. 3.
Buffer와 Stream(Node.js) 📌 목차 Buffer vs Stream fileSystem을 사용해 파일을 읽고 쓰고 저장하는 동작을 하려고 할때, 즉 데이터를 주고 받을 때 사용하는 형식이다. 버퍼: 일정한 크기로 모아두는 데이터 일정한 크기가 되면 한번에 처리 버퍼링: 버퍼에 데이터가 찰 때까지 모으는 작업 스트림: 데이터의 흐름 ➡️ 일정한 크기로 나눠서 여러 번에 걸쳐서 처리 버퍼(또는 청크)의 크기를 작게 만들어서 주기적으로 데이터를 전달 스트리밍: 일정한 크기의 데이터를 지속적으로 전달하는 작업 Buffer buffer는 데이터이기 때문에 조각조각 나뉘어서 보내줌 → 받는 쪽에서 buffer를 하나로 모아서 합쳐줘야함(배열에 들어있으면 concat사용) 메서드 from(문자열) 문자열을 버퍼로 바꿔줌. length 속성은 버.. 2022. 9. 29.