전체 글

좌충우돌 개발자의 기록

    [Elasticsearch] 클러스터 구성하기

    [Elasticsearch] 클러스터 구성하기

    운영 환경 모든 노드는 동일 private network로 묶여 있습니다. OS : Contos 7 3대 master 노드 1대 (172.25.1.10) data 노드 2대 (172.25.1.11, 172.25.1.12) Java 11 Elasticsearch 7.17.7 클러스터 구성 전 $ curl localhost:9200 { "name" : "master", "cluster_name" : "my-cluster", "cluster_uuid" : "w4dI8ZN8CTO--P52i2Jbqo", "version" : { "number" : "7.17.7", "build_flavor" : "default", "build_type" : "rpm", "build_hash" : "48dcaba8cee33438b..

    [GitHub] Git History에서 특정 파일 삭제하기

    GitHub에서 private 레포지터리를 public으로 변환하고 싶었는데, 공개하면 안되는 파일들이 있어서 해결한 방법을 작성합니다. 1. .gitignore에 해당 파일 추가하기 공개하지 말아야할 파일을 .gitignore 파일에 추가해줍니다. 2. Git History 삭제하기 삭제하고자 하는 파일을 git에서 삭제하더라도 commit history가 남아 있어서 파일이 그대로 노출이 됩니다. git repository경로에서 아래 명령어를 통해 history까지 삭제해줍니다. $ cd git/myproject $ git filter-branch --force --index-filter "git rm --cached --ignore-unmatch 경로/파일" --prune-empty --tag-n..

    [Apache VFS] SFTP 파일 업로드

    공식 Document : Commons Virtual File System Apache Commons VFS – Commons Virtual File System Commons Virtual File System Commons VFS provides a single API for accessing various different file systems. It presents a uniform view of the files from various different sources, such as the files on local disk, on an HTTP server, or inside a Zip archive. commons.apache.org 1. Dependency 추가 org.apache.com..

    [Maven] 라이브러리 Dependency 충돌 해결하기(Maven Tree)

    Maven은 라이브러리 관리에서 유용한 도구입니다. 그러나 때로는 각 라이브러리가 참조하는 하위 라이브러리 버전이 충돌하는 경우가 있습니다. Maven에서는 각 라이브러리가 서로 다른 버전을 참조하고 있을 때는 maven tree 구조에서 root와 가장 가까운 라이브러리를 선택하여 빌드가 됩니다. Maven Tree 확인하기 Maven Tree를 사용하면 프로젝트에 필요한 다양한 라이브러리와 그들의 의존성 관계를 한눈에 파악할 수 있습니다. mvn dependency:tree 예를 들어, tika 라이브러리와 openhtmltopdf 라이브러리는 모두 pdfbox라이브러리를 참조하지만 각각 버전이 다른 pdfbox를 참조합니다. tika-parsers-standard-package -> pdfbox:2..

    [CentOS] SSHFS 리눅스 원격 폴더 마운트

    SSHFS Reference https://help.ubuntu.com/community/SSHFS SSHFS 설치 $ yum install epel-release -y $ yum install fuse sshfs -y SSHFS Mount $ sshfs user@host:/dir mountpoint [options] SSHFS Options $ sshfs --help SSHFS options: -p PORT equivalent to '-o port=PORT' -C equivalent to '-o compression=yes' -F ssh_configfile specifies alternative ssh configuration file -1 equivalent to '-o ssh_protocol=1' ..

    [PostgreSQL] 중복데이터 삭제 방법(중복데이터 하나만 남기고 제거)

    [PostgreSQL] 중복데이터 삭제 방법(중복데이터 하나만 남기고 제거)

    테이블에 중복된 데이터가 있을 때 중복된 데이터에서 한개만 남기고 나머지를 제거해야 하는 이슈가 있었다. 여기서 중복이라는 것은 유일할 것이라고 생각하는 컬럼의 데이터가 여러개 있을 경우를 말한다. (애초에 pk 또는 unique key를 잡았다면 문제가 없었을 것이다.) DELETE FROM table_name where ctid in ( SELECT A.ctid FROM ( SELECT ctid, ROW_NUMBER() over (PARTITION BY column_name ORDER BY column_name desc) AS num FROM table_name ) A WHERE A.num > 1 ) 중복을 제거할 테이블에서 중복 체크할 컬럼을 PARTITION으로 묶어 ORDER BY 순으로 번호를..

    [openhtmltopdf] HTML을 PDF로 변환하기

    공식 GitHub URL : https://github.com/danfickle/openhtmltopdf 1. Dependency 추가 org.jsoup jsoup 1.13.1 com.openhtmltopdf openhtmltopdf-core 1.0.6 com.openhtmltopdf openhtmltopdf-pdfbox 1.0.6 2. Sample code // html 파일 ClassPathResource resource = new ClassPathResource("pdf/industry-application.html"); String outputFile = "output.pdf"; // HTML 읽기 String html = new String(Files.readAllBytes(Paths.get(r..

    [CentOS] Jenkins로 Tomcat에 자동 배포 자동화

    [CentOS] Jenkins로 Tomcat에 자동 배포 자동화

    Jenkins에서 빌드성공 후 Tomcat에 자동 배포하도록 환경을 구축하는 방법을 기록합니다. 1. Jenkins, Tomcat 설치 [CentOS] Jenkins 설치방법 포스팅 참고 [CentOS] Tomcat9 설치방법 포스팅 참고 2. Tomcat 웹 관리 인터페이스 구성 설정 $ vi /opt/tomcat/latest/conf/tomcat-users.xml 3. Jenkins Plugin 설치 Jenkins 관리 -> 플로그인 관리 Available Plugins -> 'deploy to container' 검색 -> Install 체크 - > Install without restart 4. Jenkins Item(프로젝트) 설정 Item(프로젝트) -> 구성 빌드 후 조치 -> 빌드 후 조치..