본문 바로가기

MySQL

[Node.js] express session 사용하기 인증 방식 정리하기 1. Session 기반 인증 방식 2. JWT 기반 인증 방식 3. OAuth 2.0 기반 인증 방식 인증 방식 구현하기 [Node.js] express session 사용하기 [Node.js] passport session 사용하기 [Node.js] JWT 사용하기 [Node.js] passport Google OAuth 2.0 로그인 사용하기 1. 서론 지난 포스팅에서 Session 인증 방식에 대해서 알아봤다. 그렇다면 Node.js로 어떻게 Session 인증 방식을 구현할 수 있을까? 이번 포스팅에서는 Session의 저장 방식 3가지(메모리, 디스크 또는 DB) 모두를 간단하게 구현해보도록 하겠다. 만약 Session 인증 방식에 대한 기본 개념이 명확하지 않다면 지난 포.. 더보기
[Node.js] mysql을 async/await로 처리하기 1. 서론 node.js 에서 콜백 지옥을 피하기 위해서는 Promise 또는 async/await를 써야 한다. 이때 Promise를 선택하게 되면 다시 Promise chain의 콜백 지옥에 빠지게 된다. 그래서 대부분의 사람들이 사용하는 처리 방식이 async/await이다.(물론, Promise와 함께 사용하는 경우도 많다.) mysql도 이러한 async/await 방식으로 구현할 수 있다. 다만, 사용하는 모듈은 mysql 모듈이 아니고, mysql2 모듈이다. 다른 모듈이므로 반드시 mysql2를 설치해야한다. mysql은 async/await 방식 사용이 불가능하다. 만약, async/await에 대한 이해가 아직 부족하다면 이 포스팅을 읽고 오기 바란다. 2. 환경 설정 전제 조건 mys.. 더보기
[Docker] docker-compose (node.js, mysql) 실행 순서 동기화 1. 서론 대부분의 경우 AWS의 RDS나 워크스테이션의 DB 등을 사용하여 안정적인 DB 환경을 구축하지만, 테스트 용도나 간단한 프로젝트에서 DB를 구현할 때는 Docker를 이용할 수 있다. 이러면 MySQL의 데이터가 안정적이지 않다고 하는 사람들도 있지만, 그 문제는 volume을 연결하는 방식으로 해결할 수 있다. 그런데 막상 docker-compose로 node.js 서버와 mysql을 연결해보면 연결 오류가 나는 걸 알 수 있다. 그 문제는 바로 실행 순서 때문인데, mysql이 node.js 서버보다 느리게 구동되기 때문이다. 이를 위해 node.js가 mysql보다 느리게 구동되도록 동기화하는 작업이 필요하다. 이 포스팅에서는 node.js와 mysql을 예시로 들었지만 다른 언어의 서.. 더보기