분류 전체 보기 1310

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 ..

삼성전자(CE/IM) 입사 VS KT(네트워크 관제 및 운용) 입사

안녕하세요? 4학년 2학기에 운좋게도 두개의 기업에 합격하였는데 어느기업에 가야할지 갈피를 잡기가 힘들어 조언 부탁드립니다. 제가 합격한 기업은 삼성전자 CE/IM부서에서 연구개발(HW) 직무와 KT 네트워크 관제 및 운용 직무입니다. 첫번째로 삼성전자의 경우, 장점 : 1. 높은 인지도와 높은 연봉, 좋은 복지시설 2. 내 실력이나 전문성을 쌓기 좋다. 때문에 이직이 비교적 쉽다. 3. 해외경험을 쌓을 수 있다 4. 자율출퇴근제 단점 : 1. 엄청난 업무량과 잦은 야근, 주말 근무 때문에 근속년수가 매우짧다. 2. 개인별 성과주의체제 이기 때문에 개인주의 현상, 부서간 이기주의 현상, 항상 남과 경쟁하여야 한다. 3. CE/IM부서에는 총 10개의 부서가 있기 때문에 어느 부서로 가게 될지는 알 수 없..

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..

Node.js 생활코딩 정리 – facebook 인증 세부 권한 설정

facebook 인증 Permission(페이스북 세부 권한 설정) 다음 예제는 app_multi_user_facebook2.js로 한다. 사용자 이메일을 가져올 수 있다. app_multi_user_facebook2.js에서 다음 부분을 수정해서 페이스북 사용자의 email을 가져올 수 있다. app.get('/auth/facebook', passport.authenticate('facebook', {scope:'email'}//scope에서 페이스북에서 email을 가져올 수 있음. )); //facebook strategy 등록 부분 passport.use(new FacebookStrategy({ clientID: '381822035542311',//개발자 페이지에서 APP ID 값 clientSe..

반응형