Javascript 49

[ Next.js ] - next api에서 express-rate-limit 사용하기

기본적으로 express-rate-limit은 무분별한 요청으로 인한 서버 과부하를 막기 위해 사용되는 라이브러리이다. 백엔드 서버를 제대로 구축하여 express-rate-limit을 사용하는 것은 express-rate-limit문서에 나온 그대로 사용하면 문제없이 사용할 수 있지만 next에서 express-rate-limit을 그대로 사용하면 에러가 나고 제대로 작동하지 않기 때문에 해당 라이브러리를 사용하기 위해서는 수정하여 사용하여야 한다. 기본적인 express-rate-limit 사용 ☞ 2022.06.02 - [Javascript/Node.js] - [ Node.js ] - 서버 DDos 공격 막기 사용방법 next 환경 구축 > npx create-next-app --ts // 위의 명..

Javascript/Next.js 2022.07.26

[ 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

Json(JavaScript Object Notation)

Json(JavaScript Object Notation) 웹 네트워크 상에서 일반적으로 데이터 교환을 위해 사용되는 것으로, 객체가 문자열화된 형태이다. JSON.stringify() 객체 형태를 JSON 형태로 바꾸어 준다. const user = { name: 'mihee', age: 27, hobby: 'sleep' } const jsonUser = JSON.stringify(user); console.log(jsonUser) // {"name":"mihee","age":27,"hobby":"sleep"} JSON.parse() JSON형태를 객체 형태로 바꾸어 준다. const user = { name: 'mihee', age: 27, hobby: 'sleep' } const jsonUser =..

Javascript/etc 2022.07.10

[ Next.js ] - next-auth 사용법 (credentials)

next-auth next에서 사용되는 패키지의 일종으로 로그인과 같은 사용자 인증 기능을 제공하여 준다. Github, Google, Facebook, Credentials 등의 인증 옵션을 제공한다. 여러 인증 옵션 중에서 Credentials는 사용자로부터 아이디와 비밀번호를 받아 백엔드 서버를 통해 인증하는 것이다. 사용법 기본적으로 next 환경을 세팅하여 준다. > npx create-next-app --typescript 해당 명령어 입력후 프로젝트 명을 입력하고 기본설정을 선택하여 준다. next-auth사용을 위한 패키지를 설치하여 준다. > npm install next-auth or > yarn add next-auth .env파일에 NEXTAUTH_URL=http://localhos..

Javascript/Next.js 2022.06.18

[ NestJs ] - NestJs란?

NestJs? nodejs에서 애플리케이션 구축을 위해 사용되는 프레임워크의 하나이다. 타입스크립트와 OOP(Object Oriented Programming)을 지원한다는 특징이 있다. NestJs 초기 세팅 // 기본적으로 node.js가 설치되어 있다고 가정하였다. // nest.js 클라이언트가 설치되어야 한다. > npm i -g @nestjs/cli nest cli를 사용할 수 있도록 전역에 nest client인 @nestjs/cli를 설치하는 명령어이다. > nest new [project_name] nestjs의 프로젝트를 위한 기본적인 폴더 구조 및 환경을 생성하여 주는 명령어이다. [project_name] 생성하려는 project의 명칭을 넣는다. 해당 명령어 입력 시 위와 같이 어..

Javascript/Node.js 2022.06.15

[ Node.js ] - iamport를 사용해서 pg사 연동해보기

Iamport 카카오페이, 토스페이 등 국내 PG사와의 연동을 제공하여 주는 서비스이다. 1. 가입 및 로그인 아임포트 사이트 : https://www.iamport.kr 위의 사이트를 들어가면 맨 처음에 지금 시작하기를 클릭 후 회원가입한다. 회원가입 후 로그인시 위와 같은 창이 나오면 왼쪽 아래에 관리자 콘솔 1.0바로가기를 클릭한다. 위와같은 창이 나오면 시스템 설정을 클릭한다. 시스템 설정창에 들어가면 가맹점 식별코드와 REST API키, REST API secret이 나오는데 해당 정보들은 pg 연동시 사용된다. 2. 사용자 측 화면에 결제창 보여주기 공식문서 : https://docs.iamport.kr/implementation/payment 위의 링크는 공식문서 링크로 예시가 존재한다. 우..

Javascript/Node.js 2022.06.15

[ Node.js ] - node.js란? ( + 기본 코드 )

Node.js 👉 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임이다. node.js는 서버 실행용으로 주로 사용된다. 런타임 : 특정 언어로 만든 프로그램들을 실행할 수 있는 환경 서버 : 네트워크를 통해 클라이언트 정보나 서비스를 제공하는 컴퓨터 또는 프로그램 클라이언트 : 요청을 보내는 주체로, 주로 브라우저를 의미한다.( 모바일 앱이나, 다른 서버에 요청을 봬는 서버도 클라이언트가 될 수 있다. ) 특성 ✔ 이벤트기반 이벤트가 발생할 때 사전에 짜여진 작업을 수행한다. 즉 특정 이벤트 발생 시 해당 이벤트에 설정해둔 콜백함수를 호출한다. 호출된 함수들은 순서대로 호출 스택에 들어가고 함수 실행이 완료되면 호출 스택에서 마지막에 들어간 호출부터 지워지게 된다. 즉 후..

Javascript/Node.js 2022.06.10

[ JAVASCRIPT ] - 객체 메소드

Object.assign( ) 객체 형태로 복제하여 준다. const user = { name: 'mihee', age: 27, like: 'snack' }; const new_user = Object.assign(user); // user의 내용을 {}에 담아 new_user에 할당한 것이다. // { name: 'mihee', age: 27, like: 'snack' } console.log(new_user); const info1 = { like: 'tv' } const info2 = { hobby: 'sleep' } Object.assign(new_user, info1, info2); console.log(new_user); // { name: 'mihee', age: 27, like: 'tv',..

Javascript/etc 2022.06.10

[ Node.js ] - 서버 DDos 공격 막기

express-rate-limit 과도한 요청으로 인해 서버에 과부하를 주는 것을 방지하기 위해 사용하는 라이브러리이다. next에서 express-rate-limit 사용하기 -> 2022.07.26 - [Javascript/Next.js] - [ Next.js ] - next api에서 express-rate-limit 사용하기 사용밥법 npm install express-rate-limit 기본 설정 import rateLimit from 'express-rate-limit'; const limiter = rateLimit({ windowMs: 1000 , //1초 ... 15 * 60 * 1000 15분 max: 1, standardHeaders: true, // Return rate limit ..

Javascript/Node.js 2022.06.02