개인적으로 개발 중인 서버 프레임워크 및 기타 Github 소스들을 쉽게 제공하기 위해서(나에게 제공...;;) maven 을 사용할 수 있는 방법을 찾던 중 혹시나 Github 에 있지 않을까 해서 확인해보니 역시나 있었다!https://github.com/github/maven-plugins잘 정리가 되어 있어서 일단 따라해 봤다.maven 폴더 안에 있는 settings.xml 에 github 으로 파일을 올리기 위한 설정이 필요하기 때문에 github 의 계정 정보를 설정해 주었다. 내 settings.xml 위치 C:\Users\user\.m2\repository github github id github password 그리고 프로젝트 안의 pom.xml 에 example 에 있는 plugin..
진행이 중반 이후로 넘어갈 때 기존 코드 중 정말 말도 안되는 부분을 수정하면서 불안함이 몰려오기 시작했다. 처음 프로젝트를 시작했을 때는 머리속에 단계별 목표가 명확했지만 어느순간 목표가 보이지 않았다. 내가 리더였지만 같이 하던 동료에게 우리가 과연 이번 분기에 해낼 수 있을 까를 물어보기도 하고 다음 날 다시 한번 레거시 소스를 쳬계적으로 분석하며 차근차근 진행해 갔다 (우리가 진행했던 개선 부분이 결제관련 부분이어서 상당한 부담감을 갖고 있었다.)1차적으로 사내IP 로만 새로운 결제를 사용할 수 있도록 적용하여 가오픈을 진행했다. 여기서도 몇 번의 이슈가 발생했고 오픈 후에도 몇번 이슈가 발생했다. 나중에 든 생각이 운영 데이터를 새로 개발한 부분으로 계속해서 흘려보내는 방식으로 한달정도 모니터를..
작년(2017 4분기) 나의 최종목표는 전체중 극히 일부분에 지나지 않은 레거시 코드를 개선하는 것이었다. 아주 작은 부분이었지만 개발자 인생에서 처음으로 레거시를 마음껏 개선할 수 있는 기회이기도 했다. 물론 레거시의 괴물(?) 같은 모습을 모르는 것은 아니었지만 도전하고 싶었고 DDD(Domain Driven Design)를 사용해보고 싶은 욕심도 있었다. 이미 DDD Start 라는 책을 읽었던 터라 조금의 희망을 가지고 있었고 분기시작 전 추석동안 그 책을 한번 더 읽었다. 같이 개발을 해야할 동료들에게도 읽기를 권하고 규칙들을 정한 뒤 개발을 시작했다.읽은 책은 기본서적이라 도메인을 세부적으로 적용해 보기에는 힘들었지만 이런 부분까지 검토하면서 진행하기에는 레거시의 너무 많은 세월(신기한 분기문..
Zookeeper 설정 conf/zookeeper.properties* zookeeper 데이터 저장 위치 dataDir=D:/kafka_2.11-0.11.0.0/temp/zookeeper* kafka 가 접속할 포트 clientPort=2181* 하나의 클라이언트에 동시접속하는 개수 제한 기본 60 이며 0은 무제한 maxClientCnxns=0* 하나의 zookeeper 리더에 연결해서 동기화 하는 시간 initLimit=5* 리더가 아닌 zookeeper 노드가 리더와 동기화 하는 시간 syncLimit=2* zookeeper 서로 간의 통신을 하기 위한 포트 server.1=192.168.0.1:2888:3888 server.2=192.168.0.2:2888:3888* dataDir 밑에 myid..
이제 HBase를 설치 했으니 PinPoint를 설치해 보자.Pinpoint는 Scouter와 비슷한 구조인 agent, server, web(client)으로 나눠진다. Scouter는 Client를 이클립스과 같은 설치형 client를 제공하는 거에 반해 pinpoint는 web으로 제공해 준다. 그래서 하나의 tomcat에 server와 web을 모두 설치할 것이다.1. 알맞은 tomcat 다운로드 (https://tomcat.apache.org/)2. 압축을 풀고 설치한 뒤 conf/server.xml에 context 설정을 추가한다. webapps 밑에 pinpoint-collector-1.6.2.war으 압축을 풀고 webapps/collector/밑에 저장하고 webapss/ROOT 밑에 p..
네이버에서 만든 Pinpoint를 사용해 보기 위해 먼저 HBase를 먼저 설치해야한다...ㅠㅠ(pinpoint 설치 가이느 : https://github.com/naver/pinpoint/blob/master/doc/installation.md)http://hbase.apache.org/ 에서 hbase를 다운로드 한다.그리고 http://hbase.apache.org/book.html#quickstart 를 보며 따라한다..ㅋㅋhbase를 모니터링 용도로 사용할 것이기 때문에 간단하게 stand-alone 형식으로 설치해 본다. 1. tar xzvf hbase-3.0.0-SNAPSHOT-bin.tar.gz2. edit conf/hbase-env.sh 뒤에 /bin/java가 자동으로 붙기 때문에 us..
HTTPS 는 HTTP 에 보안을 추가한 것으로 S는 Over Secure Socket Layer의 약자이다. 말그대로 SSL(Secure Socket Layer) 프로토콜 위에서 HTTP 를 사용하는 것이다. SSL은 네스케이프에서 발명되어 IETF의 관리로 변경되면서 TLS로 이름이 변경되었다.SSL은 대칭키와 공개키 암호화 방식을 혼용해서 사용한다. 간단히 설명하면 공개키 방식을 통해 대칭키를 주고받고 실제 통신은 대칭키를 사용하게 된다. 이는 공개키 방식은 대칭키에 비해 안전한 반면 암복호화가 느리고 대칭키는 덜 안전한 반면 암복호화가 빠르기 때문이다.SSL 인증서는 서버가 신뢰있는 서버임을 보장하고 SSL 통신에 사용할 공개키를 클라이언트에게 제공하는 역할을 한다.CA(Certificate au..
설치가 완료된 Docker를 start 하고 여기서 개발한 어플리케이션을 올려보기로 했다. 올릴 어플리케이션은 nodejs로 개발된 것으로 Host에 파일이 저장돼 있는 상태다.Docker 명령어 중에 exec라는 명령어가 있는데 컨테이너에 attach로 접속하지 않고 외부에서 명령어를 실행해 볼 수 있다. 예를 들어 외부헤서 컨테이너안의 특정 폴더 목록을 보고싶을 경우 아래와 같이 실행하면 hello라는 컨테이너의 /bin 하위 폴더 목록을 볼 수 있다.docker exec hello ls /bin새로운 어플리케이션을 설치하기 위해 app폴더를 하나 생성했다. docker exec hello mkdir /app그리고 cp를 통해서 파일을 카피하려고 했다.(https://docs.docker.com/en..
Docker를 사용해 보기 위해서 현재 개인적으로 사용 중인 AWS의 우분투 서버에 Docker를 설치해 보기로 했다.그리고 이 Docker에 기존 서비스 중인 ShareTime과 Node.js로 개발한 HelloBook을 올려 보기로 했다.Server 환경 Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-48-generic x86_64)설치 실행 명령어 sudo apt-get update sudo apt-get install docker.io sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker두 번째 실행 명령어를 통해서 Docker를 설치하고 나면 docker.io와 docker가 둘 다 /usr/bin/밑에 설치되어 있는 것을 알 볼 수 ..
daemonize [yes/no] (default : no) yes로 설정하면 데몬으로 실행할 수 있다. 데몬으로 기동 시 redis를 여러개 기동할 수 있다.pidfile(default : /var/run/redis.pid) daemonize가 yes일 경우 유효하며 경로와 파일명을 설정할 수 있다. pid 가 파일로 저장된다. 여러개를 띄울 경우 pid 파일이 겹칠 수 있으니 다르게 설정해 줘야 한다.port [number] (default : 6379) Redis Port.bind [ip] 사용할 네트워크 어댑터 지정.timeout [second] 클라이언트의 연결에 대한 idle 시간을 설정. 모든 클라이언트에 적용되며(redis-cli 도 영향을 줌) 0이면 무한대이다. 이 시간은 클라이언트에서..