누적합 확장해서 생각해보기 (feat. Imos)
·
알고리즘
최근 알고리즘을 풀다가 몰랐던 알고리즘 유형이 있어서 정리해보려고 한다!특정 구간이 중첩되는 횟수를 계산하는 문제였는데, 완탐으로 풀다가 시간초과가 발생했다 ㅠㅠ 이후로 찾아보다 누적합을 확장해서 풀 수 있다는 것을 알게 되었고, 정리해보려고 한다.  누적합 개념누적합이란 ?배열의 특정 구간의 합을 계산하기 위해, 배열 각 요소들을 누적 계산하고 저장한다.특정 구간의 합을 O(1) 시간 복잡도 안에 구할 수 있다.누적합의 구체적인 설명은 생략 // 누적합 활용해서 4~5 인덱스 합 구하기 예시 int[] arr = {1, 2, 3, 4, 5}; for(int i = 1; i  특정 구간 중첩 영역 구하기 (feat. imos)누적합을 활용하면 특정 구간에서 중첩되는 ..
아파치 로그 모니터링 시스템 구축하기 - Elasticsearch(ELK)
·
ELK
이전 글아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)아파치 로그 모니터링 시스템 구축하기 - Logstash filter (ELK) Elasticsearch란?분산 문서 저장소로,분산형 RESTful 검색 및 분석 엔진 역할하며, 데이터를 중앙에 저장하여 빠르고 쉽게 검색하고 분석할 수 있도록 한다.Elasticsearch DataElasticsearch는 JSON 문서로 직렬화된 데이터 구조를 저장한다. 클러스터에 여러 개의 Elasticsearch 노드가 있는 경우 , 저장된 문서는 클러스터 전체로 분산되어 있으며 어느 노드에서든 즉지 접근할 수 있다.문서가 저장..
아파치 로그 모니터링 시스템 구축하기 - Logstash (ELK)
·
ELK
이전 글아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)Logstash란?실시간 파이프라인 기능을 갖춘 오픈소스 데이터 수집 엔진이다. 수집한 데이터를 정제하고 저장소에 전달한다.로그스태시(Logstash) 이벤트 처리 파이프라인은 입력(input), 필터(filter), 출력(output)의 실행을 조율한다. Logstash 파이프라인의 각 입력 단계는 고유한 thread에서 실행된다. Input은 메모리 또는 디스크에 위치한 중앙큐에 이벤트를 기록한다. 각 파이프라인 worker thread는 이 큐에서 일괄 이벤트를 가져와 구성된 필터를 통해 이벤트 일괄 처리를 실행한 다음, 필터된 이벤트를 Output으로 전달한다. 파이프라인 ..
아파치 로그 모니터링 시스템 구축하기 - Logstash filter (ELK)
·
ELK
이전 글 참고아파치 로그 모니터링 시스템 구축하기 - 개요(ELK) 아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)현재 운영 중인 프로젝트 서버의 로그를 모니터링하고자 ELK 파이프라인을 구축했다. 그래서 서비스 ELK 파이프라인 구축하기 전, 시험 삼아 apache 로그 모니터링 시스템을 구축했던 과정을 블로gani-dev.tistory.com아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK) 아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)이전 글 참고 !아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)Filebeat이란?Elsastic 서비스인 Beats의 서비스 중 하나이며, 로그 데이터를 수집하고 전달하는 역할을 한다. Filebeat는 지정한 로그 파..
아파치 로그 모니터링 시스템 구축하기 - Filebeat(ELK)
·
ELK
이전 글 참고 !아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)Filebeat이란?Elsastic 서비스인 Beats의 서비스 중 하나이며, 로그 데이터를 수집하고 전달하는 역할을 한다. Filebeat는 지정한 로그 파일 또는 위치를 모니터링하여 로그 이벤트를 수집해 Elasticsearch 또는 Logstash로 전달한다.Filebeat이 작동하는 방법?Harvesters를 이용하여 로그를 읽고 libbeat를 이용하여 원하는 output으로 전달한다.Harvesters는 특정 로그 파일에서 새로운 내용을 읽고 수집한다. 각 Harvesters는 지정된 로그 파일을 모니터링하고 변경된 부분을 감지하여 변경된 내용(로그 데이터)를 libbeat으로 보낸다.libbeat은 이벤트를 집계하고, 원하..
아파치 로그 모니터링 시스템 구축하기 - 개요(ELK)
·
ELK
현재 운영 중인 프로젝트 서버의 로그를 모니터링하고자 ELK 파이프라인을 구축했다. 그래서 서비스 ELK 파이프라인 구축하기 전, 시험 삼아 apache 로그 모니터링 시스템을 구축했던 과정을 블로그에 우선 기록해 보려고 한다. 로그 모니터링 시스템을 구축하는 이유?현재 작은 서비스를 운영 중인데, 로그를 수집하여 어떤 버그와 장애가 발생하는지 확인하고자 구축했다. 또한 로그 모니터링 시스템을 구축하게 된다면, 원하는 로그들을 따로 수집하여 데이터 주도 서비스 운영에 도움이 되었으면 하는 마음으로 구축했다. ELK 이란?Elastic search + Logstash + Kibana의 약자로 Elastic Stack이며, Elastic Stack은 모든 유형의 데이터를 대규모로 수집, 분석, 검색 및 시각..
BastionHost를 이용한 EC2 SSH 접속
·
개발일지
1. BastionHost란? 보호된 네트워크에서 유일하게 외부에 노출되는 내외부 네트워크의 연결 호스트를 말한다. 즉 내부 네트워크의 문지기 역할과 같다. 내부 보호된 네트워크는 외부 네트워크와 연결될 수 없지만, 내부 네트워크와는 연결이 가능하다. BastionHost는 외부 네트워크와 연결 가능하게 만들어 내부 네트워크까지 연결할 수 있게 한다. 외부 네트워크 - Bastion Host - 내부 보호된 네트워크 2. BastionHost를 통해 EC2를 접속하게 된 계기 이번에 맡은 프로젝트의 AWS 환경을 구성하게 되었다. 그때 WAS 서버 보안을 위해 EC2를 Private Subnet에 위치하게 끔하였다. Private Subnet에 위치하게 된다면, 외부 네트워크를 받을 수 없게 되어 외부에..
[SQL 레벨업] 20강. 결합이 느리다면
·
BOOK/SQL 레벨업
20강 | 결합이 느리다면 정리 1. 상황에 따른 최적의 결합 알고리즘 알고리즘의 장단점 결합 대상 레코드 수의 관점에서 최적의 결합 알고리즘 정리 소규모 - 소규모 결합 대상 테이블이 작은 경우에는 어떤 알고리즘을 사용해도 성능 차이가 크지 않다. 소규모 - 대규모 소규모 테이블을 구동하는 Nested Loops를 사용합니다. 대규모 테이블의 결합키에 인덱스 있는 것이 중요, 내부 테이블의 결합 대상 레코드가 너무 많다면 구동 테이블과 내부 테이블을 변경 도는 hash를 사용해볼 것을 검토 대규모 - 대규모 hash를 사용, 결합 키로 정렬되어 있는 상태라면 Sort Merge를 사용 2. 실행 계획 제어 DBMS마다 실행 계획을 제어할 수 있다. 다만 MySQL은 결합 알고리즘 자체가 Nested L..