반응형

개발 330

[Infra] SonarQube centos 에 연동하기

코드 정적 분석 툴인 SonarQube 를 centos 에 연동을 하려고 한다. (개인 프로젝트 때 사용해보려고.) 우선 필자는 centos 7 을 사용하고 있다. SonarQube 를 사용하기 위해선 서버에 jdk 가 깔려있어야 한다. jdk 8 을 설치를 해놓도록 하자 우선 SonarQube 를 다운 받도록 하자. 공식 사이트에서 ZIP 으로 받을 수 있다. 필자는 LTS 버전을 받았다. 그리고 필자는 /opt 경로에서 작업을 했다. $ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.6.zip 그러면 파일을 다운 받았을텐데 파일 확장자가 .ZIP 이다. 그래서 unzip 을 설치하도록 하자. $ sudo yum i..

개발/Infra 2018.12.09

[Infra] centos mysql 외부 접속 가능하게 하기

전 글에서 centos 에 mysql 5.7버전을 설치하는 글을 작성했다. 이제 윈도우에서 mysql workbench 로 centos 에 깔려있는 mysql 서버에 접속하려고 한다. $ sudo mysql -u root -p $ 비번입력 이제 정삭적으로 mysql client 접속이 됐을 것이다. $ mysql > use mysql; $ mysql > show tables; ... user ... show tables; 를 입력하면 테이블이 짜르륵 뜨는데 그 중 user 테이블을 조회할 것이다. $ mysql > select host,user from user 그러면 사진과 같이 데이터가 조회가 되는데, host 를 보면 localhost 로 돼 있을 것이다. 이는 해당 user 가 localhost ..

개발/Infra 2018.12.05

[Infra] centos 에 mysql 설치 후 윈도우 mysql workbench 로 접속하기

centos 7 에 mysql 설치에 대해서 작성하려고 한다. 우선 과정은 다음과 같다. mysql 설치 mysql 셋팅 켜기 1. Mysql 설치 우선 필자는 mysql 5.7 버전을 설치했다. $ sudo rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 그러면 우선 연결시키고 난 뒤에 sudo yum search mysql-community 를 해보면 짜르륵 나올 것이다. 그 중 우리는 꼭 필요한 의존성만 설치를 할 것이다. // mysql-community-server 에 나머지 3개가 포함되어 있다. mysql-community-server - mysql-community-client - mysql-com..

개발/Infra 2018.12.05

[Infra] centos ssh 접속하기

이제 centos 가 설치된 노트북에 ssh 접속을 할 차례이다. 우선 다음과 같은 과정으로 ssh 접속을 위한 설정을 해야한다. ssh 설치 돼 있는지 확인 방확벽에 tcp 포트 허용 ssh 접속 이렇게 3가지 과정으로 ssh 접속을 할 수 있는데, 좀 더 부가적으로 root 로그인 허용, 인증 요청 최대 시간, 최대 연결 시도 횟수, ssh 연결 수 등을 설정할 수 있는데 필자는 하지 않았습니다. 저희 집 와이파이를 IQ 해킹하지 않는 이상 ㅎㅎ which sshd 를 통해 ssh 서버가 설치 됐는지 확인 사진과 같이 뜨면 설치가 돼 있는 것입니다. 방화벽 포트 설정 centos 7 에서는 firewalld 를 사용합니다. 설치가 되지 않았다면 알아서들 설치합시다~ 필자는 이미 허용한 상태라 Warn..

개발/Infra 2018.12.04

[Infra] 'user이름' is not in the sudoers file. This incident will be reported 발생 시 해결법

centos 를 힘겹게 설치를 하고 난 후, ssh 관련해서 설정을 하려고 하니 "user이름" is not in the sudoers file. This incident will be reported 와 같은 에러가 발생했다. 이 이유는 /etc/sudoers 에 사용 중인 계정이 등록되지 않아서 root 권한을 얻지 못하는 경우에 발생하는 것 같다. 해결 방법은 다음과 같다. root 로 로그인 /etc/sudoers 에 자신의 계정에 root 권한 줌 정상적으로 권한이 주워졌는지 확인 캡처를 하고 싶지만 VM 에서 작업하는게 아닌 다른 노트북에서 작성 중이라 캡처를 하지 못했다. 찍는 것도 귀찮고,, $ sudo - (그리고 root 비밀번호 입력) $ visudo -f /etc/sudoers (이..

개발/Infra 2018.12.04

[Spring] json에 백슬래쉬(\)가 포함된 string 을 Object 로 가져오기

spring feign 을 사용 중이었는데 response 로 json 을 받아와 feign 내부에서 jackson 을 통해 Object 로 매핑해준다. 해당 json 데이터는 원래 DB 에 들어있던 json string 이었다. "data": \"{\""id"\":\""temp"\"}\" 그래서 처음에는 매핑받는 클래스에서 다음과 같이 inner 클래스로 해당 json string 까지 알아서 매핑되도록 했었다. public class Parent { ... private Data data; ... public class Data { private String id; ... } } 그런데 파싱을 할 수 없다고 오류가 발생했다. (오류는 기억이 안나는데 재현하기 귀찮음) json 에 data 키를 매핑 ..

개발/Spring 2018.11.22

[Spring] Spring JPA Specification

Spring JPA SpecificationSpring JPA Specification 에 알아보려고 한다.다음의 사이트에서 Spring JPA Specification 에 대해서 그마나 쉽게 이해가 되도록 이야기하는 것 같다.https://dzone.com/articles/using-spring-data-jpa-specificationSpring JPA Specification 은 매우 짧게 이야기 한다면 기존에 인터페이스에 JpaRepository 같이 상속받아서 CRUD 메소드를 제공 받았으나, 동적인 쿼리를 작성할 때 JPA Specification 이 도움이 된다.예를 들어, 다음과 같은 기능이 있다고 생각하자.유저를 검색하는 게시판에, 각각 필터가 달려있다. userId, userName, c..

개발/Spring 2018.10.22

[Infra] 주키퍼를 설치해봅시다.

주키퍼를 설치해봅시다. 큰 목차는 다음과 같습니다.주키퍼 설치주키퍼 설정주키퍼 start셋팅 됐는지 확인 stable 버전은 3.4.13 인 것 같습니다. 해당 릴리즈 노트를 확인해보면 수정된 사항이 굉장히 많습니다. https://zookeeper.apache.org/doc/r3.4.13/releasenotes.html 3.4.13 버전의 주키퍼 다운로드 링크는 다음과 같습니다. http://apache.mirror.cdnetworks.com/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz 그리고 이제 서버에 접속하도록 하겠습니다.저는 "AAA", "BBB", "CCC" 에서 작업을 하였습니다. dev 에선 서버 1개만 만들었고, stg 와 prd 에서는 각각..

개발/Infra 2018.10.11

[Spring] Spring boot multi source transaction

Spring Boot JPA MultiSource TransactionSpring boot : 2.0.5 버전을 사용 중이다.Spring boot 에서 JPA 를 사용할 때 2개 이상의 DB 를 사용할 때가 있다. 그럴 때 이제 트랜잭션 문제가 생길 수 있는데, Spring boot 에서 제공하는 @Transaction 어노테이션에 대한 주석을 살펴보면 다음과 같이 주석이 달려있다./** * A qualifier value for the specified transaction. * May be used to determine the target transaction manager, * matching the qualifier value (or the bean name) of a specific * {@l..

개발/Spring 2018.10.06
반응형