- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Express
- single quote
- sequelize
- moment
- Find
- Node.js
- clipBehavior
- https
- TailwindCSS
- nginx
- AWS
- Nodejs
- RDS
- jsonwebtoken
- atlas
- css
- findByIdAndDelete
- EC2
- MYSQL
- til
- certbot
- TypeScript
- JavaScript
- await
- mongoose
- mongodb
- flutter
- wil
- double quote
- async
목록Web (54)
기억 휘발 방지소
📌 Nodemailer Nodemailer는 쉽게 이메일을 보낼 수 있도록 하는 Node.js 애플리케이션용 모듈이다. 📌 설치 npm i nodemailer 📌 사전작업 1. '구글로그인 > Google 계정 관리 > 보안 > Google에 로그인'에서 2단계 인증설정 2. 앱 비밀번호 설정 앱 비밀번호를 메일, Windows 컴퓨터로 설정하고 생성 생성된 비밀번호는 밑에서 transport 객체를 생성할 때 사용한다. 📌 1. 전송 옵션 설정 createTransport메소드로 옵션을 설정한 후 전송객체 생성 gmail로 이메일을 보낼거라서 service를 gmail로 설정했다. auth.pass에는 위에서 생성한 앱 비밀번호를 넣어준다. const transporter = nodemailer.cre..
📌 express-validator express-validator는 express 유효성 검증 모듈이다. 📌 설치 npm i express-validator 📌 유효성 검증하기 라우터에 추가해주면 된다. 'body("필드", "메시지").검증API.검증API.검증API...'의 형태로 사용하면 된다. body는 req.body에서 오는 값만을 검사한다. 점(.)으로 검증API들을 붙여서 사용하면 된다. const { body } = require("express-validator/check"); const { createPost } = require("../controllers/feedController"); router.post( "/posts", [ body("title").trim().isLeng..
📌 jsonwebtoken jsonwebtoken은 json 웹 토큰을 편리하게 생성할 수 있는 패키지이다. 오늘(10월 12일)을 기준으로 700만건이 넘는 다운로드 수를 갖는 패키지이다. 📌 설치 아래 명령어로 설치할 수 있다. npm i jsonwebtoken 📌 토큰 생성 토큰은 sign 메소드로 생성할 수 있다. jwt.sign(payload, secretOrPrivateKey, [options, callback]) const jwt = require("jsonwebtoken"); const payload = { id: user.id, email: user.email, username: user.username, }; const secretKey = "secret"; const options =..
📌 JWT (Json Web Token) JWT는 일반적으로 클라이언트와 서버, 서비스와 서비스 사이 통신 시 권한 인가(Authorization)을 위해 사용하는 토큰이다. JWT는 점(.)을 구분자로 해서 다음 3가지로 구분된다. HEADER.PAYLOAD.SIGNATURE HEADER: 토큰 종류와 해시 알고리즘 정보가 들어있다. PAYLOAD: 토큰의 내용물로 인코딩된 부분이다. SIGNATURE: 헤더와 페이로드를 합친 문자열을 서명한 값이다. 서명은 헤더의 alg에 정의된 알고리즘과 비밀키를 통해 생성된다. 시그니처는 JWT 비밀키로 만들어진다. 따라서 비밀키가 노출되면 토큰이 위조될 수 있다. 이렇게 점을 구분자로해서 헤더, 페이로드, 시그니처를 합치면 JWT 토큰이 완성된다. 위의 이미지는..
📌 timestamps 모델을 생성할 때 'timestamps: true' 옵션을 주면 데이터베이스에 created_at, updated_at을 자동으로 생성해준다. 현재시간을 created_at에 자동으로 넣어주는데 문제는 표준시간이 UTC+00:00라는 것이다. 즉, 한국시간보다 9시간 전 시간을 넣어준다는 것이다. 그래서 아래 이미지에 id 6번의 created_at처럼 오전 11시에 저장한 데이터가 오전 2시로 찍히는 것이다. 📌 timezone 설정하기 timezone을 설정하면 쉽게 해결할 수 있다. config/config.json 파일에 timezone을 아래처럼 "timezone": "+09:00"을 넣어주면 id 7번 처럼 한국의 현재 시간을 잘 저장할 수 있다. "development..
📌 shift() 배열의 첫 번째 요소를 제거하고 반환한다. const array = ["a", "b", "c"]; console.log(array.shift()); // a 빈 배열일 경우 undefined를 반환한다. const array = []; console.log(array.shift()); // undefined 📌 pop() 배열의 마지막 요소를 제거하고 반환한다. const array = ["a", "b", "c"]; console.log(array.pop()); // c shift()와 마찬가지로 빈 배열이면 undefined를 반환한다. const array = []; console.log(array.pop()); // undefined