6월, 2016의 게시물 표시

무모한 서비스 개발기: 서버의 구성

무모한 서비스 개발기 (아직 초안) 서버의 구성 NodeJS mongoDB mongod.conf를 구성할 때 주의해야할 점 흔한 문제 1 기존에 db를 구성한 경우라면, engine과 directoryPerDB의 수정은 신중하게 해야 한다. 수정해서는 안되는 문제는 아니지만, fork가 동작안되는 오류를 표시하고 실행이 안되는 경우가 많다. mongod -f mongod.conf about to fork child process, waiting until server is ready for connections. forked process: 12345 ERROR: child process failed, exited with error number  100 흔한 문제 2 directory 접근 권한 문제로 log 혹은 db에 파일을 쓰지 못하는 경우가 있다. command line 에서 아래와 같이 처리해서 실행해보자. $ sudo chown -R nobody:staff ... Frameworks mongoose mongo-express 설치 $ npm install mongo-express $ cd node_modules/mongo-express $ cp config.default.js config.js $ nano config.js Account 부분을 수정해야 좋다. 안해도 되지만, 궁극적으로는 필요하다. mongo = { db: DB name host: host address for mongoDB port: port number for host address username: user name for DB connection password: password for DB connection }; 평상시 실행 전역으로 하는 경우 $ mongo-express 지역으로 하는 경우 $ cd project_workspace $ cd node_modu

복면가왕 음악을 벅스, 지니 등에서 들으면 드는 생각...

복면가왕 음악을 벅스, 지니 등에서 들으면 드는 생각... 왜? 중간에 음악이 끊기듯 바뀌는 부분이 있을까? 음원에 대한 유출을 방송전에 막고자 함이겠지만, 패널들의 이야기들이 마구 들어간 음원을 돈을 받고 공개하는 것은... 영상이라면 문제 없지만, 음악만 들으면 참 우습다. 중간에 흘러가 음악 부분이 다시 나오고, 패널들이 번갈아 가면 하는 감탄사, 대화... 혼잣말... 음악에 몰입할 수 없다. 미리 파일을 준비하고 방송 직후 배포를 하는 프로다운 모습을 보여줬으면...

무모한

POS의 Gulp scripts를 70%정도 완성했다. 말이 70%이지 모두 동작은 한다.  완벽주위 성향 덕으로 더 좋은 패턴을 찾아서 무척이나 헤매였다. 지금은 gulp 후 express server랑 띄우고 watch 기능이 동작하도록 구현했다. 전체 scripts는 browserify와 watchify를 이용했고, livereload가 되도록 했다. bundling은 watchify에 의해 자동 재 생성하도록 했다. browserify의 transform을 이용하여 handlebar compile을 자동화 했지만, 필요하다면 template만 추출하도록 "templates"이라는 gulp task도 구성했다. 현재... 이 부분에 대한 gulp script를 재구성하고 있다. watchify가 개별 파일에 대한 처리를 할 때 조금 복잡하고 구성하기 어렵더라... 역시!!! 폰에서 블로그 글을 쓰는 것은 쉽지 않은 일이다. 오탈 작렬~

JavaScript Object 생성

JavaScript Object 생성 * blogger에 highlight.js를 적용한 기념으로~~~~~~ ^^ 일반적으로 var Person = function () { }; 내부 프로퍼티 추가 var Person = function () { this.firstname = 'First Name'; // property 추가 }; 이부분에서 생성 방식을 Object와 비교 var obj = new Object(); console.log(obj.contructor === Object); // true // 생성 형태가 Number로 var obj = new Object(1); console.log(obj.contructor === Number); // true // 생성 형태가 String으로 var obj = new Object('1'); console.log(obj.contructor == String); // true // 생성 형태가 Boolean으로 var obj = new Object(true); console.log(obj.contructor == Boolean); // true See the Pen <a href='http://codepen.io/keiches/pen/RRpZvE/'>JavaScript Object Contruct 02</a> by Brian Kim(keiches) (<a href='http://codepen.io/keiches'>@keiches</a>) on <a href='http://codepen.io'>CodePen</a>. 이와 같이 하면, Person 생성자 함수(일명 class)를 만든 것이다. 그런데 문제가, "fullname()"함수는 hoisting 된 함수를 사용하기 때문에, 전역에 걸쳐 있는 함수를 참조하게 되고