프로그래밍/Node.js 59

Node.js 생활코딩 정리 – CRUD + Auth MYSQL 버전 모두 합치기

CRUD + Auth MYSQL 버전 모두 합치기 마지막으로 app_mysql2.js에다가 app_multi_user_mysql3.js의 소스를 합쳐서 로그인과 CRUD기능이 있는 웹애플리케이션을 만들어보자 이번에는 app_mysql2.js를 복사해서 app_mysql3.js를 만들어서 작업을 한다. app_mysql3.js var app = require('./config/mysql/express')(); var passport = require('./config/mysql/passport')(app);//반드시 패스포트는 위쪽에 써야됨 var auth = require('./routes/mysql/auth')(passport);//auth.js파일 불러옴 passport를 함수의인자로 넘겨줌 app...

Node.js 생활코딩 정리 - CRUD + Auth MYSQL 버전 라우트 복잡도 낮추기

CRUD + Auth MYSQL버전 라우트 복잡도 낮추기 이번에는 라우트의 복잡도를 낮추는 작업을 해보자. (업로드 기능은 삭제함) topic에 관련된 라우트는 topic.js로 다 옮김 app_mysql2.js var express = require('express');//익스프레스를 가져옴 var bodyParser = require('body-parser') var app = express(); app.use(bodyParser.urlencoded({ extended: false }));//body parser를 사용함 app.locals.pretty = true;//템플릿 줄바꿈 app.set('views', './views/mysql');//템플릿 폴더 위치 표시 app.set('view eng..

Node.js 생활코딩 정리 – CRUD + Auth MYSQL버전을 여러 개의 파일로 나누기3

CRUD + Auth MYSQL버전을 여러 개의 파일로 나누기3 이번에는 app_mysql.js를 최적화 시켜본다. 기존의 app_mysql.js를 복사해서 app_mysql2.js를 만든다. 그리고 먼저 예전에 views_mysql에 있던 jade 파일들을 복사해서 /views/mysql/topic폴더에 넣는다. 복사 전 복사 후 그리고 jade 폴더가 바꼈으므로 다음의 소스를 수정해준다. app_mysql2.js var express = require('express');//익스프레스를 가져옴 var bodyParser = require('body-parser') var fs = require('fs'); var mysql = require('mysql'); var conn = mysql.create..

Node.js 생활코딩 정리 – CRUD+Auth MYSQL버전을 여러개의 파일로 나누기2

CRUD + Auth MYSQL버전을 여러개의 파일로 나누기2 이제 더욱 간단히 데이터베이스부터 express모듈 passport모듈까지 모두 쪼개보자 /config/mysql/express.js module.exports = function(){ var express = require('express'); var session = require('express-session'); var MySQLStore = require('express-mysql-session')(session); var bodyParser = require('body-parser'); var app = express(); app.set('views', './views/mysql');//jade 파일 루트 app.set('view ..

Node.js 생활코딩 정리 – CRUD + Auth MYSQL버전을 여러개의 파일로 나누기 1

CRUD + Auth mysql 버전을 여러개의 파일로 나누기1 app_multi_user_mysql3.js 작업 중 html 소스를 jade로 바꾸기 귀찮으면 다음 사이트를 이용하자(html2jade.org) 처음에는 login페이지와 register 페이지를 jade로 분할해보자 /views/mysql/auth/login.jade h1 Login form(action='/auth/login', method='post') p input(type='text', name='username', placeholder='username') p input(type='password', name='password', placeholder='password') p input(type='submit') a(href='..

Node.js 생활코딩 정리 – 사용자 정의 모듈 만들기

사용자 정의 모듈 만들기 코드를 더욱 압축시키기위해 사용자 정의 모듈을 만들어 보자 /lib/sum.js (사용자 정의 모듈) //아래 _sum함수의 로직은 숨기게 된다. function _sum(a,b){ return a+b; } //require가 아래 함수로 치환된다. module.exports = function(a, b){ return _sum(a,b); } module2.js (사용자 정의 모듈을 사용하는 소스) var sum = require('./lib/sum'); console.log(sum(1,2)); 실행 결과 다음과 같이 실행하면 값을 얻을 수 있다. 이번에는 js파일에 여러개의 함수를 정의해보자 /lib/calculator.js (사용자 정의 모듈) //sum함수 정의 module..

Node.js 생활코딩 정리 – jade extends 란?

jade - extends 만약 두개의 jade 파일이 다음과 같다고 하자 두 jade 파일은 li까지는 같다 즉 중복이 있다. 이를 없애기 위해서는 jade extends를 사용한다. 다음과 같이 layout.jade를 선언해보자 html head body ul li javascript li node js li expressjs article block content 그리고 view.jade를 선언해보자 여기서 | 은 그다음 글자들은 텍스트로 인식하라는 뜻이다. extends ./layout block content | javascript is .... 마지막으로 add.jade를 선언해보자 extends ./layout block content form input(type="text") input(t..

Node.js 생활코딩 정리 – Mysql을 이용한 Login 구현

Mysql을 이용한 Login 구현 노란색으로 표시한 부분이 수정한 부분이다. app_multi_user_mysql.js var express = require('express'); var session = require('express-session');//세션 사용을 위한 모듈 var bodyParser = require('body-parser');//POST 방식 전송을 위해서 필요함 var app = express(); var MySQLStore = require('express-mysql-session')(session);//session mysql 스토어를 위해 사용 var bkfd2Password = require("pbkdf2-password");//pbkdf2-password 모듈 사용 ..

Node.js 생활코딩 정리 – MYSQL을 이용한 회원가입(Register)

Mysql을 이용한 register(회원가입) MYSQL 출력할때 Select * from users\G 를 하면 다음과 같이 출력이 이쁘게 되니 참고바람. register 기능을 배열에 추가했던것을 Mysql버전으로 바꿔보는 예제이다. 수정된 부분은 노란색으로 표시했음. app_multi_user_mysql.js var express = require('express'); var session = require('express-session');//세션 사용을 위한 모듈 var bodyParser = require('body-parser');//POST 방식 전송을 위해서 필요함 var app = express(); var MySQLStore = require('express-mysql-session'..

Node.js 생활코딩 정리 – 인증 기능을 MYSQL을 이용해서 구현하기

인증 기능을 Mysql을 이용해서 구현하기 mysql로 접속하자 다음의 SQL문으로 테이블을 생성한다. UNIQUE는 그 이후로 행이 추가될 때 authId와 같은 값이 들어오면 값을 거절한다는 뜻. 예제는 app_multi_user_facebook2.js를 복사해서 사용한다. 지금까지 파일에 세션정보를 저장하고 있었는데 이것을 mysql로 변경할 것이다. 노란색 부분만 변경된 부분이다. app_multi_user_mysql.js var express = require('express'); var session = require('express-session');//세션 사용을 위한 모듈 var bodyParser = require('body-parser');//POST 방식 전송을 위해서 필요함 var..

반응형