전체 글 78

Elasticsearch 다운로드 및 실행

해당 문서에서는 ElasticSearch를 Linux VM에 설치하고 운영하는 기본적인 방법에 대한 내용을 포함합니다. 주로 다루는 내용은 아래와 같습니다. ElasticSearch 다운로드 및 압축 해제 :9200(http), :9300(tcp) 사용 포트 설명 bin/elasticsearch를 이용한 실행 config/elasticsearch.yml 설정 파일 설명 curl 명령을 통한 프로세스 실행 상태 확인 start.sh, stop.sh 시작&종료 스크립트 파일 만들기 * wget 설치 sudo yum install wget * elasticsearch 다운로드 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.1..

Etc. 2024.01.27

Mac 터미널 VM 접근 설정 저장

ssh -i (pem-path) (id)@(ip) ppk -> pem 변환 (필요시) puttygen 원본.ppk -O private-openssh -o 사본.pem 파일 읽기/쓰기 권한 부여 chmod 600 key-file-name cp "pem 파일 경로" ~/.ssh/ vi ~/.ssh/config 아래와 같이 편집기에 입력 Host 서버 닉네임 (ex.test-server) HostName ec2의 IP 주소 User 사용자 계정 (ex. ubuntu 또는 ec2-user) IdentityFile ~/.ssh/"pem 파일 이름".pem 저장 후 나가기 :wq 저장된 VM 정보를 이용해 VM에 ssh 연결 ssh 저장한 서버 닉네임 (ex. ssh test-server)

Mac OS 2024.01.27

자주 사용하는 리눅스 명령어 - 2

Tab 키 : 자동 완성 ls {-옵션} -a : 히든 파일 -l : 파일 상세 정보 -h : 파일 용량을 보기 편하게 단위 변경 -t : 파일 생성된 날짜 순으로 정렬 -r : 반대 순서로 보기 cd {-옵션} ./ : 현재 위치 기준 ../ : 한단계 상위 위치 / : 루트 디렉토리 ~/ : 홈 디렉토리 pwd : 현재 위치 확인 cp {-옵션} (복사할 파일) (새 파일) : 파일 복사 -rf : 디렉토리를 대상으로 하위 내용 전체 포함 복사 rm {-옵션} (파일 또는 디렉토리) : 파일 삭제 -rf : 디렉토리를 대상으로 하위 내용 전체 삭제 mv (이동할 파일 또는 디렉토리) (새 경로 또는 이름) : 파일 이동 또는 이름 변경 mkdir (디렉토리명) : 새로운 디렉토리 생성 wget (UR..

Linux 2024.01.27

자주 사용하는 리눅스 명령어 - 1

ssh ssh root@10.0.10.90 scp scp /home/local/a.txt remote@myserver.com:/home/remote scp -P 9999 /home/local/a.txt remote@myserver.com:/home/remote scp -P 9999 -r /home/local remote@myserver.com:/home/remote rm rm * rm -f 파일명 rm -r 디렉토리명 rm -rf 디렉토리명 rm -rf * mv mv test.txt new_folder mv test.txt /root/folder linux 전체 파일 복사 sudo cp -r * /root/app/auton-wage-react/react/build/ sudo cp -r * /root/ap..

Linux 2024.01.27

(Python) 알아두면 좋은 점

1. 실수형 a = 5. -> 5.0 b = -.7 -> -0.7 2. 2진수 소수 연산 2진수에서는 0.9를 정확히 표현할 방법이 없다. 0.3 + 0.6은 0.89999999..로 저장된다. 이런 경우 round()를 사용한다. 흔히 코딩 테스트 문제에서는 소수점 다섯번째 자리에서 반올림한 결과가 같으면 정답으로 인정하는 식으로 처리한다. a = 0.3 + 0.6 print(round(a, 4)) 3. 수 자료형 연산 print(a / b) # 나누기 print(a % b) # 나머지 print(a // b) # 몫 print(a ** b) # 제곱 4. 리스트 * 선언 a = list() a = [] * 크기가 N이고, 모든 값이 0인 1차원 리스트 초기화 n = 10 a = [0] * n -> [..

Algorithm 2024.01.27

[GCP] Vision API Product Search를 이용한 유사 상품&컨텐츠 검색 기능 개발

GCP Vision API와 Vertax AI를 이용하여 유사 이미지 검색 기능을 개발하게 되었습니다. 그 중 개발된 기능 소개와 GCP Vision API Product Search를 빠르게 이용해볼 수 있는 방법을 소개합니다. 해당 기술을 이용할 경우 사용자가 업로드한 패션 이미지와 유사한 상품이나 컨텐츠를 score에 따라 추천할 수 있습니다. 빠른 시작 GCP의 Vision API 중 Product Search를 이용해 유사 상품 검색 기능을 개발하면서 GCP Console에서 사용한 터미널 명령어를 정리해본다. 1. 먼저 일괄 등록할 csv 파일을 GCS에 등록한다. csv 파일은 image_url, image_id, product_set_id, product_id, category, produ..

기능 구현 2024.01.27

[Infra] Container 개념

### 예시 : 웹 애플리케이션 호스팅 #### 컨테이너 설정 : **Node.js 앱 1** : 회원가입, 사용자 인증을 관리하는 웹 서비스이며, 사용자 데이터를 관리하는 데이터베이스와 통신한다. **Node.js 앱 2** : 앱 1과 독립적으로 작동하는 상태 관리 및 메시징 서비스를 제공할 수 있다. 예를 들어, 실시간으로 사용자 간 메시지를 교환하는 기능을 담당할 수 있다. #### 실행 흐름 : 1. **프로세스 격리** : 앱 1과 앱 2는 각각 독립적인 프로세스로 실행된다. 이는 두 애플리케이션이 서로의 작업에 영향을 주지 않는다는 것을 의미한다. 2. **리눅스 커널** : 컨테이너는 호스트 시스템의 리눅스 커널과 동일한 커널을 공유하지만, 각기 다른 네임스페이스와 cgroups를 사용하여..

Infra & AWS 2024.01.27

(Java) PCCP 기출문제 1번 / 붕대감기

https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class Solution { public int solution(int[] bandage, int health, int[][] attacks) { int castingTime = bandage[0]; int healthPerSecond = bandage[1]; int additionalHealth = bandage[2]; int endTime = attacks[attacks.length - 1..

Algorithm 2024.01.27

[Test] MockBean을 통한 테스트

@MockBean private JavaMailSender mailSender; ... BDDMockito.doNothing().when(mailSender).send(any(SimpleMailMessage.class)); mailSender의 send 메서드가 SimpleMailMessage 유형의 인자로 호출될 때 아무런 행동도 수행하지 않아야 함을 명시한다. 다시 말해서, 테스트 중에는 실제 이메일 전송과 같은 로직이 실제 동작되어 발생하는 부작용을 피하기 위해 send 메서드 호출을 무시하도록 설정한다.

Java & Spring Boot 2024.01.27