본문 바로가기

nodejs

(22)
node.js express에서 CORS 허용하기 [출처] http://guswnsxodlf.github.io/enable-CORS-on-express[출처] http://guswnsxodlf.github.io/enable-CORS-on-express CORS란 무엇인가CORS란 Cross Origin Resource Sharing의 약자로, 현재 도메인과 다른 도메인으로 리소스가 요청될 경우를 말한다. 예를 들어, 도메인 http://A.com 에서 읽어온 HTML페이지에서 다른 도메인 http://B.com/image.jpg를 요청하는 경우를 말한다. 이런 경우에 해당 리소스는 cross-origin HTTP 요청에 의해 요청된다. 보안 상의 이유로, 브라우저는 CORS를 제한하고 있다.하지만 SPA(Single Page Application)의 경..
npm 명령어 안녕하세요. 이번 시간에는 npm 명령어에 대해 알아보겠습니다. npm 명령어는 명령 프롬프트에 입력하는 명령어입니다. 지금까지 봤던 명령어는 npm init, npm start나 npm run, npm install 정도가 있겠네요. 다양한 명령어가 많지만, 그중에서도 자주 쓰이는 것들에 대해 알아보겠습니다.npm help 또는 npm 명령어 help는 가장 먼저 알려드릴 명령어입니다. 명령어가 뭐가 있는지 모를 때는 npm help를, 해당 명령어가 무슨 역할을 하고, 가능한 옵션은 뭐가 있는지 궁금하면 가운데 명령어를 넣어서 help하면 됩니다. 예를 들어 init이 무슨 명령어인지 모르겠다면 npm init help하면 되는 거죠.설치 관련npm init은 package.json을 만드는 명령어였..
node.js express에서 CORS 허용하기 CORS란 무엇인가CORS란 Cross Origin Resource Sharing의 약자로, 현재 도메인과 다른 도메인으로 리소스가 요청될 경우를 말한다. 예를 들어, 도메인 http://A.com 에서 읽어온 HTML페이지에서 다른 도메인 http://B.com/image.jpg를 요청하는 경우를 말한다. 이런 경우에 해당 리소스는 cross-origin HTTP 요청에 의해 요청된다. 보안 상의 이유로, 브라우저는 CORS를 제한하고 있다.하지만 SPA(Single Page Application)의 경우에는, RESTful API를 기반으로 비동기 네트워크 통신을 하기 때문에 API 서버와 웹 페이지 서버가 다를 수 있다. 이런 경우에 API 서버로 요청을 할 시에 CORS 제한이 걸리게 된다.Acc..
[Nodejs] [node.js] express.js 라우트 요청 객체(req), 응답 객체(res) 정리 출처: http://luckyyowu.tistory.com/346 [요우의 내맘대로 블로그]출처: http://luckyyowu.tistory.com/346 [요우의 내맘대로 블로그] 요청 객체 (Request) 일반적으로 req나 request와 같은 변수로 명명함. 어차피 콜백에 전달되므로 마음대로 지어도 된다. 여기서는 req로 사용.Methodsreq.params : 이름 붙은 라우트 파라미터를 담는다. ex : app.get(’/:idx’, (req, res) => { res.send(req.params.idx); }); -> req.params(name) : 이름 붙은 라우트 파라미터나 GET, POST 파라미터를 담는다. 하지만 여러가지 혼란을 줄 수 있어 사용하는 것을 지양해야한다.req...
[nodeJs] PM2 - 2 [출처] http://ocsusu.tistory.com/26[출처] http://ocsusu.tistory.com/26
[Nodejs] pm2 cluster 모드 사용 시 log4js 로그 미출력 시 [출처] http://tod2.tistory.com/239 [출처] http://tod2.tistory.com/239Node 에서 log4js 를 사용하고, pm2 cluster 모드 사용 시 log4js 로그가 출력되지 않는 현상이 있음. pm2-intercom 을 활용하여 해결. pm2 worker 에서는 log4js 출력이 되지 않고, master 프로세스에서만 출력 된다고 합니다.pm2-intercom 에서 logEvent 를 받아 모든 프로세스로 broadcast 해준다고 하네요. 아래 그림 참고. 그림 ref: https://github.com/log4js-node/log4js-node/issues/547#issuecomment-385136125 설정 ref예시: https://gist.git..
[nodeJs] PM2 대표 명령어로 함께 확인하는 장점개발 중에 에러를 만나면 노드 서버가 강제로 죽어 버리는 경우를 빈번하게 맞이하게 됩니다. 이럴 때 앱을 재실행해주는 기능도 담당하고 있어 실제 노드 서버에서는 필수적인 패키지이라고 할 수 있습니다. 물론 이밖에 다양한 기능들을 재공해 주고 있습니다. 기능을 크게 정리하면 다음과 같습니다.앱에서 충돌이 발생할 경우 앱을 자동으로 다시 시작런타임 성능 및 자원 소비에 대한 통찰력을 획득성능 향상을 위해 설정을 동적으로 수정클러스터링을 제어 [출처] : https://cheese10yun.github.io/PM2/공식 홈페이지 : http://pm2.keymetrics.io/ 설치 npm install pm2 -g ? Advanced, production process man..
Session (세션) Session (세션) 쿠키를 개선한 방식. 쿠키를 조금 더 안전하게 (더 많은 데이터를) 사용자의 컴퓨터에 저장한 것과 같은 효과를 나타낸다. 웹브라우저가 서버에 접속하면, 서버는 웹 브라우저에게 응답을 하면서 쿠키로 모든 데이터를 저장하게 된다. 예를 들면 쇼핑카트라고 한다면, 사용자가 어떤 제품을 카트에 담았는지를 제품에 대한 목록을 사용자의 컴퓨터에 저장하고 있다. 이런 방식으로 접근을 한다면 여러가지 문제점이 있다. 제일 큰 문제점은 보안 : 사용자의 컴퓨터와 서버가 서로 통신하는 과정에서 ID,PW와 같은 중요한 정보가 왔다갔다 한다는 것은 중간에 누가 가로챌 수 있다. 이런 문제점을 개선하기 위해서 쿠키가 가지고 있는 기능과 서버쪽 데이터를 저장할 수 있는 예를 들면 DB, 파일 등을 잘 조..