본문 바로가기

Backend Study

(61)
[JAVA] 배열, 변수와 메서드 1. 배열의 선언 배열을 선언한다고 해서 저장할 공간이 생성되는 것이 아니라 배열을 다루는데 필요한 변수가 생성된다. /* 배열 선언 */ int[] score; /* 배열 생성 */ score = new int[5]; /* 합쳐서 사용 */ int[] score = new int[5]; 2. 변수의 종류 변수의 종류 선언 위치 생성시기 클래스변수 (static) 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스변수 클래스 영역 인스턴스 생성시 지역변수 (함수 안) 메서드 영역 변수 선언문 수행시 클래스 변수 - 같은 클래스의 모든 인스턴스들이 공유하는 변수 - 인스턴스 생성없이 '클래스이름.클래스변수명' 으로 접근 - 클래스가 로딩될 때 생성되고, 프로그램이 종료될 때 소멸 인스턴스 변수 - 인스턴스마..
[JAVA] 변수의 타입 1. 기본형과 참조형 자바에서 자료형은 실제 값을 저장하는 기본형과 값을 저장하고 있는 메모리 공간의 주소를 저장하는 참조형으로 나뉜다. 1. 1 기본형 1 2 4 8 논리형 boolean 문자형 char 정수형 byte short int long 실수형 float double 1.2 명명규칙 (권장사항) 1. 클래스 이름의 첫 글자는 항상 대문자로 한다. 변수와 메서드 이름은 첫글자를 소문자로 한다. 2. 여러 단어 이름은 단어의 첫 글자를 대문자로 한다. ex. lastIndexOf 3. 상수의 이름은 대문자로 한다. 단어는 '-'로 구분한다. ex. PI, MAX_NUMBER 1.3 상수, 리터럴 상수(constant): 한 번만 값을 저장할 수 있는 공간 ex. final int MAX_SPEED..
엘라스틱서치 키바나로 스냅샷 생성하기 1. elasticsearch.yml에 path.repo 속성을 설정한다. ex. path.repo: ["/search_example", "/agg_example"] 2. 스냅샷 레포지토리를 생성한다. repository는 실제 스냅샷이 저장되는 장소이다. PUT /_snapshot/search_example { "type": "fs", "settings": { "compress": true, "location": "/Users/kimkyuri/Documents/elasticsearch/elastic-book-snapshot-master/book_backup/search_example" } } 3. 스냅샷 생성하기 스냅샷이 있는지 확인하기 PUT /_snapshot/search_example/movie_..
4. 데이터 검색 엘라스틱서치는 인덱스에 저장된 문서를 검색할 수 있도록 다양한 검색 기능을 제공한다. 문서는 색인시 설정한 분석기에 의해 분석 과정을 거쳐 토큰으로 분리되는데, 이러한 분석기는 색인 시점에 사용할 수 있지만 검색 시점에 사용하는 것도 가능하다. 특정 문장이 검색어로 요청되면 분석기를 통해 분석된 토큰의 일치 여부를 판단해서 그 결과에 점수를 매긴다. 이를 기반으로 순서를 적용해 결과를 사용자에게 최종적으로 출력한다. 4.1 검색 API * 엘라스틱 서치는 색인 시점에 Analyzer를 통해 분석된 텀을 Term, 출현빈도, 문서번호와 같이 역색인 구조로 만들어 내부적으로 저장한다. 검색 시점에는 keyword 타입과 같은 분석이 불가능한 데이터와 Text 타입과 같은 분석이 가능한 데이터를 구분해서 분석..
3.4 엘라스틱서치 분석기 3.4.1 텍스트 분석 개요 POST _analyze { "analyzer" : "standard", "text" : "우리나라가 좋은나라, 대한민국 화이팅" } -> 결과로 우리나라 / 좋은나라 / 대한민국 / 화이팅 따로 나옴 3.4.2 역색인 구조 - 모든 문서가 가지는 단어의 고유 단어 목록 - 해당 단어가 어떤 문서에 속해있는지에 대한 정보 - 전체 문서에 각 단어가 몇 개 들어있는지에 대한 정보 - 하나의 문서에 단어가 몇 번씩 출현했는지에 대한 정보 * 색인한다는 것은 역색인 파일을 만든다는 것이다. 원문이 변경되는 것이 아니라 색인 파일에 들어갈 토큰만 변경되어 저장되고 실제 문서 내용은 변함없이 저장된다. 색인할 때 특정한 규칙과 흐름에 의해 텍스트를 변경하는 과정을 분석(analyze)..
3. 데이터 모델링 3.1 매핑 API 매핑이란? 색인 시 데이터가 어디에 어떻게 저장될지를 결정하는 설정. 인덱스에 추가되는 각 데이터 타입을 구체적으로 정의한다. 다음과 같은 사항을 고민해야한다. - 문자열을 분석할 것인가? - _source에 어떤 필드를 정의할 것인가? - 날짜 필드를 가지는 필드는 무엇인가? - 매핑에 정의되지않고 유입되는 필드는 어떻게 처리할 것인가? 인덱스 생성: PUT movie_search 매핑 확인: GET movie_search/_mapping 3.1 매핑 파라미터 analyzer: 해당 필드의 데이터를 형태소 분석하겠다. text 데이터 타입의 필드는 analyzer 매핑 파라미터를 기본적으로 사용한다. normalizer: keyword 데이터 타입의 경우 원문 기준으로 문서가 색인되..
다른 계정의 RDS 스냅샷으로 마이그레이션하기 산타 계정을 옮기면서 기존 rds를 새로운 계정의 rds로 데이터를 복사해야하는 상황이 생겼다! 이번에 스냅샷 기능을 이용해서 좀 더 편리하게 진행하고자 한다. 스냅샷이란? 스냅샷이란 특정 시점의 데이터 저장 장치 상태를 파일 이나 이미지로 저장 하는 것을 의미한다. 스냅샷을 생성하는건 인스턴스의 사진을 찍는다는것이라고 생각하면 되고 스냅샷 복원은 사진에 있는 정보로 그대로 똑같은 DB 인스턴스를 생성한다고 보면된다. AWS RDS에서는 자동 스냅샷, 수동 스냅샷을 지원하는데 이번에는 수동 스냅샷을 이용하였다. 스냅샷 생성 후 공유하기를 눌러 새로운 ID를 입력하면 새로운 계정에서 전달받은 걸 알 수 있다. 사본을 만들어서 복원하면 간단하게 마이그레이션을 완료할 수 있다 ! +.. 프리티어를 사용할 수 ..
AWS EC2에 서버 환경 구축 명령어 정리 (nginx, mysql, subdomain, https..) nginx 설치 sudo apt update sudo apt install nginx nginx -v # nginx 버전 확인 mysql 설치 sudo apt update sudo apt install mysql-server sudo mysql_secure_installation sudo mysql -u root -p index 파일 생성 projectName = 원하는 프로젝트 이름 ex. santa cd /var/www sudo mkdir -p projectName/html sudo chmod -R 755 /var/www/projectName/html sudo vi /var/www/projectName/html/index.html 서버 블록 생성 cd /etc/nginx/sites-available ..