Skip to content

Commit a6f9432

Browse files
岸本靖之岸本靖之
岸本靖之
authored and
岸本靖之
committed
FirstCommit
0 parents  commit a6f9432

File tree

700 files changed

+95984
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

700 files changed

+95984
-0
lines changed

.DS_Store

8 KB
Binary file not shown.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# text_node_express_mysql

app.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
var express = require('express');
2+
var path = require('path');
3+
var favicon = require('serve-favicon');
4+
var logger = require('morgan');
5+
var cookieParser = require('cookie-parser');
6+
var bodyParser = require('body-parser');
7+
8+
var index = require('./routes/index');
9+
var users = require('./routes/users');
10+
11+
var app = express();
12+
13+
// view engine setup
14+
app.set('views', path.join(__dirname, 'views'));
15+
app.set('view engine', 'ejs');
16+
17+
// uncomment after placing your favicon in /public
18+
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
19+
app.use(logger('dev'));
20+
app.use(bodyParser.json());
21+
app.use(bodyParser.urlencoded({ extended: false }));
22+
app.use(cookieParser());
23+
app.use(express.static(path.join(__dirname, 'public')));
24+
25+
app.use('/', index);
26+
app.use('/users', users);
27+
28+
// catch 404 and forward to error handler
29+
app.use(function(req, res, next) {
30+
var err = new Error('Not Found');
31+
err.status = 404;
32+
next(err);
33+
});
34+
35+
// error handler
36+
app.use(function(err, req, res, next) {
37+
// set locals, only providing error in development
38+
res.locals.message = err.message;
39+
res.locals.error = req.app.get('env') === 'development' ? err : {};
40+
41+
// render the error page
42+
res.status(err.status || 500);
43+
res.render('error');
44+
});
45+
46+
module.exports = app;

bin/www

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#!/usr/bin/env node
2+
3+
/**
4+
* Module dependencies.
5+
*/
6+
7+
var app = require('../app');
8+
var debug = require('debug')('text-node-express-mysql:server');
9+
var http = require('http');
10+
11+
/**
12+
* Get port from environment and store in Express.
13+
*/
14+
15+
var port = normalizePort(process.env.PORT || '3000');
16+
app.set('port', port);
17+
18+
/**
19+
* Create HTTP server.
20+
*/
21+
22+
var server = http.createServer(app);
23+
24+
/**
25+
* Listen on provided port, on all network interfaces.
26+
*/
27+
28+
server.listen(port);
29+
server.on('error', onError);
30+
server.on('listening', onListening);
31+
32+
/**
33+
* Normalize a port into a number, string, or false.
34+
*/
35+
36+
function normalizePort(val) {
37+
var port = parseInt(val, 10);
38+
39+
if (isNaN(port)) {
40+
// named pipe
41+
return val;
42+
}
43+
44+
if (port >= 0) {
45+
// port number
46+
return port;
47+
}
48+
49+
return false;
50+
}
51+
52+
/**
53+
* Event listener for HTTP server "error" event.
54+
*/
55+
56+
function onError(error) {
57+
if (error.syscall !== 'listen') {
58+
throw error;
59+
}
60+
61+
var bind = typeof port === 'string'
62+
? 'Pipe ' + port
63+
: 'Port ' + port;
64+
65+
// handle specific listen errors with friendly messages
66+
switch (error.code) {
67+
case 'EACCES':
68+
console.error(bind + ' requires elevated privileges');
69+
process.exit(1);
70+
break;
71+
case 'EADDRINUSE':
72+
console.error(bind + ' is already in use');
73+
process.exit(1);
74+
break;
75+
default:
76+
throw error;
77+
}
78+
}
79+
80+
/**
81+
* Event listener for HTTP server "listening" event.
82+
*/
83+
84+
function onListening() {
85+
var addr = server.address();
86+
var bind = typeof addr === 'string'
87+
? 'pipe ' + addr
88+
: 'port ' + addr.port;
89+
debug('Listening on ' + bind);
90+
}

memo/memo.txt

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
■起動手順
2+
アプリ起動
3+
nodemon [監視するディレクトリ]でサーバを起動し、npm install ~するときだけcontroll + cでサーバを停止
4+
npm install ~したあとはnodemon [監視するディレクトリ]でサーバーを起動
5+
→[Sun Oct 22 16:12:23]text_node_express_mysql Dmill$ nodemon text_node_express_mysql
6+
画面アクセス
7+
localhost:3000
8+
MySQL起動(ローカル)
9+
$ mysql.server start
10+
■ソース
11+
▼依存関係
12+
moment.jsとか、全部グローバル(-g)でインストールして使おう
13+
・moment.js
14+
・MySQL
15+
▼ディレクトリ(ローカル)
16+
/Users/Dmill/Dropbox/01_codes/text_node_express_mysql
17+
▼個別
18+
routes/index.js
19+
・res.render()のviewファイル
20+
app.jsのapp.set()により'views'と定められたviewフォルダ(path.join(__dirname, 'views')配下の'index'
21+
→即ちindex.ejs
22+
・情報の進み方
23+
ブラウザから送信されたものは、index.ejsにまず行く?index.ejsとindex.jsはどっちが先に参照される?どっちからどっちが呼び出される?
24+
■エラー
25+
Error: Can't set headers after they are sent.
26+
あるルートの中で一度レスポンスを返した場合に、別のレスポンスを返そうとした場合に発生するエラー
27+
Node.jsではノンブロッキングI/Oという性質から、この場合でも同時に2つの返り値を出してしまうことがある。
28+
対処法は、なんてことはない。しっかりと分岐条件を分けて書くこと。

mysqlConnection.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
var mysql = require('mysql');
2+
3+
var dbConfig = {
4+
host: '127.0.0.1',
5+
user: 'root',
6+
password: '',
7+
database: 'bulletin_board'
8+
};
9+
10+
var connection = mysql.createConnection(dbConfig);
11+
12+
module.exports = connection; // 外部からrequireできる形に

node_modules/.DS_Store

8 KB
Binary file not shown.

node_modules/.bin/mime

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)