2015년 1월 29일 목요일

git repository 에서 키워드 검색하는 루비 스크립트

오늘 git repository 전체에서 키워드 검색을 할 필요가 생겨서 루비로 스크립트를 작성해보았다.
git log 명령어에 생각보다 다양한 옵션이 많아서 그걸 사용했다.
  • --no-pager 는 git log가 기본으로 more 처럼 동작하기 때문에 추가했고
  • --since는 기간을 설정할 수 있고
  • -G를 사용하면 커밋한 코드에서 검색할 수 있다.
  • -- 옵션 뒤에 파일 타입을 정의 한다.
gitlab 서버에서 동작하는 스크립트이며 모든 네임스페이스와 프로젝트를 검색한다.
아래 코드는 'upload'라는 키워드로 java 파일에서 검색하는 예제.

2015년 1월 28일 수요일

Meteor 에서 외부 javascript library를 추가하는 방법

이것 때문에 삽질을 많이해서 정리를 한번 해보았다.

1. <head> 안에 들어가는 js 인 경우

보통은 client/lib 안에 넣으면 되고 global 변수를 사용하는 경우는 client/lib/compatibility 에 넣으면 된다고 함.

2. html이 다 로드 되고 나서 불러야 하는 경우

먼저 external-file-loader를 추가한다.

$ meteor add mrt:external-file-loader

main.js 같은 곳에 아래 코드를 추가

3. 마지막으로 특정 페이지에서만 필요한 경우

이 경우 일단 router 설정이 되어 있어야 한다.

wait-on-lib를 추가

$ meteor add manuelschoebel:wait-on-lib

router.js 수정

putty 에서 생성한 키파일로 ssh 로그인 안될때

putty와 openssh에서 사용하는 public key 포맷이 약간 달라서 생기는 문제인것 같다.

putty에서 생성한 public key는

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20141215"
AAAAB3NzaC1yc2EAAAABJQAAAQEApY5pbRYtPoHQ1F8WzOWIz3DB+ki3oU2gXssc
9+W5K/4SQnduNZjoAI07MmLLUYhrDaypHkU3Xc/td7VwRnhjy8bSfevx1fXrGNBS
rSVQc37svHTGBXLIM9hcnP6i7xudvK870PnDzom3NeDYi0v8iIywzn8GSvt0d+1R
KxiqW63WnPTOnP2j/4yipeqcTVIOvSWZi/pbnry9HoKugoP1BH2/zQH5GbpM/n3+
DUeZarbs5btT1v3aSmNlyk+XKY9AZM5SPCKTkbM04EbvcwBeY+z9EWdh2zyok1zh
ACegGM2k+BBB5lCFst503DNNylpAhCroPeS8Icmu3SFO/D4wZQ==
---- END SSH2 PUBLIC KEY ----

이런식으로 생성되는데
이걸 그대로 서버에 저장하고 ssh 로그인 하려고 하면 Server refused our key 이런 메세지가 나오면서 자동 로그인이 안된다.

해결방법은 아래와 같은 포맷으로 변경해서 저장하면 된다.

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEApY5pbRYtPoHQ1F8WzOWIz3DB+ki3oU2gXssc9+W5K/4SQnduNZjoAI07MmLLUYhrDaypHkU3Xc/td7VwRnhjy8bSfevx1fXrGNBSrSVQc37svHTGBXLIM9hcnP6i7xudvK870PnDzom3NeDYi0v8iIywzn8GSvt0d+1RKxiqW63WnPTOnP2j/4yipeqcTVIOvSWZi/pbnry9HoKugoP1BH2/zQH5GbpM/n3+DUeZarbs5btT1v3aSmNlyk+XKY9AZM5SPCKTkbM04EbvcwBeY+z9EWdh2zyok1zhACegGM2k+BBB5lCFst503DNNylpAhCroPeS8Icmu3SFO/D4wZQ==

앞에 ssh-rsa 를 붙이고 키파일 내용을 한줄로 만들어야 한다.
만약 이렇게 변경해도 같은 에러 메세지가 나온다면

$ chmod 600 authorized_keys