본문 바로가기

전체 글418

maven에 custom jar를 집어넣어 보자. IntelliJ 환경에서 build를 하면 별로 고민을 안해도 되지만 리눅스 환경에서 maven build를 해야되는 경우 custom jar 파일을 pom.xml 파일에 추가시켜 줘야 maven build시 인식이 된다. 대략적으로 설명을 하자면, 개인 로컬 repository를 만들고 해당 repository를 pom.xml에 등록한다.그 후 dependency를 추가해 준다.이렇게 하면 custom jar 파일을 pom.xml에서 인식할 수 있고 쉽게 maven build를 실행할 수 있다. 개인 로컬 repository는 아래처럼 pom.xml에 추가하자. localrepository file://${basedir}/repo url 항목을 보면 jar 라이브러리 파일 경로를 입력하는 것을 확인해 .. 2018. 3. 6.
[5강] 클래스와 객체 CLASS, FIELD, METHOD scala에서의 class, field, method는 JAVA와 상당히 유사하다. 일단 scala에서는 아래와 같이 class를 정의 할 수가 있다. class Test { var variable = 0 } 해당 클래스를 객체로 만들고 싶다면 아래와 같이 new로 선언해 주면 된다. val test1 = new Test() 또한 Test class 내의 변수 무결성을 보장해 주기 위해 private로 선언해 줄 수도 있다. class Test { private var variable = 0 } scala에서는 기본적으로 변수 선언을 하게 되면 public이며, 따로 public 키워드를 사용하고 있지는 않다. 이제 변수를 파라미터로 받아서 variable에 더해주는.. 2018. 3. 3.
IntelliJ에서 scala 사용해보기 우선 mac 기준으로 IntelliJ와 JDK는 깔려 있다는 가정하에 IntelliJ에서 IntelliJ IDEA > Plugins에서 scala를 검색해보자. 위의 그림과 같이 SBT와 Scala가 검색이 되는데 이 두 개의 플러그인을 모두 설치하자. 설치한 후에는 IntelliJ 리스타트~ 하기 전에 scala sdk부터 설치를 하자. 아래의 링크로 들어가서 scala sdk를 설치하자. https://www.scala-lang.org/download/ 나 같은 경우에는 Mac OS 버전인 scala-2.12.4tgz을 다운 받았다. 적절한 폴더에 압축을 풀어주자. (나 같은 경우에는 JAVA JDK와 비슷한 위치에 압축을 풀음.) 기왕이면 SCALA_HOME과 PATH도 ~./bash_profile.. 2018. 2. 23.
ZooInspector를 사용해 보자. ZooKeeper를 이용해서 L4 등과 같은 로드 밸런서로 사용도 하지만 어떤 경우에는 ZooKeeper에 checkpoint를 저장하며 사용하는 경우도 있다. 이럴 경우에 내가 제대로 checkpoint를 찍었나 확인을 해야 하는데, 이 때 사용하기 편한 툴을 소개하려고 한다. 우선 ZooInspector를 사용하기 위해서는 Zookeeper가 깔려 있어야 하고, JAVA_HOME 설정이 되어 있어야 한다.OS X 기준으로 우선 Zookeeper부터 깔아보자. $> brew install zookeeper 그런 다음 홈디렉토리의 .bash_profile 파일을 연 후 JAVA_HOME을 아래와 같이 설정해 주자. export JAVA_HOME=/Library/Java/JavaVirtualMachines.. 2018. 2. 22.
[SCIKITLEARN] naive bayes를 이용해서 문서 분류 하기 Naive bayes를 이용해서 문서 분류를 해보자. Naive bayes는 bayes 정리의 일부분이다. 앞에 Naive라는 수식어가 붙은 이유는 몇 가지 Naive한 가정을 기반으로 정의된 이론이기 때문에 Naive bayes라고 불린다. 그렇기 때문에 우선 bayes 정리에 대해서 살펴보자.A라는 분류 항목을 가지는 p1(x,y) 이라는 확률 방정식과 B라는 분류 항목을 가지는 p2(x,y)라는 확률 방정식이 있다고 가정을 해보자. 아래와 같은 가정이 성립할 것이다.만약에 p1(x,y) > p2(x,y)이면, x, y는 A에 속한다.만약에 p1(x,y) < p2(x,y)이면, x, y는 B에 속한다.분류를 위해 우리는 p1과 p2의 확률을 계산할 수 있어야 하며, 이를 계산하기 위해서 조건부 확률을.. 2017. 12. 18.
[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.