node.js 62

Node.js 생활코딩 정리 – 세션으로 로그인 애플리케이션 만들기

Session 1 : Intro 쿠키 방식과는 다르게 사용자의 ID값만 클라이언트 브라우저에 저장한다. 나머지 실제 데이터 서버쪽에 저장된다. 요청할 때마다 set-cookie : connect.sid값으로 클라이언트를 식별한다. 결국 세션도 쿠키를 이용한다. 세션을 이용하기 위해서 npm install express-session –save 를 설치해야한다. express-session은 기본적으로 메모리에 세션 정보를 저장한다. 그래서 애플리케이션을 껏다키면 세션 정보가 날라간다. 그래서 실제 서비스 할 때는 데이터베이스에 세션데이터를 저장해야 한다. app_session.js var express = require('express'); var session = require('express-sess..

Node.js 생활코딩 정리 – Cookie 암호화

Cookie 암호화 쿠키값을 암호화해보자 app.use(cookieParser('키값));에 키값을 넣으면 이 키를 이용해서 암호화한다. req.cookies.count를 req.signedCookies.count로 변경 res.cookie('count', count, {signed:true});로 변경 다음과 같이 count와 cart가 암호화가 된다. app_cookie_security.js var express = require('express'); var cookieParser = require('cookie-parser');//쿠키 파서 사용 var app = express(); app.use(cookieParser('123afasdfabaf%$#!'));//expressjs API보면 나옴 /..

Node.js 생활코딩 정리 – Cookie를 이용한 장바구니 만들기

Cookie 이용하기 2번째 장바구니 만들기 app_cookie_cart.js var express = require('express'); var cookieParser = require('cookie-parser');//쿠키 파서 사용 var app = express(); app.use(cookieParser());//expressjs API보면 나옴 //상품들 리스트 원래는 데이터베이스여야함 var products = { 1:{title:'The history of web 1'}, 2:{title:'The next web'} }; //상품들 페이지 app.get('/products', function(req, res){ var output = ``; for(var name in products){//..

Node.js 생활코딩 정리 – HTTP 및 Cookie 구현하기

HTTP(Hyper Text Transfer Protocol)란? 웹브라우저와 웹서버간의 통신을 위한 규약 웹브라우저 request 웹서버 크롬에서 F12누르고 NETWORK탭을 보면 HTTP 헤더정보를 볼 수 있다. Cookie 구현하기 클라이언트에 대한 정보는 클라이언트의 PC의 하드디스크에 저장하는 정보이다. PC내에 텍스트 파일의 형태로 저장되며 총 300개까지 저장 할 수 있다. 각 도메인당 20개가 가능하며 한 파일의 최대 크기는 4096byte이다. 쿠키를 사용하기 위해 cookie parser를 설치한다. app_cookie.js var express = require('express'); var cookieParser = require('cookie-parser');//쿠키 파서 사용 v..

Node.js 생활코딩 정리 – 세번째 웹애플리케이션 글 삭제 기능 구현

Node.js 웹애플리케이션 글 삭제 기능 구현 삭제 수정은 반드시 POST방식을 써야함을 잊지말자. GET방식을 쓰면 취약점이 된다. app_mysql.js app.get('/topic/:id/delete', function(req, res){ var sql = 'SELECT id, title FROM topic';//글목록을 보여주기 위한 쿼리문 var id = req.params.id; conn.query(sql, function(err, topics, fields){ var sql = 'SELECT * FROM topic WHERE id=?'; conn.query(sql, [id], function(err, topic){ if(err){//에러가 있다면 여기서 처리 res.status(500).s..

Node.js 생활코딩 정리 – 두번째 웹애플리케이션 글 편집 기능 구현

Node.js 웹애플리케이션 글 편집 기능 구현1 특정한 topic을 선택후 edit링크를 통해 데이터를 수정한다. 먼저 view.jade 파일을 수정한다. doctype html html head meta(charset='utf-8') body h1 a(href='/topic') Server Side Javascript ul each topic in topics li a(href='/topic/'+topic.id)= topic.title article if topic h2= topic.title = topic.description div= 'by'+topic.author else h2 Welcome | This is server side js. ul li a(href='/topic/add') add i..

Node.js 생활코딩 정리 – 첫번째 MYSQL을 이용해서 웹애플리케이션 구현하기

MYSQL을 이용해서 웹애플리케이션 구현 app_mysql.js var express = require('express');//익스프레스를 가져옴 var bodyParser = require('body-parser') var fs = require('fs'); var mysql = require('mysql'); var conn = mysql.createConnection({ host : 'localhost', user : 'root', password : 'qwer1234', database : 'o2', port : 3307 }); conn.connect();//database 접속 완료 var app = express(); var multer = require('multer');//업로드를 위한 m..

Node.js 생활코딩 정리 – node-mysql 사용하기

node-mysql 1 : 접속 node-mysql 설치 database_mysql.js var mysql = require('mysql'); var conn = mysql.createConnection({ host : 'localhost', user : 'root', password : 'qwer1234', database : 'o2', port : 3307 }); conn.connect(); //connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) { // if (err) throw err; // // console.log('The solution is: ', rows[0].solution); //}); var sql = '..

Node.js 생활코딩 정리 – MYSQL 데이터베이스 사용법

MYSQL 데이터베이스 사용법 mysql 실행 비트나미 설치 경로\mysql\bin에서 mysql-uroot –p 를 치면 비번을 넣으라고 나옴 비번 치면 접속 완료 ./mysql –hlocalhost –P3306 –uroot -p 위와 같이 해도됨 -h는 mysql 서버명 명시 –P는 3306 포트를 의미함 데이터베이스 생성하기 CREATE DATABASE o2 CHARACTER SET utf8 COLLATE utf8_general_ci; show databases로 데이터베이스 생성 확인 use o2 //o2라는 이름의 데이터베이스를 사용함 show tables로 테이블이 제대로 생성된 것을 볼 수 있음. 데이터 삽입 INSERT INTO topic (title, description, author)..

Node.js 생활코딩 정리 - 파일업로드 준비

파일업로드 준비 multer라는 모듈을 설치해보자 npm install –save multer 파일업로드 2: 업로드 폼 jade 파일에서 form을 지정할 때 enctype="multipart/form-data"를 반드시 유의하자(파일업로드시에는 필요) var express = require('express');//익스프레스를 가져옴 var bodyParser = require('body-parser') var fs = require('fs'); var app = express(); var multer = require('multer');//업로드를 위한 multer를 가져옴 var upload = multer({dest: 'uploads/'});//uploads라는 폴더가 업로드 폴더임 app.use..

반응형