728x90 반응형 Express5 [TIL] 9/25 next(), 인증, 인가, 로그인, 쿠키, 세션, JWT, 토큰 1. 모듈화 하기 유효성 검사를 통과하지 못했을 때 에러를 처리하는 부분이 코드에서 반복되어 모듈화를 시키고 유효성 검사 부분과 함께 배열로 만들어 get의 첫번째 매개변수로 넣어주었다. get 의 첫번째 매개변수는 콜백함수가 실행되기 전에 먼저 실행해야할 부분으로 유효성 검사 후에러가 발생하면 validate 모듈이 실행되어 에러가 처리, 에러가 발생하지 않으면 모듈에서 빠져나와 콜백함수가 실행될 것이라고 생각했는데 그렇지 않았다. 에러가 발생한 경우에는 예상대로 처리되었지만, 에러가 발생하지 않은 경우에는 모듈 코드에서 빠져나오지 못해 request 가 제대로 처리되지 않고 무한 로딩에 빠지는 문제가 발생했다. -> 에러가 없는 경우에도 validate 가 실행이 되는데, 에러가 없는 경우 re.. 2024. 9. 26. [TIL] 9/9 API 설계 - 회원 API, 채널 API 1. 미니미니 프로젝트 (실습) 지난번에 했던 미니미니 프로젝트를 이어서 해보려고 한다. 지난번에는 회원 API 의 회원가입 / 회원 개별 조회 / 회원 개별 탈퇴까지 했으니, 로그인 API 를 만들어보자. 이전 내용은 여기에 [TIL] 9/6 핸들러, 예외 처리, HTTP 상태코드1. 핸들러 (Handler)HTTP request 가 날아오면 자동으로 호출되는 메소드 노드에서는 콜백함수로, 콜백함수를 핸들러라고 생각하면 된다. (cf. 스프링에서는 컨트롤러라고 불린다)즉, HTTPMETHOD 를 사용everydayc0ding.tistory.com 1.1. 로그인 코드 여기서 로그인 하려는 유저의 정보를 담기 위한 변수 loginUser 의 초기값은 빈 객체 ({}) 이다. 그래서 단순히 if (lo.. 2024. 9. 9. [TIL] 9/3 express, Map, express generator, 자바스크립트 함수 1. express + map - 객체 담기 map 에는 string 뿐 아니라 객체도 담을 수 있다. // express 셋팅const express = require('express');const app = express();app.listen(1234);// data 셋팅let db = new Map();let notebook = { productName: "NoteBook", price: 2000000}let cup = { productName: "Cup", price: 3000}let chair = { productName: "Chair", price: 100000}let poster = { productName: "Poster", price: 2000.. 2024. 9. 3. [TIL] 9/2 parseInt, params, query, Destructuring 문법, Map, 네이밍케이스 1. params 1.1. parseInt 자바스크립트 문자열을 정수로 변환하는 함수로, 문자열의 앞부분부터 숫자를 읽어서 정수로 변환한다. 만약 숫자가 아닌 문자가 나타나면 그 지점에서 변환을 중지한다. 기본적으로 10진수로 변환하지만, 다른 진수를 지정할 수도 있다. parseInt(string, radix); // 문자열, 진수(선택사항) 기본적으로 req.params 로 전달되는 URL 경로 매개변수들은 모두 문자열로 처리된다. URL 경로는 문자열로 처리된다고 했으니 이렇게 코드를 짰을 때 콘솔문은 출력이 안될 것이라고 생각할 수 있다. 하지만, URL 경로로 products/10 을 넣으면 콘솔문은 출력이 된다. -> 자바스크립트는 비교 연산시 자동으로 타입 변환이 이루어지기 때문이다. .. 2024. 9. 2. 이전 1 2 다음 728x90 반응형