socuter server 의 conf 폴더 안에 account.xml 을 보면 인코딩된 password 를 볼 수 있다. 구글링을 아무리 해도 password 를 인코딩하는 방법을 찾을 수 있어서 소스를 확인하며 가져왔다. public static String sha256(String plainText) { String salt = "qwertyuiop!@#$%^&*()zxcvbnm,."; String sha256Text = null; if (plainText != null) { try { MessageDigest sha256 = MessageDigest.getInstance("SHA-256"); sha256.update(salt.getBytes()); byte[] byteArray = plainTex..

이전 bitbucket pipeline 사용하기(https://jamcode.tistory.com/57) 에 간단한 pipeline 에 대한 설명을 참고 할 수 있다. 이번에는 실제로 적용한 예를 공유하려고 한다. 프론트는 node 환경에서 ReactJS 를 통해서 개발하고 webpack 으로 빌드된 bundle.js 및 기타 resource 를 배포할 것이고 백엔드는 java 를 gradle 로 빌드하여 jar 를 만들어 배포할 것이다. 우선 bitbucket-pipelines.yml 을 작성해 보자. bitbucket 은 docker 환경에서 빌드를 진행하며 전체의 docker 이미지를 설정할 수도 있지만 각 step 의 image 를 별도로 설정할 수도 있다. 기본적으로 제공해 주는 image 중 ..
Java8 이전 까지의 인터페이스는 variable/methods 에 대해서 다음 두 가지의 형태를 갖고 있었습니다.- Constant variables (상수) - Abstract methods (추상메소드)그래서 우리는 인터페이스 안에서 메소드를 구현할 수 없고 더 정밀한 기본 구현을 할 수 없었습니다. 하지만 Java8 부터 인터페이스는 다음과 같은 형태를 갖을 수 있게 되었습니다.- Constant variables - Abstract methods - Default methods (기본 메소드) - Static methods (정적 메소드)이제 기본 구현과 정적 메소드를 통해서 인터페이스 자체를 사용할 수 있게 되었습니다. (난 반댈세...)Java9 부터는 (이제 그만~!!) 다음 타입들이 늘..
bitbucket.org 에서 repository 를 생성하면 왼쪽 메뉴 중에 Pipelines 이 있는 것을 볼 수 있다. 이 기능이 CI, CD 를 지원해 준다는 것을 알 수 있다.클릭해서 설명을 보면 무료계정일 경우 50분을 무료로 사용할 수 있는 것을 확인할 수 있다. 사용해보기 위해서 맨 하단의 Settings 로 이동한다.많은 메뉴 중에 PIPELINES 메뉴를 볼 수 있다.우선 Settings 를 클릭하면 pipelines 를 활성화 할 수 있는데 repository 에 push 가 될 때 마다 bitbucket-pipelines.yml 파일을 통해서 CI, CD 를 수행하게 된다.Deployments 메뉴는 각 환경 (Test, Staging, Production) 에서 사용 할 변수들을 ..
참고 : https://www.postgresql.org/docs/9.1/static/ddl-partitioning.htmlpostgres 에서는 파티션 테이블을 테이블의 상속을 통해서 제공해 주고 있다. 부모 테이블을 생성해 준 뒤 이를 사용하여 자식 테이블을 생성해 준다. (테스트를 위해서 간단한 테이블을 생성해 준다.)1. 부모 테이블 생성CREATE TABLE TEST( ID NUMERIC NOT NULL );부모 테이블을 만들 때는 컬럼 속성외의 조건들은 (FK, PK, INDEX 등) 생성해도 자식 테이블로 전달되지 않는다.2. 이를 기반으로 자식 테이블을 생성해 준다.CREATE TABLE TEST_2 ( CHECK (ID >=1 AND ID =3 AND ID Seq Scan on test ..
설치가 완료된 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/밑에 설치되어 있는 것을 알 볼 수 ..