2016년 9월 24일 IT벤처 타워 15층에서 진행된 NodeJS 코드랩에 참석 하였습니다. Node JS 는 내가 정말 익히고 싶었던 기술이기 때문에 기쁜 마음으로 나의 주말을 유익하게 보냈습니다. ㅎ_ㅎ
배운 것들
1. node js 설치
2. npm 사용
3. GET , POST, DELETE 메소드 사용
4. mysql 데이터 연동
5. require 사용
6. 디버깅 모듈 사용 (moca)
짧은 시간에 nodejs로 개인 프로젝트를 진행하는데 문제 없을 만큼 많은 기술을 배웠습니다. 노드를 사용하여 어떤걸 만들어 볼지 천천히 고민해봐야 할것 같습니다. ㅎㅎ
아래는 배운 코딩 내용입니다.
<코드랩 코드 트리 목록>

<server.js>
"use strict";
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
app.use('/users', require('./api/users'));
app.listen(3000, () => {
console.log('Example app listening on port 3000!');
require('./models')
.sequelize
.sync({force:true})
.then(()=>{
console.log("DB Sync");
});
});
module.eports = app;
<models.js>
const Sequelize = require('sequelize');
const sequelize = new Sequelize('node_api', 'root', '') //db user password
const User = sequelize.define('user', { //user : table name
name: Sequelize.STRING
});
module.exports = {
sequelize: sequelize,
User: User
}
exports.create = (req, res) => {
const name = req.body.name || '';
if (!name.length) {
return res.status(400).json({error: 'Incorrenct name'});
}
models.User.create({
name: name
}).then((newUser) => res.status(201).json(newUser))
};
<api/users/index.js>
const express = require('express');
const router = express.Router();
const ctrl = require('./user.controller');
const models = require('../../models');
router.get('/', ctrl.index);
router.get('/:id', ctrl.show);
router.delete('/:id', ctrl.destroy);
router.post('/', ctrl.create);
module.exports = router;
<api/users/user.controller.js>
const models = require('../../models');
let users = [
{
id: 1,
name: 'Alice'
},
{
id: 2,
name: 'Bek'
},
{
id: 3,
name: 'Chris'
}
];
exports.index = (req, res) => {
// res.json(users);
//var user = models.User.findAll();
res.json(models.User.findAll());
};
exports.show = (req, res) => {
const id = parseInt(req.params.id, 10);
if (!id) {
return res.status(400)
.json({error: 'Invalid id'});
}
models.User.findOne({
where:{
id:id
}
}).then(user=>{
if(!user){
return res.status(404).json({error:'no user'})
}
res.json(user);
})
};
exports.destroy = (req, res) => {
const id = parseInt(req.params.id, 10);
if (!id) {
return res.status(400)
.json({error: 'Invalid id'});
}
models.User.destroy({
where: {
id: id
}
}).then(() => res.status(204).send());
};
exports.create = (req, res) => {
const name = req.body.name || '';
if (!name.length) {
return res.status(400).json({error: 'Incorrenct name'});
}
const newUser = {
name: name
};
models.User.create({
name: name
}).then((newUser) => res.status(201).json(newUser))
};