반응형

Back-end/Node.js 32

[Node.js+MYSQL] 시퀄라이즈 (2) (Sequelize)

https://soohyun6879.tistory.com/162 [Node.js +MYSQL] 시퀄라이즈 (1) (Sequelize) 시퀄라이즈란? (Sequelize) 시퀄라이즈는 ORM 입니다. 즉, 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입니다. 시퀄라이즈는 여러 가지 데이터베이스와 연결할 수 있습니다. soohyun6879.tistory.com 이전 포스팅에 이어서 시퀄라이즈에 대해 살펴보겠습니다. 이번 포스팅에서는 모델을 정의하고 모델 사이의 관계를 정의해보겠습니다! 1. 모델 정의하기 시퀄라이즈를 통해 MYSQL과 연결하기 위해서 MYSQL에서 정의한 테이블을 시퀄라이즈에서도 정의해야 합니다. (MYSQL 의 테이블 = 시퀄라이즈의 모델) 모델은 models 폴더 안에 정의..

Back-end/Node.js 2021.07.18

[Node.js +MYSQL] 시퀄라이즈 (1) (Sequelize)

시퀄라이즈란? (Sequelize) 시퀄라이즈는 ORM 입니다. 즉, 자바스크립트 객체와 데이터베이스의 릴레이션을 매핑해주는 도구입니다. 시퀄라이즈는 여러 가지 데이터베이스와 연결할 수 있습니다. 시퀄라이즈가 자바스크립트 구문을 알아서 SQL로 바꿔주기 때문에 자바스크립트만으로 데이터베이스를 조작할 수 있습니다. MYSQL 설치방법은 따로 다루지 않겠습니다! 설치가 다 완료되었다는 가정 하에 시작합니다 1. MYSQL에 테이블 생성하기 먼저 테이블을 생성하기 전에 테이블을 생성할 데이터베이스를 생성합니다. 다음 명령어를 MYSQL 프롬프트에 입력합니다. create database nodejs default character set utf8; use nodejs; 데이터베이스 생성 후 테이블을 생성합니다..

Back-end/Node.js 2021.07.18

[Node.js] 템플릿 엔진 사용하기 (Pug, Nunjucks)

템플릿 엔진은 자바스크립트를 사용해서 HTML를 렌더링할 수 있게 합니다. 대표적인 템플릿 엔진인 퍼그(Pug) 와 넌적스(Nunjucks) 에 대해 간단히 살펴보겠습니다. 1. 퍼그 (Pug) 먼저 퍼그를 사용하기 위해 퍼그를 설치해줍니다. npm install pug 익스프레스와 퍼그를 연결해줍니다. views 는 템플릿 파일들이 위치한 폴더를 지정하는 것입니다. view engine 은 어떠한 종류의 템플릿 엔진을 사용할지를 나타냅니다. // app.js const express = require('express'); const app = express(); app.set('port', process.env.PORT || 3000); app.set('views', path.join(__dirname..

Back-end/Node.js 2021.07.16

[Node.js] req, res 객체의 여러가지 메서드

Express의 req, res 객체의 여러가지 메서드에 대해 살펴보겠습니다! req req.app - app 객체에 접근할 수 있다. ex) req.app.get('port') req.body - body-parser 미들웨어가 만드는 요청의 본문을 해석한 객체 req.cookies - cookie-parser 미들웨어가 만드는 요청의 쿠키를 해석한 객체 req.ip - 요청의 ip 주소 req.params - 라우트 매개변수에 대한 정보가 담긴 객체 req.query - 쿼리스트링에 대한 정보가 담긴 객체 req.signedCookies - 서명된 쿠키들 req.get(헤더 이름) - 헤더의 값 res res.app - app 객체에 접근할 수 있다. res.cookie(키, 값, 옵션) - 쿠키를 ..

Back-end/Node.js 2021.07.16

[Node.js] 라우터 분리하기

app.get 같은 메서드를 "라우터" 라고 합니다. app.js 에 라우터를 많이 연결하면 코드가 길어지고 복잡해지므로 라우터를 분리해보겠습니다! routes 폴더를 만들고 그 안에 라우터를 분리하여 저장하겠습니다. const express = require('express'); const router = express.Router(); router.get('/', (req, res) => { res.send('Hello, Express'); }); module.exports = router; const express = require('express'); const router = express.Router(); router.get..

Back-end/Node.js 2021.07.16

[Node.js] 미들웨어

미들웨어 미들웨어란? - 구조 내에서 중간 처리를 위한 함수 1) express 프레임워크에서 사용할 수 있는 중간 처리 목적의 소프트웨어 : 기본적인 express 구조 내에서 처리 목적으로 사용 2) 요청에 대한 응답을 완수하기 전까지 다양한 일을 처리할 수 있음 3) 미들웨어 함수 생명주기 : request - response 응답을 주기로 종료됨 4) 미들웨어 함수 우선순위 : 먼저 로드되는 미들웨어 함수가 먼저 실행됨, 코드 순서가 중요함 app.use('/', (req, res, next) => { console.log('모든 요청에서 실행되는 미들웨어.'); next(); }); app.get('/', (req, res, next) => { console.log('GET / 요청에서만 실행되..

Back-end/Node.js 2021.07.13

[Node.js] Express 프로젝트 생성하기

첫번째 방법은 프로젝트에 들어갈 파일을 하나씩 만들어 가면서 프로젝트를 생성하는 것이고, 두번째 방법은 기본 세팅이 다 되어 있고 빠르게 프로젝트를 생성하는 것입니다! 기본 세팅을 하기 귀찮고 빠르게 프로젝트를 생성하고 싶다면 두번째 방법을 참고하시면 좋을 것 같습니다 :) 1. 천천히 프로젝트 생성하기 package.json을 생성하기 위해 아래 명령어를 입력하면 여러 가지 옵션을 설정할 수 있게 콘솔에 나타날 것입니다. 아래 사진처럼 옵션들을 설정해주면 됩니다. 자유롭게 설정해도 괜찮습니다! npm init express를 설치해줍니다. 설치가 완료되면 node_modules 라는 폴더가 생성되고, package.json의 dependencies에 express가 추가된 것을 볼 수 있습니다. npm..

Back-end/Node.js 2021.07.11

[Node.js] 쿠키와 세션 (Cookie and Session)

웹 사이트에 방문해서 로그인을 할 때 쿠키와 세션을 사용합니다. 서버에서 누구인지 기억하기 위해서는 요청에 대한 응답을 할 때 쿠키를 같이 보냅니다. 즉, 서버는 미리 클라이언트에 요청자를 추정할만한 정보를 쿠키로 만들어 보내고 그 다음부터는 클라이언트로부터 쿠키를 받아 요청자를 파악합니다. 먼저 쿠키를 생성하는 것부터 알아보겠습니다. 쿠키 생성하기 const http = require('http'); http.createServer((req, res) => { console.log(req.url, req.headers.cookie); res.writeHead(200, { 'Set-Cookie': 'mycookie=test' }); // 쿠키 생성 res.end('Hello Cookie'); }) .li..

Back-end/Node.js 2021.07.10

[Node.js] 요청과 응답 서버 (http)

요청과 응답 서버 만들기 서버에서 요청을 받고 응답을 어떻게 하는지 알아보겠습니다! 다음은 서버의 간단한 요청과 응답의 예시입니다 const http = require('http'); http.createServer((req, res) => { res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' }); res.write('Hello Node!'); res.end('Hello Server!'); }) .listen(8080, () => { // 서버 연결 console.log('8080번 포트에서 서버 대기 중입니다!'); }); 터미널에서 "node 파일명" 명령어를 입력하면 서버가 실행되고 웹에서 "http://localhost:8080" ..

Back-end/Node.js 2021.07.10

[Node.js] 파일 시스템 모듈(fs), 이벤트

파일 시스템 모듈인 fs 모듈과 이벤트에 대해 알아보겠습니다. fs 모듈 fs 모듈은 파일 시스템에 접근하는 모듈입니다. 파일을 생성하거나 삭제하고 일고 쓸 수 있습니다. fs 모듈의 여러 가지 메소드에 대해 알아보겠습니다. 파일 읽기/쓰기 1. 파일 읽기 - readFile const fs = require('fs'); fs.readFile('./readme.txt', (err, data) => { if (err) { throw err; } console.log(data); console.log(data.toString()); }); fs.readFile(파일 경로) - fs 모듈을 불러온 뒤 파일 경로를 지정하면 파일을 읽을 수 있습니다. readFile의 결과물은 버퍼 형식이므로 사람이 읽을 수 있..

Back-end/Node.js 2021.07.09
반응형