일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹 프로그래밍
- 장고
- 웹 프론트엔드
- 모닝버드
- 웹프로그래밍
- 장고 공부하기
- express-mysql-session
- 레일즈
- 파이썬 웹 프레임워크
- rails review
- 루비 온 레일즈
- 데스크탑애플리케이션
- 웹 프로그래밍 입문
- django 공부하기
- 예스인테리어
- 꿀팁
- 홈페이지 개발하기
- rails
- Ruby On Rails
- 프론트엔드
- nodejs
- nodejs api
- 모듈화
- 루비온레일즈
- css3
- Django
- node.js
- Python
- 루비
- jquery
- Today
- Total
목록프로그래밍/node.js (13)
노래하듯 이야기하고, 춤추듯 정복하라.
최근 맥북에서 mysql을 설치한 후 sequelize 를 이용하여 접근하면 제목과 같은 오류가 항상 등장한다. 버전 업그레이드가 되면서 생긴 문제인진, 정확히 모르지만 해결 법을 찾아보겠다. 1. mysql_native_password를 재 설정해 주자. ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword'; query ok 구문이 보이면서 바로 통과되는 경우도 있지만, 정책 설정 문제로 비밀번호 조합이 약할 때 아래와 같이 또다른 에러가 등장할 때가 있다. ERROR 1819 (HY000): Your password does not satisfy the current policy requirements..
# 필요한 모듈 const multer = require('multer'); const multerS3 = require('multer-s3'); const fs = require('fs'); // 설치 x const path = require('path'); // 설치 x const AWS = require('aws-sdk'); # app.js에서 aws 설정 세팅 const AWS = require('aws-sdk'); AWS.config.update({ accessKeyId: process.env.AWS_ACCESS_KEY_ID, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, region : 'ap-northeast-2' }); # img 업로드 구현 ..
# 로그인 상태 유지 & 자동 로그인 구현 ## 필요한 모듈 // npm install jsonwebtoken const jwt = require('jsonwebtoken') // npm install uuid const uuidv4 = require('uuid/v4') ## Front(세션 정보)에서 받아와야 할 정보 * uuid => 사용자가 로그인 시 사용자 DB 업데이트와 함께 프런트에 전달한다. const { user_id, uuid } = req.body // uuid => 사용자가 로그인 시 사용자 DB 업데이트와 함께 프런트에 전달한다. ## router 구현 1. 로그인 - routes/auth.js const uuidv4 = require('uuid/v4'); const jwt = re..
# JWT 토큰을 활용하여 로그인된 사용자 확인하기 ## jsonwebtoken 모듈 설치 및 middleware 개발 1. 모듈 install sudo npm i jsonwebtoken 2. middlewares => exports.verifyToken // jwt const jwt = require('jsonwebtoken'); exports.verifyToken = (req, res, next) => { try { req.decoded = jwt.verify(req.headers.authorization, process.env.JWT_SECRET) return next(); } catch (err) { if (err.name === 'TokenExpiredError') { return res.sta..
# 핵심 모듈 함수가 async ~ await 문법으로 설계되어 있을 때 -> 모듈을 불러오 사용할 때도 await moduleName(val1, val2) 와 같이 사용할 것! * 참고링크 https://stackoverflow.com/questions/45608525/async-await-promise-pending-error Async/Await Promise Pending Error I'm having a bit of an issue with an error dealing with promises. So initially I had my function set up like this, and it all worked fine, no problems. Original: const request = ..
#서두안녕하세요 모닝버드입니다. 오늘은 express-mysql-session 모듈을 설치하여 각 사용자의 세션 id를 mysql 데이터베이스에 저장하는 것과 passport의 passport-local 모듈을 사용하여 사용자 인증을 구현하는 것을 공부했습니다. #express-mysql-session- npm에 모듈 설치하기* 명령어 : npm install express-mysql-session --save - .js 파일에서 모듈 임포트하기새로운 const 변수에 require('express-mysql-session')을 통해 모듈으 임포트합니다. 그리고 session 설정의 store 부분에 새로운 MySQLStore() 객체를 할당하고 세부적인 설정을 해줍니다. {host: 서버주소(domai..
#서두안녕하세요 모닝버드입니다. 오늘은 Node.js에서 인증을 구현할 때 사용자의 password를 안전하게 암호화하여 저장하고 관리하는 방법에 대해 공부해 보았습니다. 암호화 모듈은 여러가지가 있는데요. 필자가 공부한 모듈은 md5, sha256(sha512), pbkdf2 이 세가지다. 처음으로 공부한 것이 md5인데 이 모듈은 사용하지 않는 것이 좋다. http://www.md5online.org/https://crackstation.net/ 위의 사이트들을 통해 md5를 통해 암호화된 hash(해쉬)를 입력하면 손쉽게 복호화를 할 수 있기 때문에, md5는 보안상 거의 사용하지 않는다. * 복호화 : 암호화의 반댓말, 암호를 해독하다. 풀다. #사용가능한 암호화 모듈 - sha256(512), ..
#서두안녕하세요 모닝버드입니다. 쿠키에 이어 세션에 대해 공부해 보았는데요. 쿠키와 세션을 간단하게나마 배우고 나니 정말 웹에서의 백엔드를 배우는 느낌이 듭니다. - 쿠키의 단점을 보완한 세션Cookie(쿠키)를 생성하게 되면 기본적으로 실제 데이터를 사용자의 pc에 저장하게 됩니다. 데이터가 암호화가 되어있다 하더라도 사용자의 중요한 정보(예를 들면 비밀번호, 주민번호 등)가 pc에 저장되게 되면 탈취/해킹에 대한 위협요소들이 존재하게 되죠. 또한 저장되어 있는 정보들은 서버와 사용자 pc간의 이동이 발생합니다. 하지만 세션은 사용자의 pc에 데이터를 직접적으로 저장하지 않습니다. 실제 데이터는 서버에 보관해 두고 각각의 사용자(PC)들에대한 고유 id 값을 쿠키에 저장하여 기록합니다. 서버는 사용자의..
안녕하세요 모닝버드입니다. 오늘은 Node.js에서 Cookie 값을 다루는 것에 대해 스터디를 진행했습니다. 웹 프로그래밍에 있어서 Cookie를 언급하면 Session 이란 것도 빼놓을 수 없는데요. 오늘은 쿠키를 중심으로 스터디 내용을 포스팅하고 Session 부분은 다음 번 포스팅 때 다루어 보겠습니다. # Cookie와 Session을 사용하는 이유웹을 개발함에 있어서 Cookie와 Session을 사용하는 가장 큰 이유는 바로 Http의 기능적 특성 때문입니다. 장점이라 하면 장점일 수 있고 단점이라 하면 단점인 특성인데요. 바로 Connectionless와 Stateless 이 두 가지 입니다. 얘네 둘을 간단히 설명하자면.. - Connectionless: 클라이언트가 서버에게 요청(Req..
# 서두안녕하세요 모닝버드입니다. 오늘 node.js 를 공부한지 3일차가 되어가는데요. 이쯤에서 제가 공부한 내용들을 한번 정리하고 넘어가려합니다. 현재 저는 인프런에 올라와 있는 생활코딩의 이고잉님의 강좌를 듣고 있습니다. 위의 사진처럼 이고잉님의 강의는 3가지로 나누어져 있는데, 맨 아래 보라색 강좌가 node.js 기초를 다룹니다. node.js의 기본적인 개발환경 구축에서부터 가장 많이 사용하는 프레임워크들, 템플릿 엔진 등을 설명하고 있습니다. 두번째 분홍색 강좌는 node.js 프로그래밍에서 mysql을 활용하는 방법을 설명합니다. mysql의 기초적인 사용방법과 쿼리문들 부터 설명을 해주셔서 초보자 분들도 배우기 수월할 것 같습니다! 마지막으로 맨 위 세번째 강좌는 활용입니다. 저도 이제 ..