Javascript/Node.js 18

[ Node.js ] - ngrok 이용하여 로컬 서버 외부에서 접속 허용하기

Ngrok 애플리케이션 개발시에 프론트엔드와 백엔드 api 연동 테스스 등을 하는 경우 로컬 서버를 외부에서 접속할 수 있게 하여 유용하게 사용할 수 있다. > brew install --cask ngrok https://ngrok.com/ 위의 사이트에 들어가서 회원가입 후 Getting-started - Your authtoken 에 들어가서 token 복사해둔다. 로컬에 구현한 서버를 실행시킨다. 서버를 실행시키지 않고, ngrok를 실행하면 해당 서버에 접속할 수 없다. 반드시 서버를 먼저 실행시키고, 아래의 명령어를 통해 ngrok를 실행한다. > ngrok http [외부에 공개하려는 port] 위와 같이 하면 아래와 같이 창이 나오는데 Forwarding 에 있는 url에 접속한다. 접속시에..

Javascript/Node.js 2022.08.29

[ Node.js ] - 엑셀 파일 만들기 & 엑셀 파일 읽기

write-excel-file 엑셀 파일을 만들어 준다. > npm install write-excel-file --save 코드 const writeXlsxFile = require("write-excel-file/node"); const fs = require("fs"); const HEADER_ROW = [ { value: "Name", fontWeight: "bold", }, { value: "Birth", fontWeight: "bold", }, { value: "phone", fontWeight: "bold", }, { value: "region", fontWeight: "bold", }, ]; const DATA_ROW_1 = [ // "Name" { type: String, value: "..

Javascript/Node.js 2022.08.23

[ Node.js ] - sendgrid 통해서 메일 보내기

sendgrid는 메일 보내기 등의 서비스를 제공하는 플랫폼이다. 일정 수준 내에서 무료 서비스를 제공한다. 1. https://sendgrid.com/ 해당 사이트를 들어가 회원가입 한다. 2. 회원가입 후 로그인을 하면 우측 상단에 Dashboard 라고 되어있는 부분을 클릭한다. 3. Dashboard창으로 이동되면 가운데 부분에 Create a Single Sender라고 되어있는 부부을 클릭한다. 4. 아래와 같은 창이 나오면 해당 하는 정보를 입력한다. 나는 테스트 용으로 만든것이여서 임의로 정보를 입력하였다. From Email Address는 본인이 이메일을 보내려는 이메일 주소이끼 때문에, 해당 이메일 주소는 정확하게 입력하여야 한다. 5. 정보를 입력 후 create를 클릭하면 아래와 ..

Javascript/Node.js 2022.08.20

[ Node.js ] - type module에서 require 사용하기

require / exports 와 import / export commonjs => require / exports es6 module => import (import * as name from 'name')/ export / export default 특정 파일이나 모듈을 불러오거나 내보내기 할 때 사용할 수 있는 것은 require/exports 또는 import/export 이다. 기본적으로 npm init -y을 통해 프로젝트가 생성된 경우 기본적인 설정값은 require/exports로 되어있다. import/export는 es6에서 발생한 것으로써 package.json파일에서 "type":"module"을 설정해줌으로써 사용할 수 있다. (참고로 require/exports는 "type":..

Javascript/Node.js 2022.08.17

[ Node.js ] - lodash 사용하기

lodash lodash는 자바스크립트 내에서 배열, 문자열, 객체, 숫자 등의 작업을 더욱 손쉽게 할 수 있도록 해주는 라이브러리이다. 사용법 > npm i lodash import { createRequire } from 'module'; const require = createRequire(import.meta.url); const _ = require('lodash'); // lodash를 require()를 통해 가져와 사용할 수 있다. 예시 _.assignIn() _.assignIn({}, [리소스])와 같은 형식으로 사용하며, 인자값으로 준 것들을 새로운 객체로 생성하여 할 때 이용된다. import { createRequire } from "module"; const require = cr..

Javascript/Node.js 2022.08.15

[ Node.js ] - winson이용하여 로그 남기기

winston 로그 관리를 위해 사용되는 모듈의 일종이다. 사용법 > npm i winston winston-daily-rotate-file - winston이 실질적인 로그를 남기는 모듈이고, - winston-daily-rotate-file 모듈을 로그를 일자별로 파일로 관리할 수 있도록 해주는 모듈이다. 기본 틀 import winston from "winston"; import wistonDaily from "winston-daily-rotate-file"; const { combine, printf, label, timestamp } = winston.format; const logFormat = printf((level, message, label, timestamp) => { return `..

Javascript/Node.js 2022.08.14

[ Node.js ] - compression으로 데이터 압축하기

Compression 많은 양의 데이터가 네트워크 전송시 네트워크에 부담을 줄 수 있는데, compression은 서버에서 데이터를 압축하여 준다. 이를 통해 서버는 클라이언트로 데이터를 전송할 때, 압축된 데이터를 보냄으로써 네트워크 전송 속도를 높이고, 비용을 줄일 수 있다. 사용법 > npm i --save compression compression을 이용하여 데이터 압축하기 전 import express from "express"; const app = express(); app.get("/", (req, res) => { const payload = "dkssdjssdjfkalsjfklasjklfjlkakssdjfkalsjfklasjklfjlkasjfsjfkalsjfklasjklfjlkakssd..

Javascript/Node.js 2022.08.14

[ Node.js ] - node-cron 활용하여 스케줄러 작동시키기

node-cron https://www.npmjs.com/package/node-cron node-cron A simple cron-like task scheduler for Node.js. Latest version: 3.0.1, last published: 2 months ago. Start using node-cron in your project by running `npm i node-cron`. There are 753 other projects in the npm registry using node-cron. www.npmjs.com node-cron은 일정한 시간 간격으로 특정한 작업을 실행할 수 있도록 해주는 모듈이다. > npm i node-cron > npm i --save-dev @t..

Javascript/Node.js 2022.07.27

[ Javascript ] - Nest Js controller 구현하기

nestjs에서 controller 는 기본적으로 명령어를 통해 기본 코드가 구현된 파일이 생성된다. > nest g controller [생성하려는컨트롤러이름] --no-spec ex) nest g controller users --no-spec import { Controller } from '@nestjs/common'; @Controller('users') export class UsersController {} 기본적인 컨트롤러 구현 각 메서드 함수의 인수에는 경로를 넣어준다. 아래 코드에 따르면 기본 경로는 'users'이다. import { Controller, Delete, Get, Patch, Post } from '@nestjs/common'; @Controller('users') ex..

Javascript/Node.js 2022.07.13

[ Javascript ] - nestjs 기본 세팅

직접 구현하여 보기 1. node.js 가 기본적으로 설치되어 있어야 함 2. nest.js 클라이언트가 설치되어 있어야 함 ( > npm i @nestjs/cli ) 위에서 nest new [project_name]을 통해 생성된 폴더 구조에서 처음부터 구현해보기 위해 app.service.ts, app.controller.ts, app.controller.spec.ts 파일과 test폴더는 지워주고, app.module.ts파일에서는 controllers와 providers 부분을 지워준다. // app.module.ts 파일 import { Module } from '@nestjs/common'; @Module({ }) export class AppModule {} 3. 모듈 생성 // nest에서..

Javascript/Node.js 2022.07.13