TIL💡(277)
-
[백준] 햄버거 분배
https://www.acmicpc.net/problem/19941 19941번: 햄버거 분배 기다란 벤치 모양의 식탁에 사람들과 햄버거가 아래와 같이 단위 간격으로 놓여 있다. 사람들은 자신의 위치에서 거리가 $K$ 이하인 햄버거를 먹을 수 있다. 햄버거 사람 햄버거 사람 햄버거 사 www.acmicpc.net 전형적인 그리디 문제이다. 처음에 문제를 이해하지 않고 풀려고 한다면 사람에 대해 햄버거를 매칭하며 브루트 포스 식으로 최대 매칭 값을 구하려고 할 것이다. 하지만 조금만 더 고민해보면 만약 어떤 사람에 대해 K 범위 내의 매칭될 수 있는 햄버거가 여러 개라면 최대한 현재 진행 중인 방향의 역에 있고(예를 들어 오른쪽으로 사람을 매칭해나가면 최대한 왼쪽에 있는 햄버거를 매칭해주기)는 햄버거를 매..
2022.11.19 -
Spring 학습 자료 링크
카카오 면접을 앞두고 아무래도 부족한 스프링 개념을 학습하기 위해 급하게 서치를 했다. 그런데 그동안 이해가 어려웠던 내용을 깔끔하게 정리해둔 사이트를 발견했다! https://melonicedlatte.com/2021/07/11/174700.html 스프링(Spring), 스프링 부트(Spring Boot)란? 개념 정리 - Easy is Perfect melonicedlatte.com
2022.11.14 -
[Elastic Stack] 키바나
인덱스 패턴 키바나에서 시각화를 하기 위해서는 반드시 엘라스틱 서치 인덱스에 연결되어야만 한다. 키바나는 데이터 소스를 엘라스틱서치 인덱스에서 가져오는데 이를 인덱스 패턴(index patterns)라고 한다. 키바나에서는 인덱스패턴을 통해서만 엘라스틱서치 인덱스에 접근할 수 있다. 키바나는 엘라스틱서치 인덱스가 아니라 키바나 인덱스 패턴을 데이터 소스로 인식하기 때문이다. 인덱스 패턴이 있으면 키바나 데이터 탐색과 시각화가 가능하다.
2022.11.09 -
[Elastic Stack] 로그 스태시
로그 활용을 위해 로그를 수집하는 쪽에서 로그 형태를 분석하고 시스템에서 인식할 수 있도록 로그를 정제하는 작업이 필요한데, 로그스태시는 이 과정을 쉽고 편하게 할 수 있도록 지원한다. 어떤 형태의 로그에 대해서도 로그를 수집 - 가공 - 전송하는 일련의 과정을 간편하게 구현하기 위한 강력한 기능까지 제공한다. 로그 스태시 특징 플러그인 기반 로그 스태시의 파이프라인을 구성하는 각 요소들은 전부 플러그인 형태로 만들어져 있다. 모든 형태의 데이터 처리 대다수의 데이터 소스에서 JSON, XML 등의 구조화된 텍스트뿐만 아니라 다양한 형태의 데이터를 입력받아 가공한 다음에 저장할 수 있다. 특히 이벤트 데이터, 즉 시간에 따라 발생하는 데이터를 처리하는 데 최적화되어 있다. 성능 자체적으로 내장되어 있는 ..
2022.11.08 -
[Elastic Stack] 쿼리
엘라스틱 서치는 검색을 위해 쿼리를 지원하는데, 크게 리프 쿼리와 복합 쿼리로 나눌 수 있다. 리프 쿼리는 특정 필드에서 용어를 찾는 쿼리로, 매치, 용어, 범위 쿼리 등이 있다. 반면 복합 쿼리는 쿼리를 조합해 사용되는 쿼리로, 대표적으로 논리 쿼리 등이 있다. 리프 쿼리 중에는 Full Text Query와 Term Level Query를 살펴본다. Full Text Query와 Term Level Query Full Text Query는 전문 검색을 하기 위해 사용되며, 전문 검색을 할 필드는 인덱스 매핑 시 텍스트 타입으로 매핑해야 한다. GET qindex/_search { "query": { "match": { "contents": "elastic world" } } } 반면 Term Leve..
2022.11.06 -
[Elastic Search] 매핑
관계형 데이터베이스는 테이블을 만들 때 반드시 스키마 설계가 필요하다. 여기서 말하는 스키마는 테이블을 구성하는 구성 요소 간의 논리적인 관계와 정의를 의미한다. 구조를 명확히 하지 않고는 테이블이 생성되지 않고, 추후에 인덱싱 칼럼이나 조인 칼럼 등에서도 문제가 발생하기 때문이다. 쉽게 말하면 JSON 형태의 데이터를 루씬이 이해할 수 있도록 바꿔주는 작어빙다. 엘라스틱서치가 검색 엔진으로 전문 검색과 대용량 데이터를 빠르게 실시간 검색할 수 있는 이유는 매핑이 있기 때문인데, 매핑을 엘라스틱 서치가 자동으로 하면 다이내믹 매핑, 사용자가 직접 설정하면 명시적 매핑이다. 텍스트 데이터 타입 비교 text: 전문 검색이 필요한 데이터로 텍스트 분석기가 텍스트를 작은 단위로 분리 keyword: 정렬이나 ..
2022.11.05