분류 전체보기(227)
-
[TIL] 10.30 JWT 사용자 인증
오늘한일 JWT를 사용한 사용자 인증을 구현하였다. 1.jwt.sign jwt.sign( {email: user.dataValues.u_email}, jwtKey.secret, {expiresIn: '20m'} ) 로그인을 할 때 jwt의 sign 함수를 사용한다. sign 함수는 기본 값으로 HMAC SHA256 알고리즘을 사용한다. 첫 번째 인자 => payload 즉 내용을 작성하면 된다. 하지만 claim에 대한 정보는 암호화하지 않기 때문에 중요한 정보는 작성하지 않는 것이 좋다. 두 번째 인자 => secret key를 전달한다. 세 번째 인자 => 토큰에 대한 정보를 객체로 전달한다.(토큰 시간 등) 암호화된 토큰을 https://jwt.io/ 이 사이트에서 확인해 볼 수 있다. 토큰 값을 ..
2019.10.30 -
[TIL] 10.29 crpyto, user table 재설정
오늘 한일 crpyto 코드의 길이가 길어 모듈화를 하려고 했지만 짧게 사용할 수 있는 방법을 찾아서 바로 적용 시켜 주었다. let Password = body.password; let salt = Math.round((new Date().valueOf() * Math.random())) + ""; let hashPassword = crypto.createHash("sha512").update(Password + salt).digest("base64") salt 값은 현재 시간에 랜덤 값을 곱해서 생성된 문자열로 지정해 주었다. salt 값이 랜덤하기 때문에 로그인시 비밀번호가 똑같은지 확인하기 위해서는 salt값을 저장할 필요가 있다. 그래서 user table에 salt 값을 저장하는 콜럼을 만들어..
2019.10.30 -
[TIL] mysql 찝찝한 해결, migration/seed, crpyto 암호화
오늘 한일 어제 머리 아프게 했던 mysql 문제는 결국 mysql 을 완전히 제거하고 새로 설치하는 것으로 해결이 되었다. 아무리 계속 검색을 해보아도 권한을 재 설정 해주라는 방법들 또는 실행 중인 프로세스를 종료하라는 방법들 뿐이었고 그 방법들로는 해결이 되지않았다. 그래서 결국 제거후 재 설치를 하였다. 뭔가 좀 찝찝한 해결이 되어 버렸다. 2주 프로젝트때 migration 설정을 하지않아 계속해서 db를 drop 하고 다시 만든 경우가 있어서 이번엔 migration 설정을 해주었다. 하지만db에는 migration 되었을 때 생성되는 table이 만들어 졌는데 파일은 생성이 되지 않았다. 계속 이미 만들어 졌다는 메시지만 돌아왔다. 그래서 seed설정으로 변경 값들이 있을경우 적용을 해주기로 ..
2019.10.28 -
[TIL] 10.27 mysql server open error
오늘 한일 table을 orm을 사용하여 정의한 뒤 db를 만들어 주기 위하여 mysql.server start를 하자 아래와 같은 error가 발생하였다. (※Sequelize cli 사용하여 모델 정의 방법 sequelize model:create --name TABLE_NAME --attributes "COLUMN1:type, COLUMN2:type, COLUMN3:type") The server quit without updating PID file 발생 에러의 원인은 2가지 인것 같다. 첫 번째는 이전에 실행하고 있던 db sever가 계속 켜져 있어서 실행되는 프로세스를 찾아 강제로 꺼줘야 한다. 두 번째는 권한 문제인 것 같은데 root 권한을 mysql로 변경해 줘야 한다고 한다. 그래서 ..
2019.10.27 -
[TIL]10.25 trello clone project start!!
오늘 한일 코드스테이츠의 HA 시험 때 부족한 부분이 있어서 추가 과제를 받기로 했었다. 그 과제를 오늘 받았는데 trello라는todo list 앱을 클론 하는 것이었다. 내가 배운 기술들을 다시 한번 복습할 수도 있고 또 어디까지 내가 깊이 있는 개발을 할 수 있는지 알 수 있어 좋은 기회가 된 것 같다. 추가 과제에 대한 대략 적인 설명을 듣고 기본 세팅을 시작하였다. 1. git repo와 연결 client와 server를 나누어서 repository를 만든 다음 로컬 폴더와 연결을 시켰다. git init을 꼭 해주어야 한다. 지금 디렉토리를 git을 통해 버전 관리를하겠다고 지정하는 것이다. ※init => Create an empty Git repository or reinitialize a..
2019.10.25 -
[TIL]10.23
오늘 한일 프로젝트를 진행항때 어디에서 비동기 처리를 해야할지를 잘 몰랐었고 여기저기 처리를 해준 기억이 났다. 그래서 비동기에 대해서 좀 더 이해도를 높이고자 callback, promise, async/await에 대한 간단한 사용법과 유의사항 들에 대하여 블로깅을 하였다. stack을 사용해서 queue를 만드는 알고리즘 문제를 풀었다 . dequeue 부분을 stack을 사용해서 어떻게 만들어야 하는지에 대해서 많은 고민을 하였다. this.dequeue = function(){ if(!outbox.size()){ while(inbox.size()){ outbox.push(inbox.pop()); } } return outbox.pop(); }; inbox 와 outbox 변수를 만들어서 stac..
2019.10.23