시퀄라이즈(Sequlize) DB 작업을 쉽게 할 수 있도록 자바스크립트 구문을 알아서 SQL 쿼리로 변환해 준다. # 시퀄라이즈 설치 npm install sequelize sequelize-cli mysql2 npx sequelize init 시퀄라이즈를 설치하면 config, models 폴더가 새로 생성된다 시퀄라이즈 첫 번째 순서로 먼저 'config'에서 데이터베이스 연결 정보를 설정한다. 두 번째로 'models' 폴더에서 테이블에 대한 모델을 정의한다 Sequelize.define( )의 첫번째 인자 - 모델 이름 설정 Sequelize.define( ) 의 두 번째 인자 - 칼럼 정의 Sequelize.define( ) 의 세 번째 인자 - 모델 옵션 정의 # 테이블 정의 예시 const..
그동안 model에 가상의 데이터 만들어서 사용했는데 mysql에서 데이터 가져와보기! 먼저 mysql 패키지를 설치 npm install mysql 패키지 설치 후 모델에서 mysql이랑 연결 시켜야한다 *모델에서 데이터 가공, 관리 //db연결, mysql의 접속 정보 값들 입력 const mysql = require("mysql"); //(conn = connect) const conn = mysql.createConnection({ host: "localhost", user: "newuser", pw: "1234", database: "kdt7", //테이블아니고 *데이터 베이스 }); db에서 전체 데이터 가져오는 모듈 만들기 *모듈이란 데이터 베이스에 연결하고 쿼리를 실행하는 등 데이터 베이스..
mvc란? Model-View-Controller의 약자로 소프트웨어 디자인 패턴 중 하나 # 장점 분리된 역할 - 모델, 컨트롤러, 뷰로 분리하여 각각의 역할에 집중할 수 있음 → 재사용성, 유지보수성 향상 Model - 데이터의 저장, 관리, 처리를 담당, DB와 상호작용하여 DB 쿼리를 처리하고 결과를 반환 View - 컨트롤러로부터 전달 받은 데이터로 화면 구상 (ejs) Controller - 모델과 뷰를 연결, 모델로부터 데이터 가져와 가공하고 가공된 데이터를 뷰에 전달 mvc 흐름 라우터(url)요청 들어오면 모델이 데이터를 컨트롤러에게 전달하고 컨트롤러는 받은 데이터를 가공하여 뷰로 전달 1. 모델에 데이터를 넣는다 2. 컨트롤러가 모델에 있는 데이터를 가져와 가공하여 뷰에 보낸다 + 컨트..
데이터 베이스 기초적인 부분을 정리해 보았다 SQL언어가 익숙해지면 테이블 생성하고 조작하는건 어느정도 감이 잡힐 것 같다 ^^... ◾ 데이터베이스(DB) 데이터를 구조적으로 모아둔 데이터 저장소 ◾ 관계형 데이터베이스(RDB) 데이터를 열과 행을 가진 테이블 형태로 표현하며 구조적으로 데이터를 관리함 ◾ 관계형 데이터베이스 관리시스템(RDBMS) 데이터 매니지먼트 시스템 데이터베이스에 데이터를 접근할 수 있게 해주는 도구가 DBMS 주요기능은 데이터 추가, 수정, 삭제, 조회, 무결서 유지, 트랜젝션 관리, 백업 및 복원 등이 있음 오라클, MySQL 등 ◾ SQL RDBMS의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어 어플리케이션(java, php등)이 SQL로 DBMS에 데이터를 ..
백엔드 배운지 일주일 정도 되었는데 쉽지않다! 그래도 계속해서 반복하면 언젠간 쉬워지겠지 제발 오늘 배운 파일업로드와 실습문제에서 가장 헤맸던 부분을 기록해 보았다. 실습 - 이미지를 업로드 하고 render된 페이지에서 이미지 보여주기 1. 폼페이지 만들기 개인정보 //multer 사용시 enctype="multipart/form-data" 꼭!! 아이디 : 비밀번호 : 이름 : 나이 : 프로필사진 : 회원가입 *multer이용시 form태그에 속성으로 enctype="multipart/form-data" 꼭!! 2. 결과 페이지 만들기 아이디 : 비밀번호 : 이름 : 나이 : 3. 대망의 서버 const express = require("express"); const app = express(); c..
비동기 http 통신 클라이언트와 서버가 데이터를 주고 받을때 HTTP 통신을 사용 비동기 HTTP 통신은 새로고침 없이 데이터를 주고받을 수 있음 비동기식 HTTP 통신 3가지 1. ajax 2. *axios : 요즘 제일 많이 사용, 서버로 http 요청을 보내고 응답 받을 수 있음 3. fetch axios 비동기 http 통신이 가능 장점 promise기반으로 만들어졌다. 1. npm install axios //설치 2. //ejs 상단에 복붙 Q. axios 사용해서 버튼을 눌렀을때 input에 입력한 데이터 값을 하단에 출력하려면? 1. 먼저 axios 설치 후 //ejs 상단에 복붙 2. 폼페이지를 만들어야 하므로 onclick 속성이 있는 button, 결과값을 출력할 수 있는 빈 div..
form 폴더에 프로젝트 생성 1. npm init -y 2. npm install express ejs (express와 ejs 동시에 설치) 3. gitignore 폴더 생성 후 git 버전 관리시 제외할 파일 넣기 ex)/node_modules, package-lock.json form 기본 폴더 구조 index.js 기본 코드(서버) const express = require('express'); const app = express; const PORT = 8000; app.set('view engine', 'ejs') //ejs를 뷰엔진으로 등록 app.use('/views', express.static(__dirname,'/views')); //views폴더에 있는 파일들을 사용함 //body..
npm 노드 패키지를 관리해주는 툴 * 설치시 npm install -> npm i로 생략 가능 Express 웹 서버를 생성하는 기능을 담당하는 프레임 워크 npm으로 설치해야됨 ejs 템플릿 ejs 자바스크립트가 내장되어잇는 html 파일 html 안에 자바스크립트 코드가 들어감 서버만들때 기본 코드 const http = require('http') const server = http.createServer() server.listen(8080, function(){ console.log('8080포트 서버 실행') }) const http = require('http') const server = http.createServer(function(req,res){ res.writeHead(200) ..