nodejs 설치후 $ node app.js 등과 같이 app을 실행시킬때 다음과 같은 에러가 발생하는 경우가 있다.

  •  /usr/bin/env: node: No such file or directory

원인은 node 명령이 등록이 되지않아서 인데, 실제로 nodejs 라는 명령으로 실행하면 실행이 된다.


이때는 다음과 같이 nodejs의 심볼릭 링크를 만들어 주면 된다.

  • $ ln -s /usr/bin/nodejs /usr/local/bin/node

이후 $ node app.js 명령이 실행이 된다.


참고: https://github.com/nodejs/node-v0.x-archive/issues/3911

Posted by leechwin
TAG nodejs

Javascript 내의 function 들의 성능 체크를 위해 시간을 측정하는 여러 방법에 대해 알아본다.


Performance.now()

var t0 = performance.now();
doSomething();
var t1 = performance.now();
console.log("Call to doSomething took " + (t1 - t0) + " milliseconds.");


Console.time() - Non-standard

console.time('performance');
doSomething();
console.timeEnd('performance');

참조: http://stackoverflow.com/questions/313893/how-to-measure-time-taken-by-a-function-to-execute



Posted by leechwin

Git Push 시에 등록된 여러 Reviewer를 등록하는 방법에 대해 알아보자.


Git Config 파일을 수정하는 방법

  • Git Clone 이후에 {repo}/.git/config 파일에 receivepack 명령어를 넣는 방법
  • 방법
    • Git Clone
    • {repo}/.git/config 파일에 다음과 같이 수정
      • receivepack 명령어에 리뷰어들을 모두 넣어 등록
        • [remote "origin"]
          url = blabla...
          fetch = +refs/heads/*:refs/remotes/origin/*
          receivepack = git receive-pack --reviewer={email} --reviewer={email} --reviewer={email} 
    • 이후 git push 명령시에 자동으로 Gerrit reviewer 들이 등록된다.
  • 단점
    • 각 Git Repository 마다 config 설정을 해줘야 한다.
    • Git Repository를 통째로 삭제하고, Git Clone을 다시 받으면, config 파일도 삭제되기 때문에 위의 작업을 다시해야한다.


Bash Command로 등록하는 방법

  • Bash command로 "git-push" 라는 wrapper command를 작성하여 global 하게 reviewer를 등록하는 방법
  • 방법
    • bashrc 파일을 다음과 같이 수정
      • $ vi ~/.bashrc
      • function git-push() {
            git push --receive-pack='git receive-pack --reviewer {email} --reviewer {email}' origin HEAD:refs/for/$1
        }
    • 수정된 .bashrc 파일을 실행
      • $ source ~/.bashrc
    • 이후 어디에서나 다음과 같은 command를 사용 가능
      • $ git-push {branch}
      • $ git-push develop
      • $ git-push master
    • 위의 명령 실행시 자동으로 Gerrit reviewer 들이 등록된다.
  • 장점
    • 각 Git Repository 마다 config 설정이 필요없이 어느 Git Repository에서나 사용 가능
  • 단점
    • push 와 동시에 리뷰어가 자동 등록 되 커밋 별 선택적 리뷰어 등록이 불가능.
    • 경우에 따라 등록된 리뷰어를 다시 지울 필요가 있거나 version up 등 모든 리뷰어 등록이 필요 없는 경우 불편할 수 있다.


Posted by leechwin