본문 바로가기

2017/1112

[Git flow] feature publishing 하기 2017/11/14 - [Server/Ubuntu] - [GIT FLOW] git flow를 사용해 보자! git flow에서 feature branch에 있는 코드를 같이 작업하기 위해서는 feature branch를 remote 저장소에 올려서 작업을 해야 한다. 나 같은 경우에는 feature branch에서 따로 협업할 일은 없었지만, 회사의 업무를 집에서 이어서 하고자 하려면 feature branch를 원격 저장소에 publish를 해야만 했다. 가령 test1이라는 feature branch를 원격 저장소에 올리고 싶은 경우 아래와 같이 feature publish를 통해 remote 저장소에 feature branch를 올릴 수가 있다. $> git flow feature publish t.. 2017. 11. 26.
[UBUNTU] apt-get, pip, git, pyenv proxy 설정 사내에서 apt-get을 하려면 proxy 설정이 되어 있기 때문에 package를 받지 못하는 경우가 발생한다. 이런 경우 proxy 서버를 설정해 주어야 하는데 위치는 아래와 같다. $> vi /etc/apt/apt.conf 만약에 해당 위치에 apt.conf가 존재하지 않는다면 그냥 새롭게 파일을 만들면 된다. 해당 파일을 열고 아래와 같이 입력해 주면 끝~ Acquire::http::proxy "proxy 서버 주소"; 추가로 git도 마찬가지로 proxy 설정을 해줘야 하는데 위치는 홈디렉토리 위치에 .gitconfig 파일을 만들고 아래와 같이 입력해 주자. [http]proxy = 프록시 서버 주소[https] proxy = 프록시 서버 주소 python의 pip의 경우도 proxy 설정을 .. 2017. 11. 24.
[LOCALE 설정] unsupported locale setting 신규로 받은 장비에 tensorflow를 설치하고 아래와 같이 tensorboard를 돌리려는 순간 아래와 같은 에러가 발생했다.!! shell에서 locale을 입력하면 아래와 같이 LC_CTYPE과 LC_ALL이 설정되어 있지 않다고 나올 것이다. export LC_ALL=C 라고 shell에 입력해주자.$> export LC_ALL=C 다시 tensorboard를 돌려보면 아주 잘 동작 되는 것을 확인할 수 있다. 2017. 11. 23.
[SSH] ssh 재인증 받기 사내 클러스터 서버의 instance를 받아서 해당 서버에 접속하기 위한 ssh 인증 키를 발급받았다. 이렇게 저렇게 잘 쓰고 있다가 어떠한 사유로 인해 instance를 삭제하고 다시 생성해야 하는 일이 발생했다.삭제하고 다시 생성했는데, 이름이랑 port랑 인증키랑 다 똑같네???그냥 ssh 접근하면 되겠다.. 하고 접근한 순간!! 아래와 같은 에러 메시지가 발생!! 결론적으로 host key를 바꾸라는 이야기다.host key는 ~/.ssh/known_hosts를 열어보면 쫙 나열되어 있는 것을 볼 수 있다.vi로 known_hosts를 연 후 해당하는 host의 키를 지운 후 다시 받으면 정상적으로 접근되는 것을 확인할 수 있다. 2017. 11. 22.
[Python] Ipython 노트북 설치하기 IPython??기존의 python보다 좀더 인터프리터가 쉽게 나타나 있는 형태라고 보면 될 것 같다.python을 웹에서 코딩하고 작업할 수는 없을까라는 요구에 의해 나오게 된 거라도 봐도 될 것 같다. 간단히 어떻게 설치하고 사용하는지 살펴보자. 우선 ipython을 설치한다.참고로 ipython은 python 버전 2.7 또는 3.3 이상을 요구한다. $> pip install ipython 아래 라이브러리는 Ipython 사용에 있어 dependencies를 가지는 라이브러리들이기 때문에 함께 설치한다.- jinja2, needed for the notebook- sphinx, needed for nbconvert- pyzmq, needed for IPython's parallel computin.. 2017. 11. 21.
[Flask] Flask에서 ajax 사용하기 Flask 웹 페이지 화면에서 데이터가 갱신 되었을 때, 해당된 영역만 갱신을 하고 싶었다. 웹은 거의 초짜 수준이라.. 이것 저것 찾아 봤다. 맨 처음에 쓴 방식은 html template를 새롭게 하나 더 만들고, 새롭게 만든 html template에 기존 html 콘텐츠를 추가하기 아래와 같은 방식이다.{% block %} 원래 html 영역 {% end block %} 새롭게 만든 html 영역 하지만 이 방법 역시 기존 html 영역을 나타나게 하려면 python 코드에서 정보를 다 입력해서 넘겨주어야만 했다.return render_template('새로운 html', 기존 html 정보, 새로운 html 정보); 결국엔 전체 page 갱신과 똑같은 결과라서 결국 이 방법은 포기! 두 번째 .. 2017. 11. 20.
[SQLALCHEMY] session 관리 SQLAlchemy에서는 정말 편리하게도 많은 기능들을 제공해 주고 있다. 그 중 하나로 pool 관리도 해주는데 대부분 아래와 같이 사용할 것이다.from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker engine = create_engine('mysql 주소', convert_unicode=False, pool_size=20, pool_recycle=500, max_overflow=20)session = scoped_session(sessionmaker(autocommit=False, autoflush=False, bind=engine)) 간략하게 create_engine의 parameter.. 2017. 11. 15.
[GIT FLOW] git flow를 사용해 보자! 기존 git branch에 대해 좀 더 효율적인 branch 관리를 위해 도입한 glt flow를 사용해 보기로 했다. 기존의 git의 경우 master와 develop 두 가지의 branch 전략만 기본으로 제시하고 있는데, git flow에서는 이를 좀 더 세분화 해서 branch 를 나누고 있다.우선 우리가 가장 잘 알고 있는 master와 develop branch부터 살펴보자면, master는 실제 배포를 위한 branch, develop은 배포를 하기 위한 작업 branch라고 생각하면 된다. 이 develop branch에서 간혹 문제가 발생되는데, 가령 A라는 기능을 만드는 도중에 A 기능 개발을 잠시 중단하고 B 기능을 개발해야 된다면 어떻게 해야 될까? A 기능을 주석처리한 다음에 B를.. 2017. 11. 14.
[INTELLIJ] Jar 파일 만들기 IntelliJ에서 maven 빌드를 하려고 하는데, 관련 메뉴를 도무지 찾지 못했다. 예전 eclipse 같은 경우는 maven install 이라고 따로 팝업 메뉴가 존재했었는데, 그런 것도 없고 그냥 build를 하면 jar 파일 생성은 안되고.. 찾아본 결과 Build artifacts를 하면 된다는 글을 발견.. 실행하려는 찰나.. 어라??? 메뉴가 enable 설정이 되어 있지 않다!!또 열씸히 구글링...아하.. artifacts를 빌드하려면 artifacts를 만들어 주어야 한다..artifacts를 만들기 전에.. 도대체 artifacts가 무엇인지부터 찾아봤다.일반적으로 소프트웨어에서의 artifacts는 개발 프로세스에 의해 생성된 무언가를 나타낸다고 한다. 즉 실행파일이나 중간 산출.. 2017. 11. 13.