데브코스

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..
전체조회Map이 key-value 쌍으로 생성되어도, JSON형식으로 바로 브라우저에 보낼수는 없다. 입력정제가 필요하다~ forEach() 자바스크립트 함수`JSON.stringify` 메소드 : app.get("/youtubers", (req, res) => { let youtubers = {}; db.forEach((val, key) => (youtubers[key] = val)); res.json((youtubers));}); for + each " 개선된 for문"배열 + 일반적 사용까지 확대객체(배열)에서 요소를 하나 꺼낸 다음 매개변수로 그 요소를 전달하여 호출하는 콜백함수const arr = [1,2,3,4,5];arr.forEach((val, idx, all)=>console.log..
http 메소드 postex. 회원가입post는 url이 아니고 숨겨서 body에 담아서 전송하게 된다.웹 브라우저에서 확인할 수 없고, Postman에서 테스트를 돌려서 확인할 수 있다. Postman API Platform | Sign Up for FreePostman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.www.postman.compc에 설치해서 사용하는 것을 권장한다. 웹 버전에서는 불가능한 기능이 많기 때문! Postman여러 메서드(GET,..
string만 담던 MapKey (id)Value (productName)1"notebook" / 10000002"cup" / 130003"chair" / 2100004"diary" / 26000문자열 + 부가 정보들(가격)let db = new Map();let nodebook = { productName: "notebook", price: 1000000,};let cup = { productName: "cup", price: 13000,};let chair = { productName: "chair", price: 210000,};let diary = { productName: "diary", price: 26000,};db.set(1, nodebook);db.set(2, cup);db..
닷다라다나닷
'데브코스' 태그의 글 목록 (7 Page)