JavaScript(62)
-
bcrypt 사용방법 [ Javascript ] [ node.js ]
npm i bcrypt // 비밀번호를 DB 에 넣을때 const salt = await bcrypt.genSalt(4) // 기본값은 10, 숫자가 올라갈 수록 연산 시간과 보안이 높아진다. const hashed = await bcrypt.hash('비밀번호를 넣어주세요', salt) // hash 화 된 비밀번호를 만든다. // 비밀번호를 검증할 때 const validationPassword = await bcrypt.compare('입력받은 비밀번호', 'DB에 저장된 비밀번호') // 일치한다면 validationPassword 는 true, 아니면 false
2023.07.07 -
express [ TIL ] [ node.js ]
Problem express 는 무엇인가 Try npm install express const express = require('express') const app = express() const port = 4001 app.get('/', (req, res) => { res.send('안녕 세상아'); }) app.listen(port, () => { console.log(`http://localhost:${port} 연결완료`) }) Solve - node.js 위에서 동작하는 웹 프레임워크 - node.js 개발 시 개발을 빠르고 손쉽게 도와주는 역할, 이는 미들웨어 구조 때문에 가능한 것이다. 자바스크립트 코드로 작성된 다양한 기능의 미들웨어는 개발자가 필요한 것만 선택하여 express 와 ..
2023.06.25 -
async / await [ TIL ] [ node.js ]
Problem express 를 이용하여 간단한 게시판 api 를 만들던중 undefined 가 발생했다. Try router.post("/", async (req, res) => { console.log(req.body); try { const { title, content, userId } = postCreateValidation.validateAsync( req.body ); console.log(title, content, userId); const post = await Post.create({ title, content, userId, }); res.json(post); } catch (err) { if (err.isJoi) { return res.status(422).json({ messa..
2023.06.22 -
태스크 큐 이벤트루프(3) [ TIL ] [ Javascript ]
Problem 태스크 큐에 대해서 알아보장 Try 태스크 큐는 두가지 종류라고 한다. 첫번째는 마이크로 태스크 큐, 두번째는 태스크 큐 이렇게 두개의 태스크 큐가 존재한다. 마이크로 태스크는 자신을 생성한 함수 또는 프로그램이 종료됐고 JavaScript 실행 스택이 빈 후에, 그러나 사용자 에이전트가 스크립트 실행 환경을 운용하기 위해 사용하는 이벤트 루프로 통제권을 넘기기 전에 실행되는 짧은 함수입니다. - mdn web docs - 코드 실행 console.log("안녕하셈!"); setTimeout(() => { console.log("약 2초가 지났습니다."); }, 2000); setTimeout(() => { console.log("약 0초가 지났습니다."); }, 0); console.l..
2023.06.21 -
Web API 이벤트루프(2) [ TIL ] [ Javascript ]
Problem Web API 에 대해서 알아보장 Try Web API 는 브라우저에서 제공하는 API 로 DOM, Ajax, TimeOut 등이 있다. CallStack 에서 실행된 비동기 함수는 Web API 를 호출하고, Web API 는 콜백 함수를 테스크 큐에 넣는다. 코드 작성 console.time("첫번째 setTimeout"); console.time("두번째 setTimeout"); setTimeout(function timer() { console.log("2초가 걸릴까요?"); console.timeEnd("첫번째 setTimeout"); }, 2000); console.log("안녕하심니까"); setTimeout(function timeout() { console.log("5초가..
2023.06.20 -
호출 스택 이벤트 루프(1) [ TIL ] [ Javascript ]
Problem 호출 스택의 간단한 동작원리를 알아보장 Try 말 그대로 스택(LIFO)은 자료구조인데 호출 스택(call stack) 은 함수 호출의 실행 순서를 기록하는 스택 자료구조 이다. 함수가 호출되면 해당 함수의 실행 컨텍스트가 호출 스택의 맨 위에 추가된다고 한다. 그리고 함수 실행이 완료되면 스택에서 제거된다고한다. 호출 스택은 여러 함수들을 호출하는 스크립트에서 해당 위치를 추적하는 인터프리터(웹 브라우저의 자바스크립트 인터프리터같은) 를 위한 메커니즘입니다. 현재 어떤 함수가 동작하고 있는지, 그 함수 내에서 어떤 함수가 동작하는지, 다음에 어떤 함수가 호출되어야 하는지 등을 제어합니다. - MDN Web Docs - 실행 코드 function a() { console.log("함수 a..
2023.06.19