전체 글 71

async/await 란?

함수앞에 async라고 작성하면 그 함수는 자동으로 Promise를 반환하게 됨 async로 선언한 함수 내에서 await이라는 단어 뒤에 오는 작업(Promise객체)을 끝날때까지 멈췄다가 다음 작업을 실행함 비동기적인 상황에서 작업의 순서를 정해야할때 사용함 (이벤트 루프를 직접 사용하진 않지만 이벤트루프를 사용하는 promise를 사용하므로~! 이벤트루프를 간접적으로 사용함.... 설명이 뭔가 내가 그린 기린 그림 같다.)

개발/JavaScript 2023.03.25

Promise 란?

비동기적인 상황에서 작업의 순서를 정해야할때 사용함 이벤트루프를 기반으로 함 js의 비동기 처리를 위한 것 pending, fulfilled, rejected의 세가지 상태중 하나를 가짐!! pending 에서 비동기처리 작업이 완료되면~ 1) fulfilled 로 전환돼서 결과값을 반환하거나 2) 오류 발생시 rejected 상태로 전환돼서 오류정보를 반환함 성공시(fulfilled 상태) then()을 실행하고 실패시(rejected 상태) catch()를 실행함. 또한 then()을 여러개 가질 수 있는데 위에서부터 순서대로 각 then()이 완료되면 그 다음 then()이 실행됨. 작업 순서의 가독성이 좋아짐!!~~ *promise.all()을 쓰면 promise.all()안에 있는 then()이..

개발/JavaScript 2023.03.25

JWT란? (로그인시 토큰 발행 과정)

클라이언트와 서버간의 인증정보를 안전하게 전달한다. JWT만들어지는 과정: 1) 토큰의 타입, 암호화 방법 정의 2) 토큰에 포함될 정보 담기 (사용자id, 권한 등) 3) 1,2의 내용을 모두 암호화 한 후 시크릿키 사용하여 생성 장- 서버에 저장하지 않으므로 서버 부하 줄어듬, 시크릿키 있어서 위조 불가능 단- 클라이언트에서 복호화 할 수 있어서 보안성 떨어짐 플젝때 작성했던 ... 로그인시 JWT발행 과정: 1) 로그인 성공시 서버에서 토큰 발행 후 클라이언트에 전달 2) 클라이언트가 토큰 저장하고 인증 필요할때마다 토큰값을 서버에 보냄 3) 서버에서 토큰 검증 후 요청값 클라이언트에게 반환

개발/JWT 2023.03.25

bcrypt (회원가입시 비밀번호 해싱)

입력값을 해시화 해주는 라이브러리. 같은 입력값에 대해선 항상 같은 해싱값을 반환함!! 해싱된 비밀번호를 다시 복호화 할 수 없는 단방향임. 플젝에서 회원가입 구현시 해싱했던 방법: 1)회원가입시, 받아온 pw를 해싱해 db에 저장함 2)로그인시 입력된 pw를 해싱함 3)db에서 회원가입때 저장된 해싱 pw를 꺼내옴 4)2와 3을 비교해서 일치하면 로그인 성공!