본문 바로가기

전체 글

(120)
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 ..
02. 엘라스틱서치 살펴보기 #실행 elasticsearch #설정파일 sudo find / -name elasticsearch.yml #위치 /opt/homebrew/etc/elasticsearch/elasticsearch.yml 2.1.1 기본 용어 인덱스 데이터 저장 공간이다. 하나의 인덱스는 하나의 타입만 가지며 하나의 물리적인 노드에 여러 개의 논리적인 인덱스를 생성할 수 있다. 분산 환경으로 구성하면 하나의 인덱스가 여러 노드에 분산 저장되어 관리된다. 엘라스틱 서치는 기본적으로 5개의 프라이머리 샤드와 1개의 샤드 세트를 생성한다. 인덱스 이름은 모두 소문자여야한다. 샤드 색인된 문서는 하나의 인덱스, 인덱스 내부에 색인된 데이터는 물리적인 공간에 여러 개의 파티션으로 나누어 구성되는데 이 파티션이 샤드이다. 문서 데이..
검색 시스템 이해하기 이번에 대학교 선배가 운영하는 앱의 검색 엔진 개발을 부탁받게되었다. 수목원 프로젝트에서도 검색 엔진을 우리 회사에서 개발했는데, 내 담당부분이 아니라서 직접적으로 다뤄볼 기회가 없었다. 프로젝트 개발도 해야하고 담당자분에 퇴사 예정에 있어 유지보수를 내가 할 예정이라 차근차근 공부해보려고 한다! Start! 1. 검색 시스템이란? 용어 정리 검색 엔진: 광활한 웹에서 정보를 수집해 검색 결과를 제공하는 프로그램, 검색 결과로 제공되는 데이터의 특성에 따라 구현 형태가 달라진다. 검색 시스템: 대용량 데이터를 기반으로 신뢰성 있는 검색 결과를 제공하기 위해 검색 엔진을 기반으로 구축된 시스템. 내부의 정책에 따라 관련도가 높은 문서를 검색 결과의 상위에 배치할 수 있다. 검색 서비스: 검색 결과를 서비스..
WAS란? 웹 서버 (WEB) 이란? 작성된 html 페이지 등을 네트워크망에 종속되지 않고, 웹 서비스를 할 수 있도록 하는 어플리케이션 1. 소프트웨어의 웹 서버: 웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고, HTML 문서와 같은 웹 페이지에서 흔히 찾아볼 수 있는 자료 콘텐츠에 따라 HTTP에 반응하는 컴퓨터 프로그램. 2. 하드웨어의 웹 서버: 위 기능을 제공하는 컴푸터 프로그램을 실행하는 컴퓨터 ex. Apache, Nginx 사용 목적: 정적인 데이터를 처리하는 서버이다. 이미지나 단순 html 파일과 같은 리소스를 제공하는 서버에 좋다. 웹 서버 (WAS, Web Applicatino Server) 란? 웹 서버 + 웹 컨테이너 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케..
시뮬레이션 문제 풀이 1. 공 (백준 1547번) 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net n=int(input()) array=[1,2,3] for i in range(n): ninput=list(map(int,input().split())) a=array.index(ninput[0]) b=array.index(ninput[1]) array[a], array[b] = array[b], array[a] print(array[0]) 2. 만취한 상범 (백준 6359번) https://www.acmicpc.net/probl..
커스텀 태그 1. 커스텀 태그란? 커스텀 태그는 개발자의 목적에 따라서 태그를 정의하고 해당 태그를 작동하게 해주는 확장기술이다. 커스텀태그는 UI에서 반복되는 내용을 한 번만 작성한 후 JSP 태그와 매핑한다. 이후 미리 정의된 내용이 필요할 때 JSP 페이지에서 태그만 선언하면 미리 정의된 내용을 실행할 수 있다. 클래스 기반 작성 방법과 태그 기반 작성 방법이 있다. ➡️ 장점) 재사용성 역할 분담: 화면 개발 시 화면을 만드는 부분과 데이터를 처리하는 부분을 구분하여 작업할 수 있다. 데이터를 처리하는 부분을 개발자가 커스텀 태그로 작성하여 처리하고, 디자이너들은 화면 구성에만 집중하여 작업한다. 2. 클래스 기반 커스텀 태그 TLD 파일 등록: TLD 파일에는 자바 클래스와 JSP 태그를 매핑한 정보가 있다..