Docker에서 metabase 를 설치하여 BI를 사용하고 있었는데, 최근 팀 메시지로 온 내용 중에 metabase가 설치된 서버에서 비트코인 채굴을 해서 아래와 같은 채굴 관련 도메인으로 접근하는 일이 있었음. pool.supportxmr.com pool-hk.supportxmr.com 초반에는 아무것도 몰라서 clamav 를 돌려서 확인해봤지만 바이러스라던가 멀웨어 걸린 파일이 없어서 서버만 종료 시켰음. 하지만 후반에 docker가 설치된 쪽에서 metabase가 있는 폴더에 config.json 이라는 파일에서 위 url 로 가는 스크립트가 있었음. 해당 부분은 metabase에서 23년 7월 부터 있었던 보안이슈에서 확인 할 수 있었다. https://www.metabase.com/blog/..
import java.util.Arrays; public class Mara { public String solution(String[] participant, String[] completion) { // 두 배열 정렬하기( 모양 같게) Arrays.sort(participant); Arrays.sort(completion); // 2. 두 배열이 다른 부분을 찾는다. int i = 0; for(i=0;i
폰캣몬 문제 중복제거는 HashSet 을 사용하면 된다. import java.util.*; public class PhoneCatMon { public static int solution(int[] nums) { /* n 마리 중 n/2 마리 고르는 경우의 수 데이터 타입 Set ( 중복 제거 용) int max = n/2; int setSize = set.length; max > setSize 인 경우 setSize 반환 max < setSize 인 경우 max 반환 */ int max = nums.length/2; //중복 제거용 Set set = new HashSet(); for(int i = 0; i < nums.length; i++){ set.add(nums[i]); } int setSize ..
Azure storage 세팅 Azure Storage Access Key 해당 부분 복사 Azure Storage Container 생성 Azure Storage 에 mp4 파일 업로드 해당 container 로 들어가서 업로드 클릭 Azure Storage Container 업로드 완료 후 화면 Azure Storage에서 데이터를 가져오는 프로젝트 생성 Azure Storage 라이브러리 설치 npm install azure-storage --save 환경변수 window 환경 변수 설정 set PORT=3000 set STORAGE_ACCOUNT_NAME= set STORAGE_ACCESS_KEY= src/index.js 수정 const express = require('express') cons..
Azure, Docker, K8S MSA azure portal 무료(1년?) 등록 azure portal 이 링크에서 무료 등록 azure marketplace 에서 container registry 를 설치 container registry 만들기 access key 에서 사용자 이름, password 복사 프로젝트 생성 my-new-project 생성 사용 스택 : node.js, expressJS express 설치 cd my-new-project npm init npm install express --save nodemon 설치 cd my-new-project npm install --save-dev nodemon 프로젝트 폴더 구조 package.json { "name": "my-new-pro..
이번에 할 것은 Docker, k8s, terraform 으로 구현하는 마이크로 서비스 라는 책을 보면서 정리한 내용을 기재할 것이다. 마이크로 서비스란 무엇인가? 정의 마이크로 서비스는 개별적으로 배포 일정을 갖고 업데이트 운영이 가능한 작고 독립적인 소프트웨어 프로세스 이는 반드시 다른 마이크로 서비스와 별개로 업데이트가 가능해야한다는 말이다. 마이크로서비스는 어떤 개발자나 개발팀이 소유하고 관리가 가능하다. 각각의 마이크로서비스는 고객과의 상호작용을 위해 외부에서 접근 가능하도록 노출할 수 있고, 순수하게 내부적으로만 사용하는 서비스로 외부 접근을 허용하지 않을 수도 있다. 특히 접근을 막는 경우는 DB, 파일 저장소, 상태 저장 메소드 등이다. 마이크로서비스는 하나의 기능만을 갖고 있지 않다.잘 ..
특정 폴더 하위의 용량 체크 후 상위 3개를 뽑는 쉘 스크립트이다. #!/bin/sh BACK_SERVER_IP_LIST=("IP1" "IP2" "IP3" "IP4") FRONT_SERVER_IP_LIST=("IP1" "IP2" "IP3" "IP4") BACKEND='{' TOTAL='' # SERVER 당 du -sh 결과 (상위 3개) for value in "${BACK_SERVER_IP_LIST[@]}"; do tomcat7_DU=$(echo | sudo -S sshpass -p '' ssh ''@$value 'echo | sudo -S du -sh /usr/local/tomcat7/* 2>/dev/null | sort -hr | awk "NR >=0 && NR =0 && NR =0 && NR =..
데이터 가공 및 시각화 기능을 제공하는 오픈소스 BI 솔루션. 환경 - CentOS 8 설치 및 DB 마이그레이션 방법 Linux 에서 docker를 사용하여 설치 하는 방법이 있다. 리눅스에 docker 설치는 여기 docker 에 metabase 설치는 여기 docker compose 로 metabase 및 mysql 설치 방법 version: "3" services: db: image: mysql:8 # MySQL 5.7.7 이상만 가능 restart: always environment: - MYSQL_ROOT_PASSWORD= command: - --character-set-server=utf8mb4 - --collation-server=utf8mb4_unicode_ci ports: - 8080:..
Comment