웹 풀 사이클 데브코스

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..
유효성 검사 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..
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 =..
SQL1. board 스키마 생성CREATE DATABASE Board;USE Board;2. 사용자  테이블 생성CREATE TABLE users( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30) NOT NULL, job VARCHAR(100), birth DATE, PRIMARY KEY (id));3. 사용자 데이터 삽입INSERT INTO users(name, job, birth)VALUES("장재현", "director", "810101");INSERT INTO users(name, job, birth)VALUES ("chae", "std", "2000-01-26");날짜 형식이 달라도, 동일하게 DB에 들어오는걸 볼 수 있다.inser..
백엔드 심화DBMS데이터베이스 : 데이터를 효율적으로 관리하기 위해! 중복을 막고, 빠른 데이터 연산을 가능하도록 한다DBMS 데이터베이스를 관리하는 시스템 오라클, MYSQL, MariaDB 엔진의 순위는 크게 바뀌지 않는다.MYSQL이랑 MariaDB는 부모가 같아서 거의 비슷한 엔진이다. RDBMS 데이터 간 관계column 컬럼 > 속성, 세로줄row 행 > 데이터, 가로줄게시글 번호 (Pk)제목내용작성일자수정일자작성자직업생년월일1파묘 감독천만영화2024-02-222024-02-22장재현감독8101012풍수사최종보스 무찌름2022-12-192022-12-19최민식배우6205303무당일본어 잘함2020-03-012020-03-01김고은배우9107024장의사대통령도 염함2019-04-052019-04..
Server, RouterServer : Request를 받는다Router : Request의 URL에 따라 루트를 정해준다. 어디로 갈지 길을 정해주는, 경로를 가이드 해주는express 장점? 🔥라우터 정리 Node.js 에서의 라우팅요청 Request이 날아왔을때, 원하는 경로에 따라 적절한 방향으로 경로를 안내URL, method 데이터에 따라서 호출해주는 "콜백함수"를 라우팅해준다. user.js, channel.js를 합치는 새파일 app.jsroutes 폴더에 user, channel 파일을 넣는다모듈화 할 파일에 (user, channel.js)express.Router() 호출해서 가져온다. > app = express() 대신 모두 router 변수로 변경한다.모듈화로 내보낸다.//e..
로그인 로직app.post("/login", (req, res) => { console.log(req.body); //userId, pwd //userId가 db에 저장된 회원인지 const { userId, password } = req.body; var loginUser = {}; db.forEach((val) => { if (val.userId == userId) { loginUser = val; } }); //userId 값을 못찾으면 if (loginUser == {}) { console.log("아이디같은거찾음"); //pwd 맞는지 비교 if (val.password === password) console.log("비번 같다"); els..
핸들러 handlerhttp request 가 날아오면 자동으로 호출되는 메소드노드 : 콜백함수로, app.HTTPMETHOD(path, 핸들러)*스프링 : 컨트롤러 *부정문보다, 긍정문으로 조건문을 시작하면 조금더 클린코드와 가깝다!`!youtuber` → `youtuber` 예외처리map 객체가 아닌 arr 로 객체 생성했을때?let findFruit = fruits.find((val) => val.id == id); [id]로 찾으면, 객체는 배열 형식으로 생서되었기 때문에 id 값이 아닌, 인덱스 값으로 탐색하게 된다.원하는 id값을 가진 객체를 호출하기 위해서 `.find()`메서드로 배열 안을 탐색해서 값을 찾아낸다. findFruit? res.json(findFruit) : res.statu..
닷다라다나닷
'웹 풀 사이클 데브코스' 카테고리의 글 목록 (6 Page)