본문 바로가기

Language/JavaScript

(37)
Monitoring MongoDB connection status [출처] https://ramlez.com/blog/monitoring-mongodb-connection-status/[출처] https://ramlez.com/blog/monitoring-mongodb-connection-status/If you need to know what your MongoDB connection status is or when a database’s connection has dropped, timed out or some other error has occurred – this post will be useful to you. I don’t use any ODM packages like MongooseJS hence all examples cover the native Mon..
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)의 경..
[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..
react-router :: 1장. 리액트 라우터 사용해보기 [출처] https://velopert.com/3417 SPA 란?Single Page Application (싱글 페이지 어플리케이션) 의 약자입니다. 말 그대로, 페이지가 1개인 어플리케이션이란 뜻입니다. 전통적인 웹어플리케이션의 구조는, 여러 페이지로 구성되어있습니다. 유저가 요청 할 때 마다 페이지가 새로고침되며, 페이지를 로딩 할 때 마다 서버로부터 리소스를 전달받아 해석 후 렌더링을 합니다. HTML 파일, 혹은 템플릿 엔진 등을 사용해서 어플리케이션의 뷰가 어떻게 보여질지도 서버에서 담당했죠.요즘은 웹에서 제공되는 정보가 정말 많기 때문에 속도적인 측면에서 문제가 있었고, 이를 해소하기 위하여 캐싱과 압축을 하여 서비스가 제공되는데요. 이는 사용자와 인터랙션이 많은 모던 웹 어플리케이션에서는..
React 개발자가 실수하기 쉬운 몇 가지 이벤트 핸들러를 문자열로 지정한 경우DeepScan Rule이벤트 핸들러 함수가 올바로 바인딩 되지 않은 경우DeepScan Rule엘리먼트의 스타일 속성을 잘못 지정한 경우DeepScan Rule자식 엘리먼트의 key 속성을 지정하지 않은 경우DeepScan RuleWrap-Up[출처] https://cimfalab.github.io/deepscan/2017/07/react-3이벤트 핸들러를 문자열로 지정한 경우HTML에서는 이벤트 핸들러를 문자열로 지정합니다. 같이 문자열에 스크립트 코드를 넣죠.하지만 React의 이벤트 핸들러는 HTML과 달리 항상 함수 객체로 지정되어야 합니다. 이벤트 핸들러를 문자열로 지정하면 React에서 예외가 발생합니다.React의 테스트 코드에서도 문자열로 지정된 이벤트..
[nodeJs] PM2 대표 명령어로 함께 확인하는 장점개발 중에 에러를 만나면 노드 서버가 강제로 죽어 버리는 경우를 빈번하게 맞이하게 됩니다. 이럴 때 앱을 재실행해주는 기능도 담당하고 있어 실제 노드 서버에서는 필수적인 패키지이라고 할 수 있습니다. 물론 이밖에 다양한 기능들을 재공해 주고 있습니다. 기능을 크게 정리하면 다음과 같습니다.앱에서 충돌이 발생할 경우 앱을 자동으로 다시 시작런타임 성능 및 자원 소비에 대한 통찰력을 획득성능 향상을 위해 설정을 동적으로 수정클러스터링을 제어 [출처] : https://cheese10yun.github.io/PM2/공식 홈페이지 : http://pm2.keymetrics.io/ 설치 npm install pm2 -g ? Advanced, production process man..