목록분류 전체보기 (6)
기록하자
ELK란? ELK는 약어로 ElasticSearch, LogStash, Kibana의 조합을 말한다. 각각 서로 연동 되어 데이터 수집 및 분석을 진행합니다. ELK가 필요한 이유는 여러 대의 서버를 운영하면 각각 서버에 접속하여 로그를 확인하는 불편함이 가장 큰 이유인 것 같습니다. 로그를 한 곳으로 집중시키고 쿼리를 만들어 찾고자하는 데이터를 손쉽게 찾을 수 있으며 데이터로부터 인사이트를 얻을 수 있습니다. ELK 설명 LogStash Logstash는 수집할 로그를 선정한 후 ElasticSearch에 인덱싱 하여 전송하는 역할을 담당합니다. 또한 여러 소스의 데이터를 동시에 가져와서 변환 한 다음 ElasticSearch 서버에 보내는 일종의 데이터 처리 파이프라인입니다 ElasticSearch ..
개요 Spark를 사용할 때 메모리 구조를 잘 이해하는 것이 중요한데 그 이유는 아래와 같습니다. 1. 성능 최적화 : Spark의 메모리 구조를 이해하면, 데이터 셔플링, 캐싱, 연산에 필요한 메모리를 효율적 으로 할당할 수 있어 성능을 향상 시킬 수 있습니다. 2. 장애 예방 : 메모리 부족이나 시스템 과부하등 다양한 문제를 미리 인식하고 적절한 방법으로 해결할 수 있습 니다. 예를 들어, 'OutOfMemoryError' 같은 문제를 피하기 위해 메모리 설정을 조절할 수 있습니다. 3. 디버깅과 튜닝 : 애플리케이션에 문제가 발생했을 때, 메모리 구조를 잘 이해하고 있으면 문제의 원인을 더 빨리 찾고 해결할 수 있습니다. 예를 들어, 왜 데이터 셔플링이 느린지, 왜 특정 연산이 메모리를 많이 사용하..
기술 블로그를 보던 중 레거시 코드에 대해 새로운 기능 추가가 일어날때 어떻게 처리하는지를 봤다. 거기에 디자인패턴 Decoration Pattern 을 써서 한번 정리할 필요성을 느껴 정리 해본다 Decoration Pattern 이란 ? 기존 코드를 변경하지 않고 객체에 새로운 임무를 부여하는것이다. 이말은 자식 클래스를 만들어 기능을 유연하게 대응하기 위한 것이다.그래도 이해 안되면 예를 들어 보자! 요구사항이 많은 손님 예를들어 까페에 가서 손님이 아메리카노로 주세요! 라고 하면 데코레이션 패턴은 필요가 없어 보인다. 하지만 초콜렛칩 플랫치노로 주시고 휘팅크림 얹어 주시고 시럽 넣어 주시고 초코 드리즐 깔아주세요. 이 경우에는 추가 되는 기능이 많다. 이때 Decoration Pattern이 적절..
아파치 카프카란 ?LinkedIn에서 개발된 분산 메시징 시스템으로써 2011년에 오픈소스로 공개되었고, 대용량의 실시간 로그처리에 특화된 아키텍처 설계를 통하여 기존 메시징 시스템보다 우수한 TPS를 보여주고 있다 아파치 카프카 나오게 된 배경 문제점 ●시스템 설계가 매우 복잡하여 만약 앞단에서 수정 해야 할 일이 있을 경우 뒷단 까지 영향을 받을 수 있다.●유지보수가 어렵다. 아파치 카프카 아키텍쳐 ●위 처음 사진 보다 복잡성이 감소되고 유지보수 하기가 훨씬 쉬워졌다. 아파치 카프카 사용 이유 1. 일부 실패 시 전체에 영향을 받지 않는다2. 실패 할 경우 재실행 가능 하다3. 큐에 넣어 나중에 처리 할 수 있다.4.다수의 프로세스들이 큐에 메시지 보낼 수 있다.5. 어플리케이션 통계 집계를 낼 수 ..
Collection객체를 사용할때도 반복문이 편해서 반목문을 적었었다. 그런데 문득 드는 생각이 그러면 왜 iterator를 구현했을까라는 의구심이 들었다. Iterator를 쓰는 이유Iterator를 쓰게 되면 순차적 조회 방법을 숨길 수 있다. 또한 인덱스 순서도 조작할 수 있고 무엇보다 자바의 특징이 객체지향적이 기본적인 원칙인데 특징 중 하나가 캡슐화 이다. 최소한의 공용 메소드만 노출시키는 것이다.
비트 마스크란? 정수의 이진수 표현을 자료구조로 사용하는 기법이다. 비트마스크 용어비트가 켜져 있다 : 1비트가 꺼저 있다 : 0 비트마스크 장점(1)적은 메모리 사용(2)빠른 수행 시간 ●원소가 많으면 사용 할 수 없지만 원소가 작을때 매우 빠른 속도로 연산가능하다 비트연산자(1)A&B = AND연산(2)A|B = OR연산(3)A^B =XOR연산(4)~A = NOT연산(5)ab = 정수 a를 b비트 오른쪽 시프트 비트마스크 규칙 (1)AB == A/2^B이 규칙을 알 수 있다. 비트마스크 집합 예EX){1,2,3,6,8} -> 10100111(2) = 333 비트마스크 백준 11723 문제import java.io.BufferedReader; import java.io.IOException; impor..