jsonwebtoken 패키지 설치 npm i jsonwebtoken 토큰 발급 const jwt = require("jsonwebtoken"); // es 쓰는 경우 import jwt from "jsonwebtoken"; const token = jwt.sign({ email: "test@user.com" }, "secret_value"); console.log(token); // 로그를 찍어보면 eyJ로 시작하는 긴 문자열이 출력되는데, 이 값이 발급받은 토큰 토큰 검증 - jsonwebtoken 에서 제공하는 verify() 함수를 사용하여 검증한다. - 첫번째 인자로는 토큰 문자열을 받고, 두번째 인자로는 sign() 함수와 동일하게 키를 받는다. const token = jwt.sign({ e..
JavaScript에서 배열을 자르기 위해서는 slice() 함수를 사용한다. slice() - 배열의 일부분을 잘라내어, 새로운 배열로 리턴 - 원본 배열의 값은 유지arr.slice([begin[, end]]) 파라미터 - begin: 잘라낼 배열의 시작 index - end: 잘라낼 배열의 종료 index로, end index 값은 잘라낼 배열에 포함되지 않음 end index를 생략하는 경우, begin index 부터 배열의 끝까지 잘라냄 리턴값 - 잘라낸 원소들로 만든 새로운 배열을 리턴 예시arr.slice(1, 3); // arr[1]~arr[3]까지 복사한 새로운 배열 리턴 (arr[3]은 제외) arr.slice(1); // arr[1]부터 배열의 끝까지 복사한 새로운 배열 리턴 arr..
JavaScript에서 배열 중간에 요소를 추가하거나 삭제하기 위해서는 splice() 함수를 사용한다. splice() - 배열의 요소를 삭제, 교체하거나 새로운 요소를 추가하여 기존 배열을 변경하고, 변경된 배열을 반환array.splice(start[, deleteCount[, item1[, item2[, ...]]]]) 파라미터 - start: 변경할 배열의 시작 Index - deleteCount: start index부터 deleteCount의 개수만큼 요소 삭제 - items: 배열의 start index에 item들 추가 리턴값 - 삭제된 요소의 배열을 리턴 예시 # 추가users.splice(1, 0, 'Test'); // 1번 인덱스 자리에 'Test' 추가# 삭제users.splice..
Import const { Storage } = require('@google-cloud/storage') const xlsx = require('xlsx') GCP Storage에 파일 업로드 try { const storage = new Storage() await storage .bucket(bucket) .file(file) .save(req.files.image.data, { public: false, }) } catch (err) { console.log('storage error ', err) } GCP Storage에 업로드한 xlsx 파일을 json으로 조회 const storage = new Storage() const content = await storage.bucket(bucket..
요즘 웹 사이트들은 안티 봇 시스템을 사용하여 헤드리스 브라우저를 감지 할 수 있다. 감지를 조금이나마 피하는 방법을 정리해보자. 1. 프록시 사용 - args에 매개변수로 proxy를 추가할 수 있다. const puppeteer = require('puppeteer'); const proxy = ''; // Add your proxy here (async () => { // Initiate the browser with a proxy const browser = await puppeteer.launch({args: ['--proxy-server=${proxy}']}); // ... continue as before })(); 2. 헤더 설정 - 사용자 지정 헤더를 추가할 수 있다. (user-agen..
nest cli 사용을 위해 글로벌로 설치$ npm i -g @nestjs/cli nest cli 사용하여 폴더 생성 후 프로젝트 구조에 맞게 수정하여 사용Documentation | NestJS - A progressive Node.js frameworkhttps://docs.nestjs.kr/cli/usages// crud 구조 생성 $ nest g resource ${RESOURCE_NAME} $ nest g res ${RESOURCE_NAME} // 컨트롤러 생성 $ nest g controller ${CONTROLLER_NAME} $ nest g co ${CONTROLLER_NAME} // 서비스 생성 $ nest g service ${SERVICE_NAME} $ nest g s ${SERVIC..
종류 Express Fastify Nest Koa LoopBack Express 프레임워크 중 점유율 1위 대규모 커뮤니티, 많은 문서 MVC 패턴 지원 소규모 개발에 적합 내부적으로 발생하는 비동기 관련 오류를 잡아내지 못해 try/catch문 사용 필요 내장되어있는 모듈, 미들웨어가 많고 외부 모듈 붙이기 힘듦 express-validator로 간편하게 유효성 검사 unit test는 jest, mock… 필요 주간 다운로드 수 - 13,895,038 샘플: GitHub - hjkang1217/express: express framework Nest Spring Framework와 유사 cli를 사용하면 초기 프로젝트 구성 쉬움 typescript 지원, javascript도 가능 OOP(Object..