반응형

node.js 7

node.js - cannot find module 'routes' 오류.

말그대로. cannot find module 'routes' 에 대한 대응책이다. 당연한거 지키면 안 나긴 하는데, 나는 좀 해결을 어렵게 해서, 기록으로 남긴다. 우선 참고는 http://bcho.tistory.com/887 이다. 아래부분 그림을 보면 설명이 잘 되어 있다. [ 그림출처 또한 http://bcho.tistory.com/887 이다. 이 그림을 제대로 보기만 했어도... -_-;; ] 앞 뒤 다 자르고, 해결책 보자. 설명은 의미없을듯. 워낙 기본적인 것들이라. 1. node.js 가 실행되는 root directory 는, 메인이 되는 js 파일이 "실행된" 디렉토리다. js 파일은 절대경로로 실행해 주면, 정신건강에 좋다. js의 메인 디렉토리를 헷갈릴 일이 없거덩. ( 대신 유지보..

프로그램 2015.10.24

node.js 에서 reconnect callback 사용법

말 그대로다.여러가지 이유로 client 쪽과 server 와 연결이 끊어질 때가 있다.이게, connect - disconnect 가 의도한대로 제어할 수 있으면 좋지만, 1. network 이상2. client fail3. server fail 4. 기타 의 이유로 ( client 쪽 기준 ) 연결이 끊어지는 경우가 있다. 프로그램이 완벽하고, 서버 / 클라이언트 모두에게 버그가 없다면 그나마 낫겠지만, 1. 서버가 죽거나, 클라이언트가 죽는데2. 원인을 전혀 모르겠는 경우 에는, 무작위로 connection 이 끊긴다고 가정하고 코드를 작성해야 한다. 말이 장황해 졌는데, 예를들면 버그를 못잡은 상태에서 서비스를 할 경우...(-_-;;) 등등이 그러하다. 그래서, 이 경우는 - 여러가지 방법이 있..

프로그램 2015.04.04

nodejs 에서 mysql connection 이 안 될 때( connect ECONNREFUSSED 에러 ).

말 그대로다. 이런 경우가 실제로 생겨서, 기록한다. 상황을 설명하면 1. 개발을 위해 테스트 서버에서 node.js 로 서비스 개발.2. node.js + mysql 을 사용.3. 실서버로 코드 이동4. 실행.5. 실패 + 좌절. [ 테스트 서버에서 되던게 왜 실서버에서는 안되냔 말야. ] 결론부터 이야기하면, mysql connection 이 fail 나서 그런거다.당연히 암호나 계정 문제가 아니고... node.js 에서 mysql connection 접속 자체가 실패하는 듯. 1. 실서버는 mysql port 가 기본포트가 아닌데, 2. node.js 의 mysql connection 설정에 port 번호 설정하는 항목이 있는데도3. port 값을 넣어도 안 되더라. 역시나 google 신께 가르..

프로그램 2015.03.11

centos 에서 node.js 설치

간단한건데, 조금 달라서 기록. 1. nodejs 를 설치하는 방법은, 일반적으로 다음과 같다. 1.1. node.js 사이트에서 다운받아 설치 - make install 로 알아서 컴파일 설치. 1.2. 패키지 매니저로 설치 ( 예를 들어 apt-get install nodejs 등등 ) 아무래도 소스 다운 + 설치보다야 yum 이나 apt-get 이 편하다 . 알아서 설치하고 path 잡고 해 주니까. 그런데, CentOS 는 이게 안되더라.yum install nodejs 해도 패키지를 못찾는다.처음엔 패키지가 안나오니까 nodejs.org 가서 설치해서 썼는데.... 혹시나 해서 google 에 물어보니까, 이것도 해결책이 있더구만. https://www.digitalocean.com/commun..

프로그램 2015.03.10

node.js 를 daemon 으로 돌리고 싶을 때 - daemonize

node.js 로 작성한 코드를, 대부분은 daemon 으로 돌릴 거다. ( 당연하잖아. server side 언어인데 )근데, 막상 실행 후에 console 을 닫으니까, 프로세스가 죽는다..... -_-;; 약 5초간 멘붕을 겪은 후, 정신을 추스리고 구글신에게 물어보니, 나처럼 당황한 사람이 많았나 보다. http://stackoverflow.com/questions/12023417/node-js-how-to-keep-it-running-on-centoshttps://github.com/indexzero/daemon.node 본문에도 나와있지만, 별거 없고, npm install daemon 으로 daemon module 을 설치 후에,본문에 require('daemon')(); 한 줄만 넣어주면 ..

프로그램 2015.03.09

javascript( node.js ) 에서 for each + key 값을 이용해야 할 때.

foreach ... 공돌이를 어엿비 여기어 하늘이 내려주신 도구임에 틀림없다.만, 보통 key + value 에서 value 는 안 쓰잖아?근데, 대상이 되는 object 의 value 말고 key 도 같이 써야 할 때가 있다. 물론 object 가 array 라면 상관 없겠지만, 세상은 그리 간단하지 않지. 임의의 object 를 key + value 로 사용해야 할 때, 이러하게 쓴다. var obj1 = { a:31, b:32, c:33 }; for( var lp1 in obj1 ){ console.log( ' lp1:' + obj1[ lp1 ] + ' ' );// 11 -> 12 -> 13 출력 = value 출력. if ( obj1.hasOwnProperty( lp1 ) ) console.lo..

프로그램 2015.02.25

Long Polling 으로 Client - Server 데이터를 교환하면, 동접에 문제없나?

말 그대로다. Long Polling 을 쉽게 설명하면, 웹 서버에 request 를 던져놓고, 서버가 답변이 오늘 걸 기다리는 방식으로 양방향 통신을 구현. ( 출처가 사진에 써 있다... 이승재, 실시간 HTTP 양방향 통신, NDC2012 from devCAT Studio, NEXON ) 근데, 이건... 말그대로 사용자가 웹서버에 접속해 있는 상태가 된다.웹의 장접이, 1. 사용자( client ) 가 서버에게 데이터를 packet( = 조각 ) 단위로 요청하기 때문에, 회선을 점유하지 않아서 적은 자원으로 여러 사람이 이용 가능한 건데,2. 이렇게 해 버리면, 접속자 한 명이 채널을 점유하고 있어서 다른 사용자가 사용할 수 있는 여유가 없다. 헌데, 인터넷 뒤져보면 node.js ( long p..

프로그램 2015.02.11
반응형