Backend 70

Maria DB - Express 연결 (Maria DB 설치 및 MYSQL workbench로 접속 및 Express 연결)

(1) Maria DB 설치 (window 64로 설치) https://goddaehee.tistory.com/201 [ Database ] 윈도우 10 MariaDB 설치 [ Database ] window10 마리아DB 설치 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ window10 마리아디비 설치 방법 ] 입니다. : ) 0. 설치하기 앞서 #1 마리아 DB (Maria DB)란? - MariaDB는 MariaDB사가.. goddaehee.tistory.com 나는 체크하였다. (2) MYSQL workbench로 접속하기 https://ing-yeo.net/2020/02/study-nodejs-database-mariadb/ 노알못 Node.js 정리: 데이터베이스(MariaDB) - ING-..

Rest API, CRUD 개념 정리

1. REST API의 탄생 Representational State Transfer API -API : Application Programming Interface 응용프로그램에서 데이터를 주고 받기 위한 방법 (식당의 점원역할. 어떤 특정 사이트에서 특정 데이터를 공유할 경우 어떠한 방식으로 정보를 요청해야 하는지 어떤 데이터를 제공 받을 수 있는지에 대한 규격) HTTP 주요 저자 중 한 사람인 로이 필딩이 웹(HTTP)설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 웹의 장점을 최대한 활용할 수 있는 아키텍처로 발표. 2. REST 구성 (1) 자원 (resource) - URL (2) 행위 (verb) - HTTP Method (3) 표현 (representation) 3. REST 의 ..

token 생성한 뒤, 로그인 된 상태 판단하기

Main 페이지 토큰 값이 로그인 되어있는 지를 확인 1. req.header.token에 들어온 token 2. 토큰이 헤더에 있고, jwt.verify으로 token 확인, 유효기간, 형식확인 후 3. req.decoded에 token값을 넣어준다. 그럼 이제 main을 실행하려고 하는데, 받아햐하는 정보가 토큰이다. 어떻게 실행을 해보지? jwt 데이터를 어떻게 줘야하는거지 Sign Up 회원가입은 토큰 사용 X, 데베에 저장만 Sign In 토큰 생성 Refresh

간단한 회원가입 쿼리짜기

의문점 : 여러 정보들 입력 값 중, null이 존재하면 db 저장에 오류가 생기나? 답 : No, 있는 값만 들어간다. 1. Postman에서 입력 받기 : 사용자가 회원가입 시, 입력한 값을 받는다 : User DB의 모든 값을 입력 받을 수 있으나, 입력 없는 값은 null로 들어간다. 2. 예외처리 : 입력 중, 이메일 중복이 있으면 INSERT 안한다 "존재하는 이메일입니다" 3. 입력 값 DB에 넣어주기 router.post('/data', async (req, res) => { const getUser = "SELECT * FROM user WHERE email=?"; const getResult = await db.queryParam_Parse(getUser, req.body.email);..

서버 인증이 뭘까 그리고 인증방식은? (JWT)

인증, 왜 필요한가? 서버관점에서는 모든 API요청에 대해 사용자를 확인해야 한다. 예시로, 좋아요를 누가 눌렀는지를 서버는 누구인지를 파악해야 한다. 그렇지 못한다면, 정보전달이 엉망진창이 되버린다. 이로써 인증과정을 통해 요청에 맞는 데이터를 뿌려준다. *HTTP 요청 HTTP통신 : 앱, 웹에서 가장 많이 쓰이는 통신 방식 HTTP통신은 응답 후 연결을 끊기게 되며 과거 정보를 담지 않는다. 즉 항상 누가 보내는 요청임을 알려줘야 한다. 서버에 요청을 보내는 작업은 HTTP메세지를 보내는 것이다. HTTP 메세지 구조 : [ 헤더 + 공백 + 바디 ]에 따라, 헤더에 요청에 대한 정보가 들어가고, 바디에 서버로 보내야 할 데이터가 들어간다. 토큰 기반 인증 방식 (JWT) 토큰을 만들어서 HTTP ..

JWT(json web token) 다뤄보기

1. JWT 구조 Header . Payload . Signature (1) Header 두가지 요소로 구성된다. token의 type과 서명에 사용된 알고리즘이 들어간다. (3번 서명값에 사용될 알고리즘이 들어간다) 이 JSON 은 base64로 인코딩되어 첫번째 파트에 들어가게 된다. (2) Payload 토큰에 담을 클레임(Claims)을 포함한다. 여러 클레임 포함가능 클레임 : Payload에 담는 정보의 한 조각, 객체나 추가적인 데이터를 표현한다. 클레임 형태 : name - value 한 쌍으로 구성 3가지의 유형으로 나뉜다. 1. 등록된 클레임 (registered claims) 권장하고 있는 클레임 iss (issuer 토큰 발행자) exp (expriation time 토큰 만료시간)..

REST API - 좋아요 기능, 글 목록 구분짓기

1. 좋아요 기능 구현하기 좋아요 상태 판단하기 -코드분석 router.get('/search/:boardIdx/:user_id',async(req,res)=>{ console.log(req.params); console.log(req.params.boardIdx); console.log(req.body.title); const getBoard = "SELECT * FROM board where boardIdx = ?"; const getBoardResult = await db.queryParam_Parse(getBoard,req.params.boardIdx); const getLikelist = "SELECT * FROM likelist where boardIdx = ? AND user_id = ?";..