본문 바로가기

깃 브랜치 이름 출력하기 - git, fabric, local, print Git Branch Name Print 자동으로 무언가를 수행하려고 할 때 저는 git branch 네임을 활용하는 경우가 종종 있는데요. 예를 들어서 깃 브랜치 네임에 release 가 포함되지 않았는데 무언가 배포하는 행동을 하지 못하게 한다거나. 브랜치 네임으로 실행해야 하는 함수들을 다르게 한다거나 등등이 있습니다. 물론 제가 사용하는거지 보편적인 방법은 아닌 것 같습니다. 암튼 어떤 이유들 git branch name이 필요하시면 아래 명령어로 가져오실 수 있습니다. git rev-parse --abbrev-ref HEAD fabric에서 local로 위 명령어를 실행하고 값을 가지고 오기 위해서는 아래와 같이 capture 변수를 추가되면 됩니다. local('git rev-parse --ab.. 더보기
git branch delete / remote branch delete / remote branch list udpate Git branch delete / list update git branch delete 로컬에서 git branch 하나를 삭제하고 싶을 때에는 -d 옵션으로 가능합니다. 아래와 같이 말이죠. git branch -d branch_name 여러 개의 로컬 branch를 삭제하고 싶을 때에는 -d 뒤에 쭉 붙여주면 됩니다. git branch -d branch_name branch_name2 branch_name3 branch_name4 git branch force delete 기본적으로 합쳐진 branch가 아니면 에러가 나면서 지워지지 않습니다. 그럴 때 강력하게(?) 삭제하는 옵션은 -D 입니다. 대문자는 강력하니까요. git branch -D branch_name -d 옵션과 마찬가지로 -D 옵.. 더보기
fatal: not a git repository (or any of the parent directories): .git git remote add 실행 했을 때 아래와 같은 에러가 나면 fatal: not a git repository (or any of the parent directories): .git 현재 폴더에 git에 대한 정보를 담은 파일이 없기 때문에 발생하는 에러입니다. git init를 수행하고 다시 git remote add 명령어를 실행하면 됩니다. 간단하게 추가로 말씀드리면 git remote add는 이미 개발하고 있는 어떤 소스코드를 git에서 관리하고 싶어서 생성되어 있는 어떤 git repository에 현재 폴더를 연결하고자 할 때 사용할 수 있습니다. 어찌대뜬 not a git repository 에러가 나오면 git init 수행하고 다시 실행해보세요. 당연하지만 관리하려는 폴더의 최상.. 더보기
git https 방식에서 아이디, 패스워드 입력창 안나오게 하기 git을 매번 ssh 방식으로 사용하다가 어떤 이유 때문에 https 를 사용하게 되었습니다. ssh 처럼 키 값을 입력해두고 사용하는게 아니라서 그런지 push 할 때, pull 할 때 계속 아이디와 패스워드를 물어보더라고요. 속도도 속도지만 자동화 하는 과정에서 너무 거슬려서 찾아봤더니 아래와 같은 방법으로 회피할 수 있더라고요. git remote set-url origin https://username:password@git-repository-https-url 명령어 git remote set-url origin 은 동일하고요. https://username:password@git-repotisory-https-url 은 적당히 바꾸시면 됩니다. username. password는 콜론(:)으로.. 더보기
pip psycopg2 install error in mac 사진으로 문제점에 대한 설명을 대신합니다. 구글링 해보니까 2.6.2 버전의 문제라고 하더라고요.그래서 최신 버전으로 설정하고 pip install 하니 이상없이 설치되었습니다. 이전에는 잘 설치했는데 pip freeze로 생성한 파일로 설치하니 문제가 발생했어요.아마도 제가 중간에 postgres 버전을 올렸던지. 그랬나봐요. 꼭 2.6.2 버전을 사용해야 하는 것도 아니라서 이번 기회에 버전 업하고 문제 해결했어요. 기록 끝 ! 더보기
웹서버 재시작 할 때 unable to resolve host 에러 해결하기 in 우분투 우분투에서 웹서버 재시작 했는데 unable to resolve host 라는 메세지가 나온다면 hosts 파일을 변경하면 해결됩니다. /etc/hostname/etc/hosts 저는 hostname 파일을 해당 서버 이름에 맞게 수정해두는데요.가끔 까먹고 hosts 파일을 변경하지 않아서 unable to resolve host 라는 메세지를 만나게 되더라고요. hostname 변경한 이름을 host에 작성해주면 됩니다. 더보기
우분투 time sync AWS를 CLI로 사용할 때가 있는데요. 잘 안된다면 해당 컴퓨터 혹은 서버 시간을 확인해보세요. 이번에는 우분투 환경에서 time sync 하는 방법을 간단하게 정리해봅니다. 일단 Time Location 부터 맞춰야 하겠죠. 이건 예전에 작성한 포스팅으로 대신할게요 :-) 2015/03/10 - 우분투 서버 타임존(time zone) 변경, 시간 변경 (시간은 중요하죠 !) ntp라는 툴을 통해서 time sync를 맞출 수 있는데요. ntp가 없다면 아래와 같이 설치해줍니다. suto apt-get install ntp time sync를 맞추기 위해서 ntp를 잠시 정지하고요. sudo service ntp stop time sync를 맞춥니다. sudo ntpdate -s pool.ntp.org.. 더보기
crontab : daily, weekly, monthly example crontab을 활용하면 반복적으로 특정한 시간이나 날짜에 원하는 프로세스를 작동할 수 있죠. 여기서는 weekly, daily 로 설정하는 예제를 몇 가지만 작성해두려고 합니다. 설정 방법 자체는 너무 쉽기 때문에 바로 본론으로 ! 1. 우분투에서는 crontab의 기본 위치가 /etc/crontab 입니다. - # m h dom mon dow user command - 입력은 위와 같이 이뤄집니다. - dom - day of month, 값은 1 - 31 가져요. - mon - month, 값은 1 - 12 가집니다. - dow - day of week, 값은 0 - 6까지 값을 가지고 일욜 0, 월욜 1, 화욜 2, 수욜 3, 목욜 4, 금욜 5, 토욜 6 입니다. 2. daily - 매일 0시 0.. 더보기
Git Remote Branch List Update git branch -a 하면 로컬과 원격지에 있는 Branch 들이 모두 나옵니다. github에서 Branch를 지웠어도 로컬에서 git branch -a 하면 나오고 있거든요. 이걸 업데이트 하기 위해서는 아래와 같은 명령어를 사용합니다. git remote update --prune http://endic.naver.com/search.nhn?sLn=en&isOnlyViewEE=N&query=prune git remote update --help 하면 아래와 같이 나옵니다. 원격지에서 정보 받아와서 간결하게 하는 것이라고 정리할 수 있겠습니다. 아무튼 git remote update --prunegit remote update --prunegit remote update --prune 제가 자꾸 .. 더보기
space in zsh 아래 내용은 zsh + python + popen + space 내용입니다. 파일명이 aaa copy.png 라고 되어 있고 이 파일의 이름을 바꾸기 위해서 mv 명령어를 수행한다고 가정합시다. python 스크립트 안에서 from os import popenpopen("mv aaa copy.png bbb.png") 위 스크립트는 에러가 납니다. 바로바로 aaa(space)copy.png 에서 space 때문이죠. 아래와 같이 \ (back slash)를 space 앞에 넣어주면 문제 없이 처리됩니다. from os import popenpopen("mv aaa\ copy.png bbb.png") 더보기
wget 으로 파일 다운로드할 때 주의할 점 하나 wget은 정말 유용한 프로그램이죠.예전에 wget에 대한 예제를 포스팅한 적이 있네요. 2016/07/31 - [ # 리눅스/- 우분투] - wget으로 웹 이미지 폴더/파일 다운로드하기 2014/02/16 - [ # 리눅스/- 우분투] - wget 간단한 예제 관련된 포스팅이 2개나 있지만 아래와 같은 에러에 대해서는 전혀 작성한 적이 없더라고요. wget 으로 특정 이미지 url 들을 다운로드 하는데 위와 같이 syntax error near unexpected token ... 에러가 나더라고요. python popen으로 wget을 사용했고 아래와 같은 코드에서 에러가 났어요. popen('wget -O ' + expanduser('~') + '/Downloads/%s.jpg %s' % (ima.. 더보기
웹 브라우저 점유율과 블로그 접속 웹 브라우저 점유율은 아래 자료를 참고했어요. https://www.netmarketshare.com/browser-market-share.aspx?qprid=0&qpcustomd=1 (클릭하면 새로운 페이지에서 확인할 수 있어요) 들어가서 보시면 데스크톱 버전으로 확인할 수 있고요. 모바일 + 태블릿 버전으로도 확인할 수 있어요. 데스크톱 버전에서는 1위 크롬, 2위 인터넷익스플로러 모바일 + 태블릿 버전은 1위 크롬, 2위 사파리 둘 다 크롬이 1등인데요 !!50% 이상씩 차지하고 있더라고요. 제 블로그에 들어오시는 분들은 어떤 웹 브라우저를 사용하고 있는지 확인해봤는데요. 숫자는 가렸어요 :-) 제 블로그는 모바일 보다는 데스크톱 환경에서 접속하는 분들이 많기 때문에 !! 인터넷 익스플로러가 2등을.. 더보기
imagemagick 예제 여러개 아주아주아주 훌륭한 이미지 처리 관련 오픈소스인 imagemagick 정말 좋아요.제가 사용하는 기본적인 처리는 대부분 지원하고 커맨드라인으로도 사용 가능하기 때문에 더더더 좋아합니다. :-) 예제 몇 개를 이번 포스팅에서 작성해보려고요. 1. jpg to png 간단한 처리라서 imagemagick이 아니더라도 지원하는 툴이 많죠.imagemagick에서는 아래와 같이 사용합니다. convert name.jpg name.png 응용해보면 아래와 같이 할 수 있겠죠 ! import globfor original_img in glob.glob("images/*"): popen("convert %s %s" % (original_img, original_img.replace("jpg", "png"))) 2. .. 더보기
국내 지도 서비스에서 추가되었으면 하는 구글맵 기능 제목이 조금 어려운데구글 맵에는 있으나 !! 국내 지도 서비스에는 없는 기능이라는 뜻입니다 :) 아래는 샌프란시스코 구글 맵 스크린샷의 일부 !! 건물 실내 지도를 구축해서 서비스하고 있어요. 층을 바뀌면 실내지도도 바뀌고 해당하는 상점도 다르게 표현되요. 이게 꽤 유용해요.가게가 몇 층에 있는지 !! 백화점에가서 안내판을 볼 필요가 없어요. 구글 맵에서 다 나오니깐 :) 꽤 많은 곳의 실내지도가 구축된 것 같아요.정확한 수치는 모르겠지만 호텔의 실내지도도 공유되고 있어요. 정말 멋진 기능인 것 같은데아직 국내 지도 서비스에서는 확인이 안되네요. 아쉬워요 ㅠ 정책적으로도 건물을 만들 때 실내지도를 제작해서 나라에 제출하도록 해야 한다고 생각합니다. 지도 서비스를 통해 실내 상가에 정확한 위치를 알 수 있.. 더보기
mac - postgresql & postgis install and setting 일단 분류가 좀 이상하지만 나중에 찾을 때 제가 여기를 확인할 것 같아서.. 1. PostgreSQL & PostGIS 설치는 brew로 간단하게 가능 - brew 설치는 아래 참고 linux에서 brew 설치 (http://brew.sh/linuxbrew/) apt-get install -y build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev # ---> root 이외의 사용자에서 실행해야 합니다.ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)" 스크.. 더보기
github remote branch : clone / checkout / remove github에 master 말고 다른 브랜치(branch)를 clone 하기 위한 방법을 간단하게 그림으로 :) 1. 브랜치 이름과 github 주소를 알아야겠죠?? 예를 들어서 브랜치 이름이 pub_v1.5 이고 github의 주소가 github.com:di49g8idafj3d8s9/TEST.git 라고 가정해보면 pub_v1.5 브랜치를 clone 하기 위해서 아래와 같은 명령어를 사용하면 됩니다. git clone -b pub_v1.5 git@github.com:di49g8idafj3d8s9/TEST.git . (보기 좋으라고 띄어쓰기를 좀 했어요) checkout 하는 것도 기록해둡니다. 1. 일단 git pull로 remote에 위치한 branch 파일들을 받아옵니다. 물론 git pull은 현.. 더보기