Back-end/Node.js

[Node.js] Sequelize란? Sequelize사용법

나는 처음 노드로 개발을 시작했을 때 부터 지금 까지는 MySQL쿼리를 직접 작성해서 RDBMS를 구현하였다. 하지만 요즘에는 효율적인 ORM들이 있고, 그중에 대표적인 ORM인 Sequelize가 있다. 이번시간에는 Sequelize에 대해서 알아보고, 사용법에 대해 알아보도록 하자. Sequelize란? 먼저 ORM(Object-Relational Mapping)은 객체지향 패러다임을 활용하여 관계형 데이터베이스(RDB)의 데이터를 조작하게 하는 기술이다. 이를 활용하면 쿼리를 작성하지 않고도 객체의 메서드를 활용하는 것처럼 쿼리 로직을 작성할 수 있다. Sequelize는 MySQL, PostgreSQL, MariaDB 등 많은 RDBMS를 지원하고 Promise 기반으로 구현되었기 때문에 비동기 ..

2021.07.13 게시됨

Back-end/Node.js

[Node.js]jsonwebtoken(JWT)토큰이란?

JWT 는 JSON Web Token의 약자로 전자 서명 된 URL-safe (URL로 이용할 수있는 문자 만 구성된)의 JSON이다. 전자 서명은 JSON 의 변조를 체크 할 수 있게되어 있다. JWT는 속성 정보 (Claim)를 JSON 데이터 구조로 표현한 토큰으로 RFC7519 표준 이다. JWT는 서버와 클라이언트 간 정보를 주고 받을 때 Http 리퀘스트 헤더에 JSON 토큰을 넣은 후 서버는 별도의 인증 과정없이 헤더에 포함되어 있는 JWT 정보를 통해 인증한다. 이때 사용되는 JSON 데이터는 URL-Safe 하도록 URL에 포함할 수 있는 문자만으로 만든다. 다음과 같은 상황에서 JWT 가 유용하게 사용 될 수 있다: 회원 인증 : JWT 를 사용하는 가장 흔한 시나리오다. 유저가 로그인..

2021.06.21 게시됨

Back-end/Node.js

[Node.js]RestAPI에서 PUT,DELETE,method-override 사용하기

먼저 RestAPI가 뭘까? 아래 게시물에 RestAPI가 뭔지 간단하게 정리해놓았다. (Server_RP2) #인스타그램클론코딩 EC2,RDS,RESTAPI apply.softsquared.com/ SOFTSQUARED 단순한 개발 지식만을배워가는 곳이 아닙니다 소프트스퀘어드는 함께 성장합니다. 개발 트레이닝을 통해 개인의 역량이 성장합니다. 성장한 역량은 소프트스퀘어드 resilient-923.tistory.com RestAPI에서 변경된 정보를 수정하는 방법에는 PUT,PATCH,DELETE가 있다. 하지만 PUT 과 DELETE는 HTML이 지원하지 않는다. express에서 app.put과 app.delete 대신에 app.post를 사용하는 경우가 있고 나또한 그렇게 개발을 했었던 적이 있는데..

2021.06.19 게시됨

Back-end/Node.js

[Node.js]Logging 모듈 winston이란?

Nodejs로 Express 서버를 만들 때 디버깅용도로 console.log를 자주 사용했었다. 하지만 한계가 있고, Project를 실제 수행하다보면 서버의 동작을 파악하거나 오류를 찾아야 할때 로그파일을 뒤져보는 것이 중요하다고 느꼈다. 그래서 이번에는 Logging을 돕는 winston 라이브러리에 대해서 알아보려고 한다. 다음과 같이 npm 으로 설치를 해준다. winston과 winston-daily-rotate-file를 설치한다. winston은 로그를 남기는 라이브러리이고, winston-daily-rotate-file은 1일 단위로 로그를 쌓도록 관리해주는 라이브러리이다. npm install --save winston winston-daily-rotate-file npm install..

2021.06.17 게시됨