Cookie, 403`npm i cookie-parser` cookie-parserParse HTTP request cookies. Latest version: 1.4.6, last published: 2 years ago. Start using cookie-parser in your project by running `npm i cookie-parser`. There are 8759 other projects in the npm registry using cookie-parser.www.npmjs.comif (loginUser && loginUser.password == password) { const token = jwt.sign( { email: loginUser.ema..
전체 글
커다란 자갈돌은 짱돌 빙글빙글 돌아가는 맷돌🪨 FE 개발자를 위한 여정을 엉망진창 기록하자JWT토큰이란?선택적 서명 및 선택적 암호화를 사용하여 데이터를 만들기 위한 인터넷 표준이다. Json 형태로 웹에서 데이터를 안전하게 전달할때 사용한다.유저를 인증, 인가하기 위한 토큰 기반이다.RESTful과 같은 Stateless 환경에서 사용자 데이터를 주고받을 수 있다.인증 Authentication, 인가 Authorization에서 사용한다. 구조dot `.`을 기준으로 세 부분으로 나뉘게 된다. BASE64 Url 인코딩 방식을 사용한다. JWT.IOJSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.jwt.io 헤더 Header서명 시..
validate - next()함수로 사용했을 경우? 콜백함수가 잘 호출된다.함수로 사용이 아닌, 변수에 할당해서 모듈화를 했다면, 콜백함수가 호출되지 않고 response가 무한로딩된다.모듈 선언 + response 보내고, 끝낸다고 파악하기 때문에 > 다음 콜백함수를 사용하라고 선언해준다. router 매개변수 req, res + `next`validate 모듈에서 에러가 발생하지 않는다면 next()로 다음 인자 할일인 콜백함수 호출하기const validate = (req, res, next) => { const err = validationResult(req); if (!err.isEmpty()) return res.status(400).json(err.array()); else retur..
🙌문제설명상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다.목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자. 상근이가 높이를 15로 지정했다면, 나무를 자른 뒤의 높이는 15, ..
유효성 검사 validation사용자가 입력한 값(에 따른 결과값) 타당성,유효성을 확인하는 것- userId : 값이 있어야 한다, 숫자- 채널 name : 값이 있어야 한다, 문자- 사람 name : 숫자 X, 문자열, 2글자 이상 express-validator일일이 검사할 수 있지만, 외부모듈을 사용해 검사한다! express-validatorExpress middleware for the validator module.. Latest version: 7.0.1, last published: a year ago. Start using express-validator in your project by running `npm i express-validator`. There are 10662 othe..
☑️ What I Learn라우팅node.js의 Express 에서도 react처럼 app.js로 라우팅 할 수 있다.express.Router()각 내보내려는 파일을 모듈화 해서 exports 한 다음, app에서 require로 모듈 미들웨어를 생성하고, 모듈을 사용한다. if 문if 문이 너무 많을때, 논리연산자, includes 배열, 비구조화(삼항연산자) try catch 문 사용해서 생략그런데 백엔드에서는 백엔드 구현 시에는 언제 또 복잡한 로직으로 수정될지 모르기 때문에, 가급적 if 문을 그대로 사용하는 것이 좋을것 같다. includes() 메서드 - 배열 Array.prototype.includes() - JavaScript | MDNArray 인스턴스의 includes() 메서드는 배..
☑️ What I LearnJS 언어의 구조분해할당→ JSON 비구조화, 배열의 비구조화JS 구조분해할당과 유사하게 작동하지만, query의 변수값으로 설정해주어야 동작한다는 것이 다른점 [JS] Lv.1 K번째수🙌문제설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째datdaradanadat.tistory.com npm 꼬일때 해결법수시로 사용하게 된다. npm install 에서 package.json, node_modules 생성 에러⚠️에러 npm으로 모듈은 설치 되지만, `warn ebadengine..
DB 모듈화mariadb.js 파일에 `module.exports = connection;` 로 모듈화 추출db를 사용하려는 파일 user.js 파일에 `const conn = require("../mariadb");` 모듈화 사용콘솔을 찍어보고, app.js 에서 실행 run 시켜본다면?const conn = require("../mariadb");// Simple queryconn.query("SELECT * FROM `users`", function (err, results, fields) { var { id, name, email, created_at } = results[0]; console.log(id); console.log(name); console.log(email); conso..
workbenchdocker로 mariadb를 사용하기 때문에, docker 는 켜놔야한다.비밀번호는 root 로 생성하고, 기존에 내 pc 에 있던 sql80을 열었다.youtube DB 생성id는 1234~이메일 로 유일성 만족Zero Fill : 소괄호 숫자 안의 수가 정수소수 byte 옵션인지, 자릿수인지 등0으로 기존으로 채우고 싶다면 default에 0으로gui로도 외래키 컬럼을 생성한 다음에, user_id 외래키 설정을 해줘야한다.id 순서 auto로 만든다면, 사람이 하면 순서가 꼬이거나 빈공간이 생길 가능성이 있기 때문에 건들지 않는다!대신 auto는 실패한 것들도 연산으로 ++ 해준다! DB와 연동하기 npmmysql2 npm 모듈// Get the clientconst mysql =..