GitHub 에서 대용량 파일 관리하기

GitHub은 일반적으로 소스코드를 관리하는 용도라 용량이 큰 파일을 올리는 경우가 잘 발생하지 않기는 하지만, 기본적으로 100MB 이상 파일은 제한을 하고 있다. 만일 100MB보다 큰 파일을 관리하려면 Git LFS 를 사용하는데, GitHub도 Git LFS 1.0을 적용했다고 발표했다. 

일단 Git LFS를 사용하려면 extension을 설치해야 하고 (Mac의 경우는 Homebrew 로 설치할 수 있다),

Screen Shot 2015-10-06 at 9.27.28 PM 

GitHub에서 대용량 관리를 가능하게 만들 계정을 신청해야 한다 (https://github.com/early_access/git-lfs). 

Screen Shot 2015-10-06 at 9.27.14 PM

 

신청하고 나면 결과 메일을 발송해주고, 

Screen Shot 2015-10-06 at 9.27.06 PM

 

사용할 수 있게 된다.

사용 방법은 간단하다. lfs 옵션을 사용해서 대용량으로 track할 파일을 지정해주면 .gitattribute 파일에 설정 된다. 설정 이후에는 평소처럼 사용하면 된다.

Screen Shot 2015-10-06 at 9.27.41 PM

 

그나저나.. 아직 승인 메일을 안보내준다.. 얼마나 걸리려나.

 

clj-refactor 설치시 주의사항

Emacs의 cljr-add-missing-libspec 패키지는 Clojure 코드 작성시 필요한 라이브러리를 자동으로 포함시켜주는 역할을 한다.

다음 그림은 이 패키지의 GitHub 페이지의 소개. (https://github.com/clojure-emacs/clj-refactor.el)

 

add-missing-libspec
cljr-add-missing-libspec 를 실행시키거나 C-c RET a m 키조합으로도 실행할 수 있다

 

그러나 이 그림처럼 명령을 실행해야만 하는 것이 아니라, (str/) 까지만 작성해도 :require 부분을 자동으로 추가해준다.

 

이 패키지는

M-x package-install clj-refactor

명령으로 설치를 하는데, package-list-packages 로 다른 버전을 선택하지 않는 한, 자동으로 최신버전 (현재기준 clj-refactor-20150924.256)을 설치한다. 

 

이 때 설치 과정에서 아래와 같은 warning이 발생할 수 있다.

In end of data: clj-refactor.el:4287:1:Warning: the following functions are not known to be defined: cider-nrepl-op-supported-p, cider-nrepl-send-sync-request, cider-nrepl-send-request, cider-repl-emit-interactive-stderr

 

warning 이려니 하고 그냥 사용하면, 소스코드 작성시 라이브러리는 잘 포함되지만, 정작 cljr-add-missing-libspec 을 실행시키면 아래와 같은 오류 메시지를 뱉으면서 정상동작하지 않는다.

symbol's function definition is void: cider-nrepl-op-supported-p

 

이것은 설치시 warning이 발생하면서 나열된 함수들이 설치되지 않았기 때문인데, CIDER의 버전과 cljr-add-missing-libspec 의 버전이 맞지 않기 때문에 발생하는 문제이다. 따라서 이를 해결하려면 CIDER의 버전도 최신버전으로 업데이트 해주어야 한다. 현재 기준으로는 0.10.0 버전이며, 기존에 설치된 CIDER를 삭제하고

M-x package-install cider

명령으로 최신버전을 설치하면 해결된다.

 

출처: https://github.com/clojure-emacs/clj-refactor.el/issues/236

cljr-add-missing-libspec

 

 

MAC OS X 에서 $PATH 세팅 방법

echo $PATH  -> /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

기본적으로 위와같이 세팅되어 있는 것을 알 수 있다 ( /etc/paths 에 등록되어 있음 )

따라서, 새로운 binary를 $PATH에 등록하는 방법은 크게 두가지.

 

1. bin에 등록할 binary에 대한 symbolic link 생성

  • ln -s [등록할 바이너리 경로] /usr/local/bin

    • 주의사항: [등록할 바이너리 경로]는 절대경로를 써줘야 한다. 상대경로를 입력하면 제대로 생성되지 않음
    • mac os x 상에서 가상본을 생성해서 bin폴더에 옮기는 방법도 정상동작하지 않음

2. $PATH에 경로추가

  • 다음 방법 중 선택

    • 내 계정에만 적용

      • ~/.bash_profile 또는 ~/.profile 에 경로 추가
      • ~/.bash_login 에 경로 추가 (로그인시 해당 path가 세팅됨)
    • 전체 계정에 적용

      • /etc/paths 에 경로추가
      • /etc/.profile 생성 후 경로추가
      • /etc/profile 수정
  • 경로추가 방법

    • export PATH=$PATH:[추가할경로]
      • 주의사항: 경로에 $PATH를 넣어주지 않으면 기존에 등록된 $PATH를 잃어버려 온갖 명령어가 인식되지 않으니 주의

Installing CKAN 2.0 on mac os x 10.8.4 (mountain lion)

CKAN 2.0 설치 document 에는 Ubuntu만을 기준으로 설명되어 있고, Mac을 포함한 다른 OS에서는 source를 사용해야 합니다. 그러나 막상 진행해보면 막히는 부분이 너무 많아서, 전체 순서를 정리해두려 합니다. 기본적인 참고 문서는 http://docs.ckan.org//en/latest/install-from-source.html 입니다.

 

[required packages]

 

[virtualenv 구성]

mkdir -p ~/ckan/lib
sudo ln -s ~/ckan/lib /usr/lib/ckan
mkdir -p ~/ckan/etc
sudo ln -s ~/ckan/etc /etc/ckan
sudo mkdir -p /usr/lib/ckan/default
sudo chown $(whoami) /usr/lib/ckan/default
virtualenv --no-site-packages /usr/lib/ckan/default
. /usr/lib/ckan/default/bin/activate

 

[ckan 설치]

pip install -e 'git+https://github.com/okfn/ckan.git@ckan-2.0#egg=ckan'
pip install -r /usr/lib/ckan/default/src/ckan/pip-requirements.txt
deactivate
. /usr/lib/ckan/default/bin/activate

 

Continue reading “Installing CKAN 2.0 on mac os x 10.8.4 (mountain lion)”