일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- EC2
- Spring
- express
- model1
- AWS
- RDS
- 알고리즘
- SQL
- tiles.xml
- Ajax
- HTML
- JavaScript
- 블록체인
- websocket
- 웹소켓
- 웹게임
- Cookie
- 비트코인
- jQuery
- PL/SQL
- 암호화
- CSS
- Servlet
- phaser
- autowired
- node.js
- 도커
- docker
- 배포
- JSP
- Today
- Total
목록express (12)
記錄
이번 강의에서는 라우트 분리하기를 배웠다. 사실 요청이 많아지면 컨트롤러를 어떻게 관리하나 궁금했었는데 딱 마지막 수업에 이런 코너가 있었다. 패키지로 나누는 것이 아니고 파일로 나누는 것이었는데 현업에서도 이런 식으로 분리해서 사용하는지 궁금해졌다. 라우트의 기능은 특정한 요청 주소를 잡아서 한 곳으로 돌리는 기능을 한다. 그래서 코드를 깔끔하게 정리하는데 사용할 수 있다. moduleTest.jsvar express = require('express');var app = express(); var shopping_fruit = require('./route/fruit')();app.use('/fruit', shopping_fruit); var shopping_drink = require('./rout..
이번 강의에서는 모듈을 배웠다. 늘 require() 를 통해 모듈을 불러서 app.use() 앱에 모듈을 붙이고 사용해 왔었는데 이번에는 모듈을 내가 정의하고 필요할 때에 사용하는 방법에 대해서 배웠다. 특별한 것은 없었다. 1. 사용할 모듈을 정의한 .js파일을 만들고 아래와 같이 exports 할 자원들의 이름과 기능을 정의한다.2. 컨트롤러에서 require('경로')로 모듈.js를 call 한 뒤에 함수를 끌어다 쓴다. module.jsmodule.exports.plus_jk = function(a, b){ return a + b;} module.exports.minus_jk = function(a, b){ return a - b;} moduleTest.js var module = require..
위에서 배웠던 jade 모듈의 extends 기능에 대해 배웠다. 스프링에서의 tiles와 유사하다. app.jsvar express = require('express');var app = express(); app.set('view engine', 'jade');app.set('views', './views'); app.get('/first', function(req,res){ res.render('first');}); app.get('/second', function(req,res){ res.render('second');}); app.listen(3003, function(){ console.log('Connected 3003 port!!!');}); layout.jadehtml head body ..
암호화에 관련하여 좋은 포스트를 찾았다(아래 링크)(https://d2.naver.com/helloworld/318732) 이번 강의에서 배운 것은 pbkdf2 이다. pbkdf2는 salt를 자동 생성해주고 조금더 많은 경우의 수를 통해 보안 수준을 강화한 암호화 기법이다. 위키를 찾아보니 brute force attacks의 리스크를 낮추는 것을 목표로 만들어졌다고 한다.var express = require('express');var bkfd2Password = require("pbkdf2-password");var hasher = bkfd2Password();var app = express(); var pwd = { password : '12345asd'}; app.get('/pbkfd2_test..
이번 강의에서는 암호화에 대해서 배웠다. 설계상의 결함으로 인해 더 이상 암호화에 md5를 사용하진 않는다고 한다. 하지만 강의에서 md5를 이용해서 강의를 했기 때문에 일단 md5를 포스팅 한다. 다만 강의 후반부에서 md5대신 sha256을 사용하며 이젠 md5를 사용하지 않고 sha를 사용해야 한다고 하는데 이것 역시 변할 수 있다며 언급한다. sha256을 쓰려면 아래 코드에서 md5를 sha256으로만 바꿔주면 작동한다. 복호화 관련해서 아무래도 md5가 너무 쉽게 뚫리게 되어서 더 이상 md5를 사용하지 않는 것 같다.(그냥 근거없는 내 추측이다) salt는 md5만 단순히 거치게 되면 해킹의 우려가 있어 소금을 치듯이 md5를 거치기전에 암호화할 정보에 붙이는 임의의 문자열을 의미한다. 다중..
이번 강의에서는 express에서 session을 활용하는 법에 대해서 배웠다. 스프링과 달랐던 점은 굳이 플러그인을 설치해야 한다는 것 말고는 특별히 다른 것이 없었다. 생각해보면 스프링에서 import 하는 모든 것들이 npm에서 install 하는 것과 같은 것 같다. var express = require('express');var session = require('express-session');var app = express(); app.use(session({ // session 값 저장에 쓰이는 암호화 key secret: '1234DSFs@adf1234!@#$asd', // 접속 할 때마다 매번 새로운 session 발행 여부 resave: false, // 세션이 저장되기 전에 unin..
cookie에 저장하는 정보가 민감하고 private 한 정보라면 암호화할 필요성이 있다.개발자 도구에서 cookie를 눌러보면 정보가 다 보이기 때문이다. 물론, jsp를 배울때도 마찬가지고 node.js를 배울 때도 마찬가지고 사실 민감한 정보 자체를 cookie에 저장할 일은 없는데항상 괜히 session을 배우기 전에 cookie를 배우면서 이런 개념을 알려준다(어느 인강이나 비슷한 것 같다) 아무튼 암호화 자체도 스프링보다 훨씬 가볍고 쉬웠다 암호화 전 암호화 후 cookie의 값을 보안상의 이유로 암호화 할 수 있는데 방법은 다음과 같다. const express = require('express');const cookieParser = require('cookie-parser');const ..
이번 강의에서는 Express에서의 cookie 활용에 대해 배웠다. 스프링과 좀 달랐던 점은 더 간편하다는 것이다.확실히 node.js 환경 자체가 스프링에서 하던 것 보다 모든 것이 가볍고 간편한 느낌이다. const express = require('express');const cookieParser = require('cookie-parser');const app = express(); app.use(cookieParser()); app.get('/count',function(req, res){ let count; if(req.cookies.count){ // cookie 에서 가져오는 값은 모두 String type이 디폴트 count = parseInt(req.cookies.count); } ..
이번 강의에서는 간단하게 파일 업로드를 하는 방법에 대해서 배웠다.const express = require('express');const bodyParser = require('body-parser'); // multer 모듈 추가const multer = require('multer'); // multer 모듈을 통해 미들웨어를 리턴해주고 upload에 할당// dest는 destination의 줄임말로 경로 설정을 한다const upload = multer({ dest: 'uploads/' })const app = express(); app.locals.pretty = true;app.set('view engine', 'jade');app.set('views', './views');app.use(e..
세이브를 기준으로 코드의 변화를 감지해서 자동으로 서버를 껐다가 켜주는 기능을 Watch라고 한다고 한다. 그리고 Watch 기능을 가진 여러가지 소프트웨어가 있지만 그 중 이번 강의에서 소개된 프로그램은 supervisor 이다. 1. 설치npm install supervisor -g(전역으로 사용할 수 있도록 설치) 2. 사용supervisor app.js (node app.js (X)) 서버가 올라가게 되고 이제 코드에 변화가 있으면(변화만 해서는 안되고 save를 해야 감지) supervisor가 변화를 감지하고 서버를 알아서 내렸다가 다시 올리게 된다
이번 강의에서는 Express 에서 post 방식으로 데이터를 보내고 이를 컨트롤러에서 받는 것을 해보았다.스프링과 약간 다른 점이 있었다. 가장 큰 차이점이라고 한다면 굳이 post로 넘어온 데이터를 인식하기 위해서 따로 플러그인을 설치해줘야 한다는 점이었다.순서대로 정리한다. const express = require('express'); // bodyParser라는 모듈을 가져오게 된다const bodyParser = require('body-parser'); const app = express(); app.locals.pretty = true;app.set('view engine', 'jade');app.set('views', './views');app.use(express.static('publ..
강의에서는 Express의 기초 강의를 위해 엄청나게 간단한 웹앱을 만들고 있다. 그 내용을 여기 옮긴다.const express = require('express');const app = express(); app.get('/', function(req, res){ res.send('Welcome');}); app.get('/login', function(req, res){ res.send('login page');}); app.listen(3000, function(){ console.log('Connected 3000 port!')}); 초기에 했던 코드보다 express를 쓴 코드가 조금 더 간단해졌다.const express = require('express');const app = expres..