var http = require('http');
var express = require('express');
var url = require('url');
var path = require('path');
var validator = require('validator');
/* db connection */
var mysql = require('mysql');
/*
var db_config = {
host : "localhost",
user : "root",
password : "",
database : ""
};
*/
var db_config = {
host : "us-cdbr-east-05.cleardb.net",
user : "",
password : "",
database : ""
};
var db_pool;
function handleDisconnect() {
db_pool = mysql.createPool(db_config);
db_pool.getConnection(function(err) {
if (err) {
console.log('error when connecting to db:', err)
setTimeout(handleDisconnect, 2000);
}
});
db_pool.on('error', function(err) {
console.log('db error', err);
if (err.code === 'PROTOCOL_CONNECTION_LOST') {
handleDisconnect();
} else {
throw err;
}
});
}
handleDisconnect();
/* redis session store */
var RedisStore = require('connect-redis')(express.session);
var redis = require('redis');
var redisURL = url.parse("");
var redisClient = redis.createClient(redisURL.port, redisURL.hostname, {
no_ready_check : true
});
redisClient.auth(redisURL.auth.split(":")[1]);
redisClient.on("error", function(err) {
console.log("error event - " + redisClient.host + ":" + redisClient.port
+ " - " + err)
});
/* express middle wear */
var namespace = require('express-namespace');
var resource = require('express-resource');
var path = require('path');
var ejs = require('ejs');
var app = express();
app.set("view engine", "ejs");
app.engine('html', ejs.renderFile);
var iniparser = require('iniparser');
var config = require('./config.json')[app.get('env')];
app.use(express.static('./public'));
app.set('views', './views');
app.use(express.responseTime());
app.use(express.cookieParser(''));
app.use(express.session({
store : new RedisStore({
client : redisClient
}),
secret : '',
cookie : {
maxAge :600000
}}));
app.use(app.router);
app.use(express.errorHandler());
app.use(express.logger('dev'));
app.use(express.bodyParser({
keepExtensions: true,
uploadDir: './uploads'
}));
/* routes */
var routesDashboard = require('./routes/dashboard.js')(app);
var routesLogin = require('./routes/login.js')(app);
/* starting server */
http.createServer(app).listen(config.port, function() {
console.log('Express app started on port ' + config.port);
});
개인적인 URL같은건 지웠는데 구조 평가좀...
복잡도 평가해달라는 소린가요?
구조라던가..아님 더 좋은 구조화 방법이 있다던가...그릉거
얌마 반복을 없애야지. Require 대체 몇번 쓰는지 세봤냐? 반복을 없애려면 무슨 컴포넌트 개념 같은 걸 넣고, 컴포넌트가 시작할 수 있게 하는 함수 만들고, 컴포넌트 정의에 의존성 넣고 뭐 이런식으로 해야지 무슨 주루루 나열하고 평가는 무슨... 명심해라 추상화된 구조물들을 만들어야 그걸 쌓아나가면서 프로그래밍 할 수 있는거다
밥을 먹어서인지 몰라도 너 코드 보니까 왜케 조릴냐 ㅋㅋ
역시 프갤엔 ㅄ들만 있군요...
잘짯어 - DCW